(command.CommandList
  children: [
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<generate>} {<getconf>} {<and>} {<limits>} {<info>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: 
        (case_arg.Word
          w: {($ Id.VSub_Hyphen -) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName BASH_VERSION)}
        )
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: 
            (pat.Words
              words: [
                {<Id.Lit_Star '*'> <x> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> 
                  <0123456789> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                }
              ]
            )
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <Id.Lit_Colon ':'>
                  more_env: []
                  words: [
                    {<Id.Lit_Colon ':'>}
                    {<bash>}
                    {<set>}
                    {<-x>}
                    {<is>}
                    {<broken>}
                    {<Id.Lit_Colon ':'>}
                  ]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {<Id.Lit_Other '+'> <ex>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LC_ALL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LC_ALL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LC_ALL='> name:LC_ALL)
          op: assign_op.Equal
          rhs: {<C>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<LC_ALL>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'command='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'command='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command)
          op: assign_op.Equal
          rhs: {<conf>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'shell='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'shell='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'shell='> name:shell)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    blame_tok: <eval>
                    more_env: []
                    words: [{<eval>} {(SQ <'x=123&&integer n=${#x}${x#1?}&&((n==330/(10)))&&echo ksh'>)}]
                    redirects: [
                      (Redir
                        op: <Id.Redir_Great '2>'>
                        loc: (redir_loc.Fd fd:2)
                        arg: {<'/dev/null'>}
                      )
                    ]
                    do_fork: T
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'append='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'append='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'append='> name:append)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'debug='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'debug='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'debug='> name:debug)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'extra='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'extra='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extra='> name:extra)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'keep_call='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'keep_call='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keep_call='> name:keep_call)
          op: assign_op.Equal
          rhs: {(SQ <'*'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'keep_name='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'keep_name='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keep_name='> name:keep_name)
          op: assign_op.Equal
          rhs: {(SQ <'*'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'trace='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'trace='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'trace='> name:trace)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'verbose='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'verbose='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'verbose='> name:verbose)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <-a>
                  pattern: (pat.Words words:[{<-a>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'append='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'append='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'append='> name:append)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-c>
                  pattern: (pat.Words words:[{<-c> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'keep_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'keep_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keep_call='> name:keep_call)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Number 1>
                                var_name: 1
                                suffix_op: 
                                  (suffix_op.Unary
                                    op: <Id.VOp1_Pound '#'>
                                    arg_word: {<-> <Id.Lit_Other '?'>}
                                  )
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-d>
                  pattern: (pat.Words words:[{<-d> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'debug='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'debug='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'debug='> name:debug)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_Number 1)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-l>
                  pattern: (pat.Words words:[{<-l>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'extra='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'extra='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'extra='> name:extra)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-n>
                  pattern: (pat.Words words:[{<-n> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'keep_name='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'keep_name='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keep_name='> name:keep_name)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Number 1>
                                var_name: 1
                                suffix_op: 
                                  (suffix_op.Unary
                                    op: <Id.VOp1_Pound '#'>
                                    arg_word: {<-> <Id.Lit_Other '?'>}
                                  )
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-t>
                  pattern: (pat.Words words:[{<-t>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'trace='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'trace='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'trace='> name:trace)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <-v>
                  pattern: (pat.Words words:[{<-v>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'verbose='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'verbose='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'verbose='> name:verbose)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <->
                  pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'Usage: '> ($ Id.VSub_DollarName command) 
                                <
' [-a] [-ccall-pattern] [-dN] [-l] [-nname_pattern] [-t] [-v] conf.tab'
                                >
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<2>}
                            )
                          ]
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<2>}
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'head='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'head='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'head='> name:head)
          op: assign_op.Equal
          rhs: {(SQ <'#include "FEATURE/standards"\n'> <'#include "FEATURE/common"'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'tail='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'tail='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tail='> name:tail)
          op: assign_op.Equal
          rhs: {(SQ <'#include "FEATURE/param"'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'generated='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'generated='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'generated='> name:generated)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'/* : : generated by '> ($ Id.VSub_DollarName command) <' from '> 
                ($ Id.VSub_Number 1) <' : : */'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'hdr='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'hdr='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hdr='> name:hdr)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ifs='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ifs='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ifs='> name:ifs)
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name IFS>
                var_name: IFS
                suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(SQ <'\n'> <'\t '>)})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'nl='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'nl='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nl='> name:nl)
          op: assign_op.Equal
          rhs: {(SQ <'\n'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'sp='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'sp='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sp='> name:sp)
          op: assign_op.Equal
          rhs: {(SQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ob='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ob='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ob='> name:ob)
          op: assign_op.Equal
          rhs: {(SQ <'{'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'cb='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'cb='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cb='> name:cb)
          op: assign_op.Equal
          rhs: {(SQ <'}'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'sym='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'sym='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sym='> name:sym)
          op: assign_op.Equal
          rhs: 
            {<Id.Lit_LBracket '['> <ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_> 
              <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'tmp='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'tmp='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp='> name:tmp)
          op: assign_op.Equal
          rhs: {<conf.tmp>}
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: 
        (case_arg.Word
          w: 
            {($ Id.VSub_DollarName verbose) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName debug) 
              ($ Id.VSub_DollarName trace)
            }
        )
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName command) <': debug='> ($ Id.VSub_DollarName debug) 
                    <' trace='> ($ Id.VSub_DollarName trace) <' keep_call='> ($ Id.VSub_DollarName keep_call) <' keep_name='> 
                    ($ Id.VSub_DollarName keep_name)
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName trace)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'PS4='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'PS4='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PS4='> name:PS4)
                      op: assign_op.Equal
                      rhs: {(SQ <'+$LINENO+ '>)}
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {<-x>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <0>
          pattern: (pat.Words words:[{<0>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName extra)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <0>
                  pattern: (pat.Words words:[{<0>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ ($ Id.VSub_DollarName command) <': table argument expected'>)}
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'tab='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'tab='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tab='> name:tab)
                  op: assign_op.Equal
                  rhs: {<'/dev/null'>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'tab='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'tab='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tab='> name:tab)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName tab)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName command) <': '> ($ Id.VSub_DollarName tab) 
                            <': cannot read'>
                          )
                        }
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [517 528]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <0>
          pattern: (pat.Words words:[{<0>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'cc='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'cc='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc)
                  op: assign_op.Equal
                  rhs: {<cc>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'cc='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'cc='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Star '*')}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <rm>
      more_env: []
      words: [{<rm>} {<-f>} {($ Id.VSub_DollarName tmp) <.> <Id.Lit_Star '*'>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Left_SingleQuote '\''>
          pattern: (pat.Words words:[{(SQ )}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <trap>
              more_env: []
              words: [
                {<trap>}
                {
                  (DQ <'code='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') 
                    <'?; rm -f '> ($ Id.VSub_DollarName tmp) <'.*; exit '> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\$'>
                      ch: '$'
                    ) <code>
                  )
                }
                {<0>}
                {<1>}
                {<2>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.c>}
        )
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<Id.KW_Bang '!'>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                (${ Id.VSub_Name head)
                <'\n'>
                <'int\n'>
                <'main()\n'>
                <'{\n'>
                <'#if _ast_intmax_long\n'>
                <'\treturn 1;\n'>
                <'#else\n'>
                <'\treturn 0;\n'>
                <'#endif\n'>
                <'}\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.AndOr
                  children: [
                    (command.Simple
                      blame_tok: <Id.VSub_DollarName '$cc'>
                      more_env: []
                      words: [
                        {($ Id.VSub_DollarName cc)}
                        {<-o>}
                        {($ Id.VSub_DollarName tmp) <.exe>}
                        {($ Id.VSub_DollarName tmp) <.c>}
                      ]
                      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>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <'./'>
                      more_env: []
                      words: [{<'./'> ($ Id.VSub_DollarName tmp) <.exe>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_DAmp _>]
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'LL_format='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'LL_format='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LL_format='> name:LL_format)
                  op: assign_op.Equal
                  rhs: {(SQ <ll>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [650 674]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'LL_format='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'LL_format='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LL_format='> name:LL_format)
              op: assign_op.Equal
              rhs: {(SQ <l>)}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.c>}
        )
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<Id.KW_Bang '!'>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                (${ Id.VSub_Name head)
                <'\n'>
                <'int\n'>
                <'main()\n'>
                <'{\n'>
                <'#if _ast_intmax_long\n'>
                <'\treturn 1;\n'>
                <'#else\n'>
                <'\t_ast_intmax_t\t\ts = 0x7fffffffffffffffLL;\n'>
                <'\tunsigned _ast_intmax_t\tu = 0xffffffffffffffffLL;\n'>
                <'\n'>
                <'\treturn 0;\n'>
                <'#endif\n'>
                <'}\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <Id.VSub_DollarName '$cc'>
                  more_env: []
                  words: [
                    {($ Id.VSub_DollarName cc)}
                    {<-o>}
                    {($ Id.VSub_DollarName tmp) <.exe>}
                    {($ Id.VSub_DollarName tmp) <.c>}
                  ]
                  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>}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <'./'>
                          more_env: []
                          words: [{<'./'> ($ Id.VSub_DollarName tmp) <.exe>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'LL_suffix='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'LL_suffix='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LL_suffix='> name:LL_suffix)
                          op: assign_op.Equal
                          rhs: {(SQ <LL>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [743 750]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'LL_suffix='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'LL_suffix='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LL_suffix='> name:LL_suffix)
                      op: assign_op.Equal
                      rhs: {(SQ <L>)}
                    )
                  ]
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          spids: [723 741]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'LL_suffix='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'LL_suffix='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LL_suffix='> name:LL_suffix)
              op: assign_op.Equal
              rhs: {(SQ )}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.c>}
        )
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<Id.KW_Bang '!'>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                (${ Id.VSub_Name head)
                <'\n'>
                <'int\n'>
                <'main()\n'>
                <'{\n'>
                <'\tunsigned int\tu = 1U;\n'>
                <'\tunsigned int\tul = 1UL;\n'>
                <'\n'>
                <'\treturn 0;\n'>
                <'}\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <Id.VSub_DollarName '$cc'>
                  more_env: []
                  words: [
                    {($ Id.VSub_DollarName cc)}
                    {<-o>}
                    {($ Id.VSub_DollarName tmp) <.exe>}
                    {($ Id.VSub_DollarName tmp) <.c>}
                  ]
                  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>}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'U_suffix='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'U_suffix='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'U_suffix='> name:U_suffix)
                  op: assign_op.Equal
                  rhs: {(SQ <U>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [801 819]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'U_suffix='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'U_suffix='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'U_suffix='> name:U_suffix)
              op: assign_op.Equal
              rhs: {(SQ )}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'keys='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'keys='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keys='> name:keys)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'standards='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'standards='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standards='> name:standards)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName append) ($ Id.VSub_DollarName extra)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <00>
          pattern: (pat.Words words:[{<00>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: (pat.Words words:[{<1>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ ($ Id.VSub_DollarName command) <': read '> ($ Id.VSub_DollarName tab))}
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <exec>
              more_env: []
              words: [{<exec>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {($ Id.VSub_DollarName tab)}
                )
              ]
              do_fork: T
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Simple
                      blame_tok: <Id.Lit_Colon ':'>
                      more_env: []
                      words: [{<Id.Lit_Colon ':'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'IFS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'IFS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <read>
                      more_env: []
                      words: [{<read>} {<line>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'eof='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'eof='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'eof='> name:eof)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'IFS='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'IFS='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ifs)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName eof)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <0>
                          pattern: (pat.Words words:[{<0>}])
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName line)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Left_DoubleQuote '"'>
                          pattern: 
                            (pat.Words
                              words: [
                                {(DQ )}
                                {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\#'> ch:'#') 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <set>
                              more_env: []
                              words: [{<set>} {<x>} {($ Id.VSub_DollarName line)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <shift>
                                  more_env: []
                                  words: [{<shift>}]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <shift>
                                  more_env: []
                                  words: [{<shift>}]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'standard='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'standard='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'standard='>
                                      name: standard
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <shift>
                                  more_env: []
                                  words: [{<shift>}]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'call='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'call='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'call='> name:call)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <shift>
                                  more_env: []
                                  words: [{<shift>}]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'section='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'section='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'section='>
                                      name: section
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <shift>
                                  more_env: []
                                  words: [{<shift>}]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'flags='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'flags='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags='> name:flags)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'alternates='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'alternates='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'alternates='>
                                      name: alternates
                                    )
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'define='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'define='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'define='> name:define)
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'values='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'values='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'values='> name:values)
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'script='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'script='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'script='> name:script)
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'headers='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'headers='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'headers='>
                                      name: headers
                                    )
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                            (command.WhileUntil
                              keyword: <Id.KW_While while>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Simple
                                      blame_tok: <Id.Lit_Colon ':'>
                                      more_env: []
                                      words: [{<Id.Lit_Colon ':'>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.Simple
                                      blame_tok: <shift>
                                      more_env: []
                                      words: [{<shift>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <0>
                                          pattern: (pat.Words words:[{<0>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ControlFlow
                                              keyword: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Left_DoubleQuote '"'>
                                          pattern: (pat.Words words:[{(DQ <':'>)}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <shift>
                                              more_env: []
                                              words: [{<shift>}]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'script='> (SQ <'$'>) <script_> 
                                                  ($ Id.VSub_Number 1)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.ControlFlow
                                              keyword: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> (DQ <'{'>)}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Left_DoubleQuote '"'>
                                                  pattern: (pat.Words words:[{(DQ <'sh{'>)}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'script='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'script='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'script='>
                                                              name: script
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {(DQ <'# '> ($ Id.VSub_DollarName name))}
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'script='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'script='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'script='>
                                                              name: script
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: (rhs_word__Empty)
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Simple
                                              blame_tok: <shift>
                                              more_env: []
                                              words: [{<shift>}]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'args='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'args='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'args='>
                                                      name: args
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_Star '*'))}
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'IFS='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'IFS='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'IFS='>
                                                      name: IFS
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(DQ )}
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.WhileUntil
                                              keyword: <Id.KW_While while>
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Simple
                                                      blame_tok: <read>
                                                      more_env: []
                                                      words: [{<read>} {<line>}]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              body: 
                                                (command.DoGroup
                                                  left: <Id.KW_Do do>
                                                  children: [
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName line)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <Id.Left_DoubleQuote '"'>
                                                          pattern: (pat.Words words:[{(DQ <'}'>)}])
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ControlFlow
                                                              keyword: <Id.ControlFlow_Break break>
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'script='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'script='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'script='>
                                                              name: script
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {($ Id.VSub_DollarName script) 
                                                              ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName line)
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.KW_Done done>
                                                )
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'IFS='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'IFS='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'IFS='>
                                                      name: IFS
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName ifs)}
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              keyword: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <.h>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {($ Id.VSub_DollarName shell)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <ksh>
                                                  pattern: (pat.Words words:[{<ksh>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'f='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'f='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'f='>
                                                              name: f
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (BracedVarSub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: <Id.VSub_Number 1>
                                                                var_name: 1
                                                                suffix_op: 
                                                                  (suffix_op.Unary
                                                                    op: <Id.VOp1_Percent '%'>
                                                                    arg_word: {<.h>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'f='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'f='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'f='>
                                                              name: f
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (CommandSub
                                                                left_token: <Id.Left_Backtick '`'>
                                                                child: 
                                                                  (command.Pipeline
                                                                    children: [
                                                                      (command.Simple
                                                                        blame_tok: <echo>
                                                                        more_env: []
                                                                        words: [
                                                                          {<echo>}
                                                                          {($ Id.VSub_Number 1)}
                                                                        ]
                                                                        redirects: []
                                                                        do_fork: T
                                                                      )
                                                                      (command.Simple
                                                                        blame_tok: <sed>
                                                                        more_env: []
                                                                        words: [
                                                                          {<sed>}
                                                                          {(SQ <'s,\\.h$,,'>)}
                                                                        ]
                                                                        redirects: []
                                                                        do_fork: T
                                                                      )
                                                                    ]
                                                                    ops: [<Id.Op_Pipe _>]
                                                                  )
                                                                right: <Id.Backtick_Right '`'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {(DQ <' '> ($ Id.VSub_DollarName hdr) <' '>)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [
                                                        {<Id.Lit_Star '*'> 
                                                          (DQ <' '> ($ Id.VSub_DollarName f) <' '>) <Id.Lit_Star '*'>
                                                        }
                                                      ]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'headers='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'headers='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'headers='>
                                                              name: headers
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {($ Id.VSub_DollarName headers) 
                                                              ($ Id.VSub_DollarName nl) <Id.Lit_Pound '#'> <include> ($ Id.VSub_DollarName sp) (SQ <'<'>) ($ Id.VSub_Number 1) (SQ <'>'>)
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [
                                                        {<Id.Lit_Star '*'> 
                                                          (DQ <' -'> ($ Id.VSub_DollarName f) <'- '>) <Id.Lit_Star '*'>
                                                        }
                                                      ]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: []
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.If
                                                      if_kw: <Id.KW_If if>
                                                      arms: [
                                                        (IfArm
                                                          keyword: <Id.KW_If if>
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Pipeline
                                                                  children: [
                                                                    (command.Simple
                                                                      blame_tok: <iffe>
                                                                      more_env: []
                                                                      words: [
                                                                        {<iffe>}
                                                                        {<-n>}
                                                                        {<->}
                                                                        {<hdr>}
                                                                        {($ Id.VSub_DollarName f)}
                                                                      ]
                                                                      redirects: []
                                                                      do_fork: T
                                                                    )
                                                                    (command.Simple
                                                                      blame_tok: <grep>
                                                                      more_env: []
                                                                      words: [
                                                                        {<grep>}
                                                                        {<_hdr_> 
                                                                          ($ Id.VSub_DollarName f)
                                                                        }
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op: <Id.Redir_Great '>'>
                                                                          loc: (redir_loc.Fd fd:1)
                                                                          arg: {<'/dev/null'>}
                                                                        )
                                                                      ]
                                                                      do_fork: T
                                                                    )
                                                                  ]
                                                                  ops: [<Id.Op_Pipe _>]
                                                                )
                                                              ]
                                                            )
                                                          then_kw: <Id.KW_Then then>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'hdr='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'hdr='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'hdr='>
                                                                      name: hdr
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ Id.VSub_DollarName hdr) 
                                                                        <' '> ($ Id.VSub_DollarName f)
                                                                      )
                                                                    }
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'headers='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'headers='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: 
                                                                        <Id.Lit_VarLike 'headers='>
                                                                      name: headers
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {($ Id.VSub_DollarName headers) 
                                                                      ($ Id.VSub_DollarName nl) <Id.Lit_Pound '#'> <include> ($ Id.VSub_DollarName sp) (SQ <'<'>) ($ Id.VSub_Number 1) (SQ <'>'>)
                                                                    }
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          spids: [1280 1303]
                                                        )
                                                      ]
                                                      else_kw: <Id.KW_Else else>
                                                      else_action: [
                                                        (command.ShAssignment
                                                          left: <Id.Lit_VarLike 'hdr='>
                                                          pairs: [
                                                            (AssignPair
                                                              left: <Id.Lit_VarLike 'hdr='>
                                                              lhs: 
                                                                (sh_lhs_expr.Name
                                                                  left: <Id.Lit_VarLike 'hdr='>
                                                                  name: hdr
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ Id.VSub_DollarName hdr) 
                                                                    <' -'> ($ Id.VSub_DollarName f) <->
                                                                  )
                                                                }
                                                            )
                                                          ]
                                                          redirects: []
                                                        )
                                                      ]
                                                      fi_kw: <Id.KW_Fi fi>
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'values='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'values='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'values='>
                                                      name: values
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {($ Id.VSub_DollarName values) 
                                                      ($ Id.VSub_DollarName sp) ($ Id.VSub_Number 1)
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.VSub_DollarName '$sym'>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [{($ Id.VSub_DollarName sym)}]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <echo>
                                                      more_env: []
                                                      words: [{<echo>} {(DQ ($ Id.VSub_Number 1))}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName tmp) <.v>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: 
                                (case_arg.Word
                                  w: {(DQ <' '> ($ Id.VSub_DollarName standards) <' '>)}
                                )
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [
                                        {<Id.Lit_Star '*'> 
                                          (DQ <' '> ($ Id.VSub_DollarName standard) <' '>) <Id.Lit_Star '*'>
                                        }
                                      ]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: []
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'standards='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'standards='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'standards='>
                                              name: standards
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName standards) <' '> 
                                                ($ Id.VSub_DollarName standard)
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: 
                                (case_arg.Word
                                  w: 
                                    {($ Id.VSub_DollarName name) <Id.Lit_Colon ':'> 
                                      ($ Id.VSub_DollarName flags)
                                    }
                                )
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [
                                        {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <S> 
                                          <Id.Lit_Star '*'>
                                        }
                                      ]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: []
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <VERSION>
                                  pattern: (pat.Words words:[{<VERSION>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'flags='>
                                              name: flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ (${ Id.VSub_Name flags) <S>)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_Star '*'> <VERSION> <Id.Lit_Star '*'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'key='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'key='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'key='>
                                              name: key
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name standard) (${ Id.VSub_Name section)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'key='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'key='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'key='>
                                              name: key
                                            )
                                          op: assign_op.Equal
                                          rhs: (rhs_word__Empty)
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName key)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Left_SingleQuote '\''>
                                  pattern: 
                                    (pat.Words
                                      words: [{(SQ )} {<Id.Lit_Star '*'> <Id.Lit_Underscore _>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'key='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'key='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'key='>
                                              name: key
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name key) (${ Id.VSub_Name name)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'key='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'key='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'key='>
                                              name: key
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {(${ Id.VSub_Name key) <Id.Lit_Underscore _> 
                                              (${ Id.VSub_Name name)
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'sys='> (SQ <'$'>) <CONF_call_> (${ Id.VSub_Name key)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName sys)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'call='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'call='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'call='>
                                              name: call
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName sys)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <SI>
                                  pattern: (pat.Words words:[{<SI>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sys='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sys='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sys='>
                                              name: sys
                                            )
                                          op: assign_op.Equal
                                          rhs: {<CS>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sys='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sys='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sys='>
                                              name: sys
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName call)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'key='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'key='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'key='> name:key)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name sys) <Id.Lit_Underscore _> (${ Id.VSub_Name key)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'keys='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'keys='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keys='> name:keys)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName keys) ($ Id.VSub_DollarName nl) 
                                        ($ Id.VSub_DollarName key)
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_name_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <name>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_standard_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <standard>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_call_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <call>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_section_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <section>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_flags_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <flags>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_define_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <define>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_values_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <values>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_script_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <script>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_args_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <args>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_headers_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> (SQ <'$'>) 
                                  <headers>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<CONF_keys_> (${ Id.VSub_Name name) <Id.Lit_Equals '='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_keys_> (${ Id.VSub_Name name)
                                }
                                {(SQ <'$'>) <key> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d1>
          pattern: (pat.Words words:[{<-d1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [key]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'name='> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                            ch: '"'
                          ) (SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key) 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                            ch: '"'
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'standard='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_standard_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'call='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_call_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'section='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_section_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'flags='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_flags_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'define='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_define_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'values='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_values_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'script='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_script_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'args='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_args_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'headers='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_headers_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <printf>
                              more_env: []
                              words: [
                                {<printf>}
                                {(DQ <'%29s %35s %8s %2s %1d %5s %s'> ($ Id.VSub_DollarName nl))}
                                {(DQ ($ Id.VSub_DollarName name))}
                                {(DQ ($ Id.VSub_DollarName key))}
                                {(DQ ($ Id.VSub_DollarName standard))}
                                {(DQ ($ Id.VSub_DollarName call))}
                                {(DQ ($ Id.VSub_DollarName section))}
                                {(DQ ($ Id.VSub_DollarName flags))}
                                {
                                  (DQ ($ Id.VSub_DollarName define) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name values>
                                      var_name: values
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) <'='> 
                                              ($ Id.VSub_DollarName values)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    ) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name headers>
                                      var_name: headers
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName headers) 
                                              ($ Id.VSub_DollarName nl)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    ) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name script>
                                      var_name: script
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName ob) 
                                              ($ Id.VSub_DollarName script) ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName cb)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'systeminfo='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'systeminfo='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'systeminfo='> name:systeminfo)
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'\n'> <'#if !defined(SYS_NMLEN)\n'> <'#define SYS_NMLEN\t9\n'> <'#endif\n'> 
                <'#include <sys/systeminfo.h>'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [{<echo>} {(DQ ($ Id.VSub_DollarName systeminfo))}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.c>}
        )
      ]
      do_fork: T
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.VSub_DollarName '$cc'>
          more_env: []
          words: [{($ Id.VSub_DollarName cc)} {<-E>} {($ Id.VSub_DollarName tmp) <.c>}]
          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>})
          ]
          do_fork: T
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike 'systeminfo='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'systeminfo='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'systeminfo='> name:systeminfo)
              op: assign_op.Equal
              rhs: (rhs_word__Empty)
            )
          ]
          redirects: []
        )
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONF_getconf='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONF_getconf='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONF_getconf='> name:CONF_getconf)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CONF_getconf_a='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CONF_getconf_a='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONF_getconf_a='> name:CONF_getconf_a)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [d]
      iterable: (for_iter.Words words:[{<'/usr/bin'>} {<'/bin'>} {<'/usr/sbin'>} {<'/sbin'>}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {<-x>} {($ Id.VSub_DollarName d) <'/getconf'>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: 
                        (case_arg.Word
                          w: 
                            {
                              (CommandSub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    blame_tok: <Id.VSub_DollarName '$d'>
                                    more_env: []
                                    words: [
                                      {($ Id.VSub_DollarName d) <'/getconf'>}
                                      {<--> <Id.Lit_QMark '?'> <-version>}
                                    ]
                                    redirects: [
                                      (Redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<1>}
                                      )
                                    ]
                                    do_fork: T
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                        )
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> (DQ <'AT&T'>) <Id.Lit_Star '*'> (DQ <Research>) 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <Id.Lit_Colon ':'>
                              more_env: []
                              words: [
                                {<Id.Lit_Colon ':'>}
                                {<presumably>}
                                {<an>}
                                {<implementation>}
                                {<also>}
                                {<configured>}
                                {<from>}
                                {<conf.tab>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'CONF_getconf='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'CONF_getconf='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'CONF_getconf='>
                                      name: CONF_getconf
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName d) <'/getconf'>}
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Simple
                                          blame_tok: <Id.VSub_DollarName '$CONF_getconf'>
                                          more_env: []
                                          words: [{($ Id.VSub_DollarName CONF_getconf)} {<-a>}]
                                          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>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'CONF_getconf_a='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'CONF_getconf_a='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CONF_getconf_a='>
                                              name: CONF_getconf_a
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-a>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [2152 2165]
                                )
                              ]
                              else_action: []
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ControlFlow keyword:<Id.ControlFlow_Break break>)
                  ]
                  spids: [2081 2091]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<CONF_getconf>} {<CONF_getconf_a>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName command) <': check '> 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name CONF_getconf>
                      var_name: CONF_getconf
                      suffix_op: 
                        (suffix_op.Unary
                          op: <Id.VTest_ColonPlus _>
                          arg_word: {($ Id.VSub_DollarName CONF_getconf) <'(1),'>}
                        )
                      right: <Id.Right_DollarBrace '}'>
                    ) <'confstr(2),pathconf(2),sysconf(2),sysinfo(2) configuration names'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Pipeline
      children: [
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {(DQ <'#include <unistd.h>'> ($ Id.VSub_DollarName systeminfo) <'\n'> <'int i = 0;'>)}
              ]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName tmp) <.c>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.VSub_DollarName '$cc'>
              more_env: []
              words: [{($ Id.VSub_DollarName cc)} {<-E>} {($ Id.VSub_DollarName tmp) <.c>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
        (command.Simple
          blame_tok: <sed>
          more_env: []
          words: [
            {<sed>}
            {<-e>}
            {(SQ <'/^#[^0123456789]*1[ \t]*".*".*/!d'>)}
            {<-e>}
            {(SQ <'s/^#[^0123456789]*1[ \t]*"\\(.*\\)".*/\\1/'>)}
          ]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <sort>
          more_env: []
          words: [{<sort>} {<-u>}]
          redirects: [
            (Redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName tmp) <.f>}
            )
          ]
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
    )
    (command.Pipeline
      children: [
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-e>}
                    {(SQ <'s/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]/ /g'>)}
                    {<-e>}
                    {(SQ <'s/[ \t][ \t]*/\\n/g'>)}
                    {
                      (CommandSub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Simple
                            blame_tok: <cat>
                            more_env: []
                            words: [{<cat>} {($ Id.VSub_DollarName tmp) <.f>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <egrep>
                  more_env: []
                  words: [{<egrep>} {(SQ <'^(SI|_(CS|PC|SC|SI))_.'>)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf_a)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_QMark '?'>
                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <Id.VSub_DollarName '$CONF_getconf'>
                          more_env: []
                          words: [
                            {($ Id.VSub_DollarName CONF_getconf)}
                            {($ Id.VSub_DollarName CONF_getconf_a)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <sed>
                          more_env: []
                          words: [{<sed>} {(SQ <'s,[=:    ].*,,'>)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ForEach
                              keyword: <Id.KW_For for>
                              iter_names: [v]
                              iterable: 
                                (for_iter.Words
                                  words: [
                                    {
                                      (CommandSub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                blame_tok: <strings>
                                                more_env: []
                                                words: [
                                                  {<strings>}
                                                  {($ Id.VSub_DollarName CONF_getconf)}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                              (command.Simple
                                                blame_tok: <grep>
                                                more_env: []
                                                words: [
                                                  {<grep>}
                                                  {
                                                    (SQ 
                                                      <
'^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*$'
                                                      >
                                                    )
                                                  }
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            ]
                                            ops: [<Id.Op_Pipe _>]
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.If
                                      if_kw: <Id.KW_If if>
                                      arms: [
                                        (IfArm
                                          keyword: <Id.KW_If if>
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Simple
                                                  blame_tok: <Id.VSub_DollarName '$CONF_getconf'>
                                                  more_env: []
                                                  words: [
                                                    {($ Id.VSub_DollarName CONF_getconf)}
                                                    {($ Id.VSub_DollarName v)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                              ]
                                            )
                                          then_kw: <Id.KW_Then then>
                                          action: [
                                            (command.Simple
                                              blame_tok: <echo>
                                              more_env: []
                                              words: [{<echo>} {($ Id.VSub_DollarName v)}]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          spids: [2392 2402]
                                        )
                                      ]
                                      else_action: []
                                      fi_kw: <Id.KW_Fi fi>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
        (command.Simple
          blame_tok: <egrep>
          more_env: []
          words: [{<egrep>} {<-v>} {(SQ <'^_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]+_(COUNT|LAST|N|STR)$'>)}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <sort>
          more_env: []
          words: [{<sort>} {<-u>}]
          redirects: [
            (Redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName tmp) <.g>}
            )
          ]
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
    )
    (BraceGroup
      left: <Id.Lit_LBrace '{'>
      children: [
        (command.Simple
          blame_tok: <grep>
          more_env: []
          words: [{<grep>} {(SQ <'^_'>)} {($ Id.VSub_DollarName tmp) <.g>}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <grep>
          more_env: []
          words: [{<grep>} {(SQ <'^[^_]'>)} {($ Id.VSub_DollarName tmp) <.g>}]
          redirects: []
          do_fork: T
        )
      ]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.t>}
        )
      ]
      right: <Id.Lit_RBrace '}'>
    )
    (command.Simple
      blame_tok: <mv>
      more_env: []
      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.t>} {($ Id.VSub_DollarName tmp) <.g>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d2>
          pattern: (pat.Words words:[{<-d2>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'HOST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'HOST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST='> name:HOST)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <package>
                        more_env: []
                        words: [{<package>}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <sed>
                        more_env: []
                        words: [{<sed>} {<-e>} {(SQ <'s,[0123456789.].*,,'>)}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <tr>
                        more_env: []
                        words: [{<tr>} {<abcdefghijklmnopqrstuvwxyz>} {<ABCDEFGHIJKLMNOPQRSTUVWXYZ>}]
                        redirects: []
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName HOST)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Left_SingleQuote '\''>
          pattern: (pat.Words words:[{(SQ )}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'HOST='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'HOST='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST='> name:HOST)
                  op: assign_op.Equal
                  rhs: {<SYSTEM>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.g>}
        )
      ]
      do_fork: T
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<line>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags='> name:flags)
                  op: assign_op.Equal
                  rhs: {<F>}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'section='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'section='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'section='> name:section)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'underscore='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'underscore='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'underscore='> name:underscore)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'define='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'define='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'define='> name:define)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName line)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'IFS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'IFS='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS)
                  op: assign_op.Equal
                  rhs: {<Id.Lit_Underscore _>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {($ Id.VSub_DollarName line)}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'IFS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'IFS='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName ifs)}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <0>
                          pattern: (pat.Words words:[{<0>}])
                          middle: <Id.Right_CasePat _>
                          action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <CS>
                  pattern: (pat.Words words:[{<CS>} {<PC>} {<SC>} {<SI>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'call='> name:call)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_Number 1)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_Number 1)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags='> name:flags)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name flags) <R>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_Number 1)}
                        )
                      ]
                      redirects: []
                    )
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Simple
                              blame_tok: <Id.Lit_Colon ':'>
                              more_env: []
                              words: [{<Id.Lit_Colon ':'>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <0>
                                  pattern: (pat.Words words:[{<0>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Continue continue>
                                      arg_word: {<2>}
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <shift>
                              more_env: []
                              words: [{<shift>}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <CS>
                                  pattern: (pat.Words words:[{<CS>} {<PC>} {<SC>} {<SI>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'call='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'call='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'call='>
                                              name: call
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_Number 1)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Simple
                                      blame_tok: <shift>
                                      more_env: []
                                      words: [{<shift>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <O>
                                  pattern: (pat.Words words:[{<O>} {<o>} {<OLD>} {<old>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Continue continue>
                                      arg_word: {<2>}
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'standard='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'standard='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'standard='>
                                      name: standard
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name standard) <Id.Lit_Underscore _> 
                                      ($ Id.VSub_Number 1)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <SET>
                  pattern: (pat.Words words:[{<SET>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Underscore _>
                  pattern: (pat.Words words:[{<Id.Lit_Underscore _> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (command.Simple
                                        blame_tok: <echo>
                                        more_env: []
                                        words: [{<echo>} {($ Id.VSub_DollarName standard)}]
                                        redirects: []
                                        do_fork: T
                                      )
                                      (command.Simple
                                        blame_tok: <sed>
                                        more_env: []
                                        words: [{<sed>} {(SQ <'s,^_*,,'>)}]
                                        redirects: []
                                        do_fork: T
                                      )
                                    ]
                                    ops: [<Id.Op_Pipe _>]
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName standards) <' '>)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName standard) <' '>) 
                          <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_LBracket '['>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_LBracket '['> <0123456789> <Id.Lit_RBracket ']'> 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'section='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'section='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'section='>
                                      name: section
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName standard)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'standard='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'standard='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'standard='>
                                      name: standard
                                    )
                                  op: assign_op.Equal
                                  rhs: {<POSIX>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0123456789> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {
                                  (CommandSub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (command.Simple
                                            blame_tok: <echo>
                                            more_env: []
                                            words: [{<echo>} {($ Id.VSub_DollarName standard)}]
                                            redirects: []
                                            do_fork: T
                                          )
                                          (command.Simple
                                            blame_tok: <sed>
                                            more_env: []
                                            words: [
                                              {<sed>}
                                              {
                                                (SQ 
                                                  <
's,\\(.*\\)\\([0123456789]*\\),standard=\\1 section=\\2,'
                                                  >
                                                )
                                              }
                                            ]
                                            redirects: []
                                            do_fork: T
                                          )
                                        ]
                                        ops: [<Id.Op_Pipe _>]
                                      )
                                    right: <Id.Backtick_Right '`'>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <R> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <SI>
                          pattern: (pat.Words words:[{<SI>}])
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'underscore='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'underscore='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'underscore='>
                                      name: underscore
                                    )
                                  op: assign_op.Equal
                                  rhs: {<U>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName standards) <' '>)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Left_DoubleQuote '"'>
                          pattern: (pat.Words words:[{(DQ <' C '>)}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <shift>
                              more_env: []
                              words: [{<shift>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName standard) <' '>) 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <SI>
                                  pattern: (pat.Words words:[{<SI>}])
                                  middle: <Id.Right_CasePat _>
                                  action: []
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'flags='>
                                              name: flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name flags) <P>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'underscore='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'underscore='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'underscore='>
                                              name: underscore
                                            )
                                          op: assign_op.Equal
                                          rhs: {<U>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <shift>
                              more_env: []
                              words: [{<shift>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'standard='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'standard='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'standard='>
                                      name: standard
                                    )
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName HOST)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <SI>
                          pattern: (pat.Words words:[{<SI>}])
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'underscore='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'underscore='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'underscore='>
                                      name: underscore
                                    )
                                  op: assign_op.Equal
                                  rhs: {<U>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <CS>
                          pattern: (pat.Words words:[{<CS>} {<PC>} {<SC>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName define)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Underscore _>
                                  pattern: 
                                    (pat.Words
                                      words: [
                                        {<Id.Lit_Underscore _> (${ Id.VSub_Name call) 
                                          <Id.Lit_Underscore _> <Id.Lit_Star '*'>
                                        }
                                      ]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'standard='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'standard='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'standard='>
                                              name: standard
                                            )
                                          op: assign_op.Equal
                                          rhs: {<POSIX>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'part='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'part='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'part='> name:part)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName section)}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'section='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'section='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'section='> name:section)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <POSIX>
                          pattern: (pat.Words words:[{<POSIX>} {<XOPEN>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'part='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'part='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'part='> name:part)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName section)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'name='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'name='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Simple
                      blame_tok: <Id.Lit_Colon ':'>
                      more_env: []
                      words: [{<Id.Lit_Colon ':'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <0>
                          pattern: (pat.Words words:[{<0>}])
                          middle: <Id.Right_CasePat _>
                          action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Left_SingleQuote '\''>
                          pattern: (pat.Words words:[{(SQ )}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name name) <Id.Lit_Underscore _> ($ Id.VSub_Number 1)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <CONFORMANCE>
                  pattern: 
                    (pat.Words
                      words: [
                        {<CONFORMANCE>}
                        {<FS_3D>}
                        {<HOSTTYPE>}
                        {<LIBPATH>}
                        {<LIBPREFIX>}
                        {<LIBSUFFIX>}
                        {<PATH_ATTRIBUTES>}
                        {<PATH_RESOLVE>}
                        {<UNIVERSE>}
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'values='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'values='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'values='> name:values)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'script='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'script='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'script='> name:script)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'args='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'args='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'headers='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'headers='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'headers='> name:headers)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_ArrayLhsOpen 'V['>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_ArrayLhsOpen 'V['> <123456789> <Id.Lit_RBracket ']'> 
                                  <Id.Lit_Underscore _> <Id.Lit_Star '*'>
                                }
                                {<Id.Lit_ArrayLhsOpen 'V['> <123456789> <Id.Lit_RBracket ']'> 
                                  <Id.Lit_LBracket '['> <0123456789> <Id.Lit_RBracket ']'> <Id.Lit_Underscore _> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'underscore='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'underscore='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'underscore='>
                                      name: underscore
                                    )
                                  op: assign_op.Equal
                                  rhs: {<VW>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <CS>
                          pattern: (pat.Words words:[{<CS>} {<SI>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'key='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'key='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'key='> name:key)
                                  op: assign_op.Equal
                                  rhs: {<CS>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'key='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'key='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'key='> name:key)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName call)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [{<Id.Lit_Star '*'> <VERSION> <Id.Lit_Star '*'>}]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'key='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'key='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'key='> name:key)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name key) <Id.Lit_Underscore _> 
                                      (${ Id.VSub_Name standard) (${ Id.VSub_Name part)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'key='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'key='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'key='> name:key)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name key) <Id.Lit_Underscore _> (${ Id.VSub_Name name)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_keys_> ($ Id.VSub_DollarName name)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Left_SingleQuote '\''>
                          pattern: (pat.Words words:[{(SQ )}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_name_> 
                                  ($ Id.VSub_DollarName key)
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Left_SingleQuote '\''>
                                  pattern: (pat.Words words:[{(SQ )}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <SI>
                                          pattern: (pat.Words words:[{<SI>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'flags='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'flags='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'flags='>
                                                      name: flags
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<O> ($ Id.VSub_DollarName flags)}
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName underscore)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_QMark '?'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'flags='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'flags='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'flags='>
                                                      name: flags
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {(${ Id.VSub_Name flags) 
                                                      (${ Id.VSub_Name underscore)
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'old='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'old='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'old='>
                                              name: old
                                            )
                                          op: assign_op.Equal
                                          rhs: {<QQ>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <VERSION> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'old='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'old='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'old='>
                                                      name: old
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {(${ Id.VSub_Name old) <Id.Lit_Underscore _> 
                                                      (${ Id.VSub_Name standard) (${ Id.VSub_Name part)
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'old='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'old='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'old='>
                                              name: old
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {(${ Id.VSub_Name old) <Id.Lit_Underscore _> 
                                              (${ Id.VSub_Name name)
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_name_> 
                                          ($ Id.VSub_DollarName old)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_QMark '?'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_name_> ($ Id.VSub_DollarName old) 
                                                  <Id.Lit_Equals '='>
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'flags='> (SQ <'$'>) <flags> (SQ <'$'>) 
                                                  <CONF_flags_> ($ Id.VSub_DollarName old)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'values='> (SQ <'$'>) <CONF_values_> 
                                                  ($ Id.VSub_DollarName old)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'script='> (SQ <'$'>) <CONF_script_> 
                                                  ($ Id.VSub_DollarName old)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'args='> (SQ <'$'>) <CONF_args_> 
                                                  ($ Id.VSub_DollarName old)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'headers='> (SQ <'$'>) 
                                                  <CONF_headers_> ($ Id.VSub_DollarName old)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'keys='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'keys='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'keys='>
                                              name: keys
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName keys) 
                                                ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName key)
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_name_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <name>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_standard_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <standard>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_call_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <call>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_section_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <section>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_flags_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> <d> 
                                          (SQ <'$'>) <flags>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_define_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <define>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_values_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <values>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_script_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <script>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_args_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <args>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_headers_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                                          (SQ <'$'>) <headers>
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_define_> 
                                          ($ Id.VSub_DollarName key)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_QMark '?'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <CS>
                                                  pattern: (pat.Words words:[{<CS>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <eval>
                                                      more_env: []
                                                      words: [
                                                        {<eval>}
                                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                          ($ Id.VSub_DollarName key)
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName x)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <SI>
                                                          pattern: (pat.Words words:[{<SI>}])
                                                          middle: <Id.Right_CasePat _>
                                                          action: []
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'define='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'define='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: 
                                                                        <Id.Lit_VarLike 'define='>
                                                                      name: define
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: (rhs_word__Empty)
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'define='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'define='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'define='>
                                                              name: define
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: (rhs_word__Empty)
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName define)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_QMark '?'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_define_> (${ Id.VSub_Name key) 
                                                  <Id.Lit_Equals '='> (SQ <'$'>) <define>
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_call_> (${ Id.VSub_Name key) 
                                                  <Id.Lit_Equals '='> (SQ <'$'>) <call>
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                  (${ Id.VSub_Name key)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <QQ>
                                                  pattern: (pat.Words words:[{<QQ>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: []
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName flags)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [
                                                                {<Id.Lit_Star '*'> <R> 
                                                                  <Id.Lit_Star '*'>
                                                                }
                                                              ]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'flags='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'flags='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'flags='>
                                                                      name: flags
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {<R>}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'flags='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'flags='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'flags='>
                                                                      name: flags
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: (rhs_word__Empty)
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <SI>
                                                  pattern: (pat.Words words:[{<SI>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'flags='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'flags='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'flags='>
                                                              name: flags
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<O> ($ Id.VSub_DollarName flags)}
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_flags_> (${ Id.VSub_Name key) 
                                                  <Id.Lit_Equals '='> <d> (SQ <'$'>) <flags> (SQ <'$'>) <CONF_flags_> (${ Id.VSub_Name key)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'old='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'old='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'old='>
                                              name: old
                                            )
                                          op: assign_op.Equal
                                          rhs: {<QQ>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <VERSION> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'old='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'old='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'old='>
                                                      name: old
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {(${ Id.VSub_Name old) <Id.Lit_Underscore _> 
                                                      (${ Id.VSub_Name standard) (${ Id.VSub_Name part)
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'old='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'old='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'old='>
                                              name: old
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {(${ Id.VSub_Name old) <Id.Lit_Underscore _> 
                                              (${ Id.VSub_Name name)
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<CONF_name_> ($ Id.VSub_DollarName old) <Id.Lit_Equals '='>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ForEach
                              keyword: <Id.KW_For for>
                              iter_names: [key]
                              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName x)}])
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                          (${ Id.VSub_Name key)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <XX>
                                          pattern: (pat.Words words:[{<XX>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_call_> (${ Id.VSub_Name key) 
                                                  <Id.Lit_Equals '='> <QQ>
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<CONF_flags_> (${ Id.VSub_Name key) 
                                                  <Id.Lit_Equals '='> <S> (SQ <'$'>) <CONF_flags_> (${ Id.VSub_Name key)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                          ]
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'keys='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'keys='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keys='> name:keys)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.ForEach
                        keyword: <Id.KW_For for>
                        iter_names: [key]
                        iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
                        body: 
                          (command.DoGroup
                            left: <Id.KW_Do do>
                            children: [
                              (command.Simple
                                blame_tok: <eval>
                                more_env: []
                                words: [
                                  {<eval>}
                                  {<echo>}
                                  {(SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key)}
                                  {(SQ <'$'>) <key>}
                                ]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            right: <Id.KW_Done done>
                          )
                        redirects: []
                      )
                      (command.Simple
                        blame_tok: <sort>
                        more_env: []
                        words: [{<sort>} {<-u>}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <sed>
                        more_env: []
                        words: [{<sed>} {(SQ <'s,.* ,,'>)}]
                        redirects: []
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d3>
          pattern: (pat.Words words:[{<-d3>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [key]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'name='> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                            ch: '"'
                          ) (SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key) 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                            ch: '"'
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'standard='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_standard_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'call='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_call_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'section='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_section_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'flags='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_flags_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'define='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_define_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'values='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_values_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'script='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_script_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'headers='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) (SQ <'$'>) <CONF_headers_> ($ Id.VSub_DollarName key) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <printf>
                              more_env: []
                              words: [
                                {<printf>}
                                {(DQ <'%29s %35s %8s %2s %1d %5s %s'> ($ Id.VSub_DollarName nl))}
                                {(DQ ($ Id.VSub_DollarName name))}
                                {(DQ ($ Id.VSub_DollarName key))}
                                {(DQ ($ Id.VSub_DollarName standard))}
                                {(DQ ($ Id.VSub_DollarName call))}
                                {(DQ ($ Id.VSub_DollarName section))}
                                {(DQ ($ Id.VSub_DollarName flags))}
                                {
                                  (DQ ($ Id.VSub_DollarName define) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name values>
                                      var_name: values
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) <'='> 
                                              ($ Id.VSub_DollarName values)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    ) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name headers>
                                      var_name: headers
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName headers) 
                                              ($ Id.VSub_DollarName nl)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    ) 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name script>
                                      var_name: script
                                      suffix_op: 
                                        (suffix_op.Unary
                                          op: <Id.VTest_ColonPlus _>
                                          arg_word: 
                                            {($ Id.VSub_DollarName sp) ($ Id.VSub_DollarName ob) 
                                              ($ Id.VSub_DollarName script) ($ Id.VSub_DollarName nl) ($ Id.VSub_DollarName cb)
                                            }
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'prev_key='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'prev_key='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev_key='> name:prev_key)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'prev_name='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'prev_name='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev_name='> name:prev_name)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [key]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'name='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.VSub_DollarName '$prev_name'>
                  pattern: (pat.Words words:[{($ Id.VSub_DollarName prev_name)}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'p='> (SQ <'$'>) <CONF_flags_> (${ Id.VSub_Name prev_key)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'c='> (SQ <'$'>) <CONF_flags_> (${ Id.VSub_Name key)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: 
                        (case_arg.Word
                          w: {($ Id.VSub_DollarName p) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName c)}
                        )
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <L> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> 
                                  <Id.Lit_Star '*'> <L> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <L> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'c='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'c='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'c='> name:c)
                                  op: assign_op.Equal
                                  rhs: {<L> (${ Id.VSub_Name c)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <L> 
                                  <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'p='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'p='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p='> name:p)
                                  op: assign_op.Equal
                                  rhs: {<L> (${ Id.VSub_Name p)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'p='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'p='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p='> name:p)
                                  op: assign_op.Equal
                                  rhs: {<P> ($ Id.VSub_DollarName p)}
                                )
                                (AssignPair
                                  left: <Id.Lit_VarLike 'c='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'c='> name:c)
                                  op: assign_op.Equal
                                  rhs: {<P> ($ Id.VSub_DollarName c)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<CONF_flags_> (${ Id.VSub_Name prev_key) <Id.Lit_Equals '='> 
                          ($ Id.VSub_DollarName p)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<CONF_flags_> (${ Id.VSub_Name key) <Id.Lit_Equals '='> 
                          ($ Id.VSub_DollarName c)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'prev_name='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'prev_name='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev_name='> name:prev_name)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName name)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'prev_key='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'prev_key='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prev_key='> name:prev_key)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName key)}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [key]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'name='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.VSub_DollarName '$keep_name'>
                  pattern: (pat.Words words:[{($ Id.VSub_DollarName keep_name)}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'call='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_call_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.VSub_DollarName '$keep_call'>
                  pattern: (pat.Words words:[{($ Id.VSub_DollarName keep_call)}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'standard='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_standard_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'section='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_section_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'flags='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_flags_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'define='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_define_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'values='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_values_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'script='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_script_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'args='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_args_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'headers='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_headers_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_name='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_name='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_name='> name:conf_name)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName name)}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <QQ>
                  pattern: (pat.Words words:[{<QQ>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'call='> name:call)
                          op: assign_op.Equal
                          rhs: {<XX>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [c]
                      iterable: (for_iter.Words words:[{<SC>} {<PC>} {<CS>}])
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <1>
                                          pattern: (pat.Words words:[{<1>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                  (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                  (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) (${ Id.VSub_Name section) <Id.Lit_Underscore _> 
                                                  (${ Id.VSub_Name name)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                          (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'call='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'call='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'call='>
                                              name: call
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName x)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <XX>
                          pattern: (pat.Words words:[{<XX>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ForEach
                              keyword: <Id.KW_For for>
                              iter_names: [c]
                              iterable: (for_iter.Words words:[{<SC>} {<PC>} {<CS>}])
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [
                                        {<echo>}
                                        {(DQ <_> (${ Id.VSub_Name c) <_> (${ Id.VSub_Name name))}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {($ Id.VSub_DollarName section)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <1>
                                                  pattern: (pat.Words words:[{<1>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <echo>
                                                      more_env: []
                                                      words: [
                                                        {<echo>}
                                                        {
                                                          (DQ <_> (${ Id.VSub_Name c) <_> 
                                                            (${ Id.VSub_Name standard) <_> (${ Id.VSub_Name name)
                                                          )
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <echo>
                                                      more_env: []
                                                      words: [
                                                        {<echo>}
                                                        {
                                                          (DQ <_> (${ Id.VSub_Name c) <_> 
                                                            (${ Id.VSub_Name standard) (${ Id.VSub_Name section) <_> (${ Id.VSub_Name name)
                                                          )
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <CS>
                  pattern: (pat.Words words:[{<CS>} {<PC>} {<SC>} {<SI>} {<XX>}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName command) <': '> ($ Id.VSub_DollarName name) <': '> 
                            ($ Id.VSub_DollarName call) <': invalid call'>
                          )
                        }
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                          <ABEGHIJQTYZabcefghijklmnopqrstuvwxyz_123456789> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName command) <': '> ($ Id.VSub_DollarName name) <': '> 
                            ($ Id.VSub_DollarName flags) <': invalid flag(s)'>
                          )
                        }
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_LBracket '['>
                  pattern: (pat.Words words:[{<Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'>}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <N> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name section) <Id.Lit_Underscore _> 
                                      (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name standard) (${ Id.VSub_Name section)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <XX>
                  pattern: (pat.Words words:[{<XX>}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <d> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name define)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <O> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name call) <Id.Lit_Underscore _> 
                                      (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <R> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {<Id.Lit_Underscore _> (${ Id.VSub_Name standard) 
                                      <Id.Lit_Underscore _> (${ Id.VSub_Name call) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) 
                                      <Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) 
                                      <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ (${ Id.VSub_Name conf_op))}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: {($ Id.VSub_DollarName standard) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName flags)}
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <C>
                  pattern: (pat.Words words:[{<C> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <L> <Id.Lit_Star '*'>}
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ (${ Id.VSub_Name conf_name))}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ <_> (${ Id.VSub_Name standard) <_> (${ Id.VSub_Name conf_name))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <M> <Id.Lit_Star '*'>}
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <1>
                          pattern: (pat.Words words:[{<1>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {(DQ <_> (${ Id.VSub_Name standard) <_> (${ Id.VSub_Name conf_name))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {
                                  (DQ <_> (${ Id.VSub_Name standard) (${ Id.VSub_Name section) <_> 
                                    (${ Id.VSub_Name conf_name)
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.q>}
        )
      ]
    )
    (command.Simple
      blame_tok: <sort>
      more_env: []
      words: [{<sort>} {<-u>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.q>}
        )
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.t>}
        )
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <mv>
      more_env: []
      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.t>} {($ Id.VSub_DollarName tmp) <.q>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <sort>
      more_env: []
      words: [{<sort>} {<-u>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.v>}
        )
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.t>}
        )
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <mv>
      more_env: []
      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.t>} {($ Id.VSub_DollarName tmp) <.v>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d4>
          pattern: (pat.Words words:[{<-d4>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShFunction
      name_tok: <defined>
      name: defined
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName tmp) <.p>}
                )
              ]
              do_fork: T
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Simple
                      blame_tok: <Id.Lit_Colon ':'>
                      more_env: []
                      words: [{<Id.Lit_Colon ':'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (BraceGroup
                      left: <Id.Lit_LBrace '{'>
                      children: [
                        (command.Simple
                          blame_tok: <cat>
                          more_env: []
                          words: [{<cat>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_DLess '<<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: 
                                (redir_param.HereDoc
                                  here_begin: {<Id.KW_Bang '!'>}
                                  here_end_tok: <Id.Undefined_Tok ''>
                                  stdin_parts: [
                                    (${ Id.VSub_Name head)
                                    <'\n'>
                                    <'#include <sys/types.h>\n'>
                                    <'#include <limits.h>\n'>
                                    <'#include <unistd.h>'>
                                    ($ Id.VSub_DollarName systeminfo)
                                    ($ Id.VSub_DollarName headers)
                                    <'\n'>
                                    (${ Id.VSub_Name tail)
                                    <'\n'>
                                    <'#undef conf\n'>
                                    <'unsigned int conf[] = {\n'>
                                  ]
                                )
                            )
                          ]
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <sed>
                          more_env: []
                          words: [{<sed>} {(SQ <'s/$/,/'>)} {($ Id.VSub_Number 1)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'};'>)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName tmp) <.c>}
                        )
                      ]
                      right: <Id.Lit_RBrace '}'>
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {<-f>}
                            {($ Id.VSub_DollarName tmp) <.1.c>}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cp>
                          more_env: []
                          words: [
                            {<cp>}
                            {($ Id.VSub_DollarName tmp) <.c>}
                            {($ Id.VSub_DollarName tmp) <.1.c>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Simple
                                  blame_tok: <Id.VSub_DollarName '$cc'>
                                  more_env: []
                                  words: [
                                    {($ Id.VSub_DollarName cc)}
                                    {<-c>}
                                    {($ Id.VSub_DollarName tmp) <.c>}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {($ Id.VSub_DollarName tmp) <.e>}
                                    )
                                    (Redir
                                      op: <Id.Redir_GreatAnd '2>&'>
                                      loc: (redir_loc.Fd fd:2)
                                      arg: {<1>}
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)]
                          spids: [5653 5671]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {<-f>}
                            {($ Id.VSub_DollarName tmp) <.1.e>}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <cp>
                          more_env: []
                          words: [
                            {<cp>}
                            {($ Id.VSub_DollarName tmp) <.e>}
                            {($ Id.VSub_DollarName tmp) <.1.e>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'snl='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'snl='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'snl='> name:snl)
                          op: assign_op.Equal
                          rhs: {(SQ <'\\\n'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <sed>
                          more_env: []
                          words: [
                            {<sed>}
                            {
                              (DQ 
                                <
's/[^_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789][^_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]*/'
                                > (${ Id.VSub_Name snl) <'/g'>
                              )
                            }
                            {($ Id.VSub_DollarName tmp) <.e>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <grep>
                          more_env: []
                          words: [
                            {<grep>}
                            {
                              (SQ 
                                <
'^[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz][_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]*$'
                                >
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <sort>
                          more_env: []
                          words: [{<sort>} {<-u>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName tmp) <.n>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                    )
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <cmp>
                          more_env: []
                          words: [
                            {<cmp>}
                            {<-s>}
                            {($ Id.VSub_DollarName tmp) <.n>}
                            {($ Id.VSub_DollarName tmp) <.p>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Break break>
                        )
                      ]
                      ops: [<Id.Op_DAmp _>]
                    )
                    (command.Simple
                      blame_tok: <fgrep>
                      more_env: []
                      words: [
                        {<fgrep>}
                        {<-x>}
                        {<-v>}
                        {<-f>}
                        {($ Id.VSub_DollarName tmp) <.n>}
                        {($ Id.VSub_Number 1)}
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName tmp) <.y>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.y>} {($ Id.VSub_Number 1)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.n>} {($ Id.VSub_DollarName tmp) <.p>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_DLess '<<'>
                      loc: (redir_loc.Fd fd:0)
                      arg: 
                        (redir_param.HereDoc
                          here_begin: {<Id.KW_Bang '!'>}
                          here_end_tok: <Id.Undefined_Tok ''>
                          stdin_parts: [
                            (${ Id.VSub_Name head)
                            <'\n'>
                            <'#include <sys/types.h>\n'>
                            <'#include <limits.h>\n'>
                            <'#include <unistd.h>'>
                            ($ Id.VSub_DollarName systeminfo)
                            ($ Id.VSub_DollarName headers)
                            <'\n'>
                            (${ Id.VSub_Name tail)
                            <'\n'>
                            <'#undef conf\n'>
                          ]
                        )
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [{<sed>} {(SQ <'s/.*/conf "&" = &/'>)} {($ Id.VSub_Number 1)}]
                  redirects: []
                  do_fork: T
                )
              ]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName tmp) <.c>}
                )
              ]
              right: <Id.Lit_RBrace '}'>
            )
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <Id.VSub_DollarName '$cc'>
                  more_env: []
                  words: [{($ Id.VSub_DollarName cc)} {<-E>} {($ Id.VSub_DollarName tmp) <.c>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-e>}
                    {(SQ <'/conf[ \t]*".*"[ \t]*=[ \t]*/!d'>)}
                    {<-e>}
                    {
                      (SQ 
                        <
'/[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789][ \t]*(/!d'
                        >
                      )
                    }
                    {<-e>}
                    {(SQ <'s/.*"\\(.*\\)".*/\\1/'>)}
                  ]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName tmp) <.n>}
                    )
                  ]
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {<-s>} {($ Id.VSub_DollarName tmp) <.n>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <fgrep>
                      more_env: []
                      words: [
                        {<fgrep>}
                        {<-x>}
                        {<-v>}
                        {<-f>}
                        {($ Id.VSub_DollarName tmp) <.n>}
                        {($ Id.VSub_Number 1)}
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName tmp) <.y>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [{<mv>} {($ Id.VSub_DollarName tmp) <.y>} {($ Id.VSub_Number 1)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5876 5886]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {(DQ ($ Id.VSub_DollarName command) <': check macros/enums as static initializers'>)}
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <defined>
      more_env: []
      words: [{<defined>} {($ Id.VSub_DollarName tmp) <.q>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <defined>
      more_env: []
      words: [{<defined>} {($ Id.VSub_DollarName tmp) <.v>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d5>
          pattern: (pat.Words words:[{<-d5>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.q>}
        )
      ]
      do_fork: T
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<line>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [{<eval>} {<CONF_const_> (${ Id.VSub_Name line) <Id.Lit_Equals '='> <1>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.v>}
        )
      ]
      do_fork: T
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<line>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [{<eval>} {<CONF_const_> (${ Id.VSub_Name line) <Id.Lit_Equals '='> <1>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (BraceGroup
      left: <Id.Lit_LBrace '{'>
      children: [
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    (${ Id.VSub_Name head)
                    <'\n'>
                    <'#include <sys/types.h>\n'>
                    <'#include <limits.h>\n'>
                    <'#include <unistd.h>'>
                    ($ Id.VSub_DollarName systeminfo)
                    ($ Id.VSub_DollarName headers)
                    <'\n'>
                    (${ Id.VSub_Name tail)
                    <'\n'>
                    <'#undef conf\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
        (command.Simple
          blame_tok: <sed>
          more_env: []
          words: [{<sed>} {(SQ <'s/.*/conf "&" = &/'>)} {($ Id.VSub_DollarName tmp) <.q>}]
          redirects: []
          do_fork: T
        )
      ]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.c>}
        )
      ]
      right: <Id.Lit_RBrace '}'>
    )
    (command.Pipeline
      children: [
        (command.Simple
          blame_tok: <Id.VSub_DollarName '$cc'>
          more_env: []
          words: [{($ Id.VSub_DollarName cc)} {<-E>} {($ Id.VSub_DollarName tmp) <.c>}]
          redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
          do_fork: T
        )
        (command.Simple
          blame_tok: <sed>
          more_env: []
          words: [
            {<sed>}
            {<-e>}
            {(SQ <'/conf[ \t]*".*"[ \t]*=[ \t]*"/!d'>)}
            {<-e>}
            {(SQ <'s/.*"\\([^"]*\\)".*/\\1/'>)}
          ]
          redirects: [
            (Redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName tmp) <.e>}
            )
          ]
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _>]
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [
        (Redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName tmp) <.e>}
        )
      ]
      do_fork: T
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<line>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [{<eval>} {<CONF_string_> (${ Id.VSub_Name line) <Id.Lit_Equals '='> <1>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <ksh>
          pattern: (pat.Words words:[{<ksh>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <integer>
              more_env: []
              words: [{<integer>} {<len>} {<name_max>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'name_max='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'name_max='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name_max='> name:name_max)
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<tmp>} {<name>} {<standard>} {<call>} {<cc>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.t>}
        )
      ]
      do_fork: T
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [key]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName keys)}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'name='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_name_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.VSub_DollarName '$keep_name'>
                  pattern: (pat.Words words:[{($ Id.VSub_DollarName keep_name)}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'call='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_call_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.VSub_DollarName '$keep_call'>
                  pattern: (pat.Words words:[{($ Id.VSub_DollarName keep_call)}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'standard='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_standard_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'section='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_section_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'flags='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_flags_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'define='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_define_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'values='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_values_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'script='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_script_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'args='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_args_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <eval>
              more_env: []
              words: [
                {<eval>}
                {<Id.Lit_VarLike 'headers='> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) (SQ <'$'>) <CONF_headers_> ($ Id.VSub_DollarName key) 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_name='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_name='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_name='> name:conf_name)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName name)}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <QQ>
                  pattern: (pat.Words words:[{<QQ>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'call='> name:call)
                          op: assign_op.Equal
                          rhs: {<XX>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [c]
                      iterable: (for_iter.Words words:[{<SC>} {<PC>} {<CS>}])
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <1>
                                          pattern: (pat.Words words:[{<1>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                  (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                                  (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) (${ Id.VSub_Name section) <Id.Lit_Underscore _> 
                                                  (${ Id.VSub_Name name)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_call_> 
                                          (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'call='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'call='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'call='>
                                              name: call
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName x)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <XX>
                          pattern: (pat.Words words:[{<XX>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ForEach
                              keyword: <Id.KW_For for>
                              iter_names: [c]
                              iterable: (for_iter.Words words:[{<SC>} {<PC>} {<CS>}])
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {($ Id.VSub_DollarName section)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <1>
                                                  pattern: (pat.Words words:[{<1>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <eval>
                                                      more_env: []
                                                      words: [
                                                        {<eval>}
                                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) 
                                                          <CONF_const__> (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> 
                                                          (${ Id.VSub_Name name)
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <eval>
                                                      more_env: []
                                                      words: [
                                                        {<eval>}
                                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) 
                                                          <CONF_const__> (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name standard) (${ Id.VSub_Name section) 
                                                          <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_const__> 
                                                  (${ Id.VSub_Name c) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <1>
                                          pattern: (pat.Words words:[{<1>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'call='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'call='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'call='>
                                                      name: call
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName c)}
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              keyword: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <XX>
                          pattern: (pat.Words words:[{<XX>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <C>
                                  pattern: (pat.Words words:[{<C>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'standard='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'standard='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'standard='>
                                              name: standard
                                            )
                                          op: assign_op.Equal
                                          rhs: {<POSIX>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_Star '*'> <L> <Id.Lit_Star '*'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'flags='>
                                              name: flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {<lFU>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'flags='>
                                              name: flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {<FU>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ <' '> ($ Id.VSub_DollarName standards) <' '>)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName standard) <' '>) 
                          <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standards='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standards='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standards='> name:standards)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName standards) <' '> 
                                ($ Id.VSub_DollarName standard)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_standard='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_standard='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_standard='> name:conf_standard)
                  op: assign_op.Equal
                  rhs: {<CONF_> (${ Id.VSub_Name standard)}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <CS>
                  pattern: (pat.Words words:[{<CS>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_call='> name:conf_call)
                          op: assign_op.Equal
                          rhs: {<CONF_confstr>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <PC>
                  pattern: (pat.Words words:[{<PC>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_call='> name:conf_call)
                          op: assign_op.Equal
                          rhs: {<CONF_pathconf>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <SC>
                  pattern: (pat.Words words:[{<SC>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_call='> name:conf_call)
                          op: assign_op.Equal
                          rhs: {<CONF_sysconf>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <SI>
                  pattern: (pat.Words words:[{<SI>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_call='> name:conf_call)
                          op: assign_op.Equal
                          rhs: {<CONF_sysinfo>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <XX>
                  pattern: (pat.Words words:[{<XX>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_call='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_call='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_call='> name:conf_call)
                          op: assign_op.Equal
                          rhs: {<CONF_nop>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_op='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_op='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_op='> name:conf_op)
                  op: assign_op.Equal
                  rhs: {<-1>}
                )
              ]
              redirects: []
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [s]
              iterable: 
                (for_iter.Words
                  words: [
                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) <Id.Lit_Underscore _> 
                      (${ Id.VSub_Name standard) (${ Id.VSub_Name section) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                    }
                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) <Id.Lit_Underscore _> 
                      (${ Id.VSub_Name standard) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                    }
                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) <Id.Lit_Underscore _> 
                      (${ Id.VSub_Name section) <Id.Lit_Underscore _> (${ Id.VSub_Name name)
                    }
                    {<Id.Lit_Underscore _> (${ Id.VSub_Name call) <Id.Lit_Underscore _> 
                      (${ Id.VSub_Name name)
                    }
                    {(${ Id.VSub_Name call) <Id.Lit_Underscore _> (${ Id.VSub_Name name)}
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_const_> (${ Id.VSub_Name s)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <1>
                          pattern: (pat.Words words:[{<1>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_op='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_op='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_op='>
                                      name: conf_op
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name s)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ControlFlow
                              keyword: <Id.ControlFlow_Break break>
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_section='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_section='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_section='> name:conf_section)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName section)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_flags='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_flags='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <C> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_DEFER_CALL'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <D> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_DEFER_MM'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <F> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_FEATURE'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <L> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_LIMIT'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <M> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_MINMAX'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <N> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_NOSECTION'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <P> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_PREFIXED'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <S> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_STANDARD'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <U> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_UNDERSCORE'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <V> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_NOUNDERSCORE'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <W> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_PREFIX_ONLY'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_QMark '?'>
                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName standard)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'> 
                                  <Id.Lit_QMark '?'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'sep='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'sep='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                  op: assign_op.Equal
                                  rhs: {(DQ <' '>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: 
                            (pat.Words
                              words: [{<Id.Lit_QMark '?'> <Id.Lit_QMark '?'> <Id.Lit_QMark '?'>}]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'sep='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'sep='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                  op: assign_op.Equal
                                  rhs: {(DQ <'  '>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_QMark '?'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'sep='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'sep='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                  op: assign_op.Equal
                                  rhs: {(DQ <'   '>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'sep='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'sep='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                  op: assign_op.Equal
                                  rhs: {(DQ <'    '>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'sep='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'sep='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName command) <': test: '> ($ Id.VSub_DollarName sep) 
                            ($ Id.VSub_DollarName standard) <' '> ($ Id.VSub_DollarName call) <' '> ($ Id.VSub_DollarName name)
                          )
                        }
                      ]
                      redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName call)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <CS>
                  pattern: (pat.Words words:[{<CS>} {<SI>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_flags='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_flags='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_flags='> name:conf_flags)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_STRING'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'string='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'string='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'string='> name:string)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <eval>
                      more_env: []
                      words: [
                        {<eval>}
                        {<Id.Lit_VarLike 'string='> (SQ <'$'>) <CONF_string_> (${ Id.VSub_Name key)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_limit='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_limit='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_limit='> name:conf_limit)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Ll> <Id.Lit_RBracket ']'> 
                          <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'd='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'd='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'd='> name:d)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{(${ Id.VSub_Name conf_name)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <LONG_MAX>
                          pattern: (pat.Words words:[{<LONG_MAX>} {<SSIZE_MAX>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'x='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'x='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x)
                                  op: assign_op.Equal
                                  rhs: (rhs_word__Empty)
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <eval>
                              more_env: []
                              words: [
                                {<eval>}
                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_const_> 
                                  (${ Id.VSub_Name conf_name)
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Left_SingleQuote '\''>
                          pattern: (pat.Words words:[{(SQ )}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ForEach
                              keyword: <Id.KW_For for>
                              iter_names: [s]
                              iterable: (for_iter.Words words:[{(${ Id.VSub_Name values)}])
                              body: 
                                (command.DoGroup
                                  left: <Id.KW_Do do>
                                  children: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName s)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.VSub_DollarName '$sym'>
                                          pattern: (pat.Words words:[{($ Id.VSub_DollarName sym)}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <eval>
                                              more_env: []
                                              words: [
                                                {<eval>}
                                                {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_const_> 
                                                  (${ Id.VSub_Name s)
                                                }
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <1>
                                                  pattern: (pat.Words words:[{<1>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <eval>
                                                      more_env: []
                                                      words: [
                                                        {<eval>}
                                                        {<Id.Lit_VarLike 'a='> (SQ <'$'>) 
                                                          <CONF_const_> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> (${ Id.VSub_Name s)
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName a)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <Id.VSub_DollarName '$x'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{($ Id.VSub_DollarName x)}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: (rhs_word__Empty)
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {($ Id.VSub_DollarName s)}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                    (command.ControlFlow
                                                      keyword: <Id.ControlFlow_Break break>
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_LBracket '['>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_LBracket '['> <0123456789> 
                                                  <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                }
                                                {<Id.Lit_LBracket '['> <-> <Id.Lit_Other '+'> 
                                                  <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0123456789> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'd='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'd='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'd='>
                                                      name: d
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName s)}
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              keyword: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.KW_Done done>
                                )
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: 
                                (case_arg.Word
                                  w: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name x>
                                        var_name: x
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonPlus _>
                                            arg_word: {<1>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      ) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName flags) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName conf_op)
                                    }
                                )
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_Colon ':'>
                                  pattern: 
                                    (pat.Words
                                      words: [
                                        {<Id.Lit_Colon ':'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <-1>}
                                        {<Id.Lit_Colon ':'> <Id.Lit_Star '*'> <X> <Id.Lit_Star '*'> 
                                          <Id.Lit_Colon ':'> <Id.Lit_Star '*'>
                                        }
                                      ]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <1>
                                          pattern: (pat.Words words:[{<1>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <echo>
                                              more_env: []
                                              words: [
                                                {<echo>}
                                                {
                                                  (DQ ($ Id.VSub_DollarName command) <': probe for '> 
                                                    (${ Id.VSub_Name conf_name) <' <limits.h> value'>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_GreatAnd '>&'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<2>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'x='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'x='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x)
                                          op: assign_op.Equal
                                          rhs: (rhs_word__Empty)
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_QMark '?'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.If
                                              if_kw: <Id.KW_If if>
                                              arms: [
                                                (IfArm
                                                  keyword: <Id.KW_If if>
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Simple
                                                          blame_tok: 
                                                            <Id.VSub_DollarName '$CONF_getconf'>
                                                          more_env: []
                                                          words: [
                                                            {($ Id.VSub_DollarName CONF_getconf)}
                                                            {($ Id.VSub_DollarName conf_name)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op: <Id.Redir_Great '>'>
                                                              loc: (redir_loc.Fd fd:1)
                                                              arg: {($ Id.VSub_DollarName tmp) <.x>}
                                                            )
                                                            (Redir
                                                              op: <Id.Redir_Great '2>'>
                                                              loc: (redir_loc.Fd fd:2)
                                                              arg: {<'/dev/null'>}
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                      ]
                                                    )
                                                  then_kw: <Id.KW_Then then>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (CommandSub
                                                                left_token: <Id.Left_Backtick '`'>
                                                                child: 
                                                                  (command.Simple
                                                                    blame_tok: <cat>
                                                                    more_env: []
                                                                    words: [
                                                                      {<cat>}
                                                                      {($ Id.VSub_DollarName tmp) 
                                                                        <.x>
                                                                      }
                                                                    ]
                                                                    redirects: []
                                                                    do_fork: T
                                                                  )
                                                                right: <Id.Backtick_Right '`'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName x)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <undefined>
                                                          pattern: (pat.Words words:[{<undefined>}])
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: (rhs_word__Empty)
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [7703 7718]
                                                )
                                              ]
                                              else_action: []
                                              fi_kw: <Id.KW_Fi fi>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: 
                                        (case_arg.Word
                                          w: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name x>
                                                var_name: x
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VTest_ColonPlus _>
                                                    arg_word: {<1>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                        )
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Left_SingleQuote '\''>
                                          pattern: (pat.Words words:[{(SQ )}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {($ Id.VSub_DollarName script)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Left_SingleQuote '\''>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [{(SQ <'#'>) <Id.Lit_Star '*'>}]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <echo>
                                                      more_env: []
                                                      words: [
                                                        {<echo>}
                                                        {(DQ ($ Id.VSub_DollarName script))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName tmp) <.sh>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.Simple
                                                      blame_tok: <chmod>
                                                      more_env: []
                                                      words: [
                                                        {<chmod>}
                                                        {<Id.Lit_Other '+'> <x>}
                                                        {($ Id.VSub_DollarName tmp) <.sh>}
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (CommandSub
                                                                left_token: <Id.Left_Backtick '`'>
                                                                child: 
                                                                  (command.Simple
                                                                    blame_tok: <'./'>
                                                                    more_env: []
                                                                    words: [
                                                                      {<'./'> 
                                                                        ($ Id.VSub_DollarName tmp) <.sh>
                                                                      }
                                                                    ]
                                                                    redirects: [
                                                                      (Redir
                                                                        op: <Id.Redir_Great '2>'>
                                                                        loc: (redir_loc.Fd fd:2)
                                                                        arg: {<'/dev/null'>}
                                                                      )
                                                                    ]
                                                                    do_fork: T
                                                                  )
                                                                right: <Id.Backtick_Right '`'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Left_SingleQuote '\''>
                                                  pattern: (pat.Words words:[{(SQ )}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName conf_name)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <SIZE_>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [
                                                                {<SIZE_> <Id.Lit_Star '*'>}
                                                                {<U> <Id.Lit_Star '*'>}
                                                                {<Id.Lit_Star '*'> <_MAX>}
                                                              ]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'f='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'f='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'f='>
                                                                      name: f
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ <'%'> 
                                                                        (${ Id.VSub_Name LL_format) <u>
                                                                      )
                                                                    }
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 't='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 't='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 't='>
                                                                      name: t
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {(DQ <'unsigned _ast_intmax_t'>)}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'f='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'f='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'f='>
                                                                      name: f
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ <'%'> 
                                                                        (${ Id.VSub_Name LL_format) <d>
                                                                      )
                                                                    }
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 't='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 't='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 't='>
                                                                      name: t
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {(DQ <_ast_intmax_t>)}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                    (command.Simple
                                                      blame_tok: <cat>
                                                      more_env: []
                                                      words: [{<cat>}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName tmp) <.c>}
                                                        )
                                                        (Redir
                                                          op: <Id.Redir_DLess '<<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            (redir_param.HereDoc
                                                              here_begin: {<Id.KW_Bang '!'>}
                                                              here_end_tok: <Id.Undefined_Tok ''>
                                                              stdin_parts: [
                                                                (${ Id.VSub_Name head)
                                                                <'\n'>
                                                                <'#include <stdio.h>\n'>
                                                                <'#include <sys/types.h>\n'>
                                                                <'#include <limits.h>\n'>
                                                                <'#include <unistd.h>'>
                                                                ($ Id.VSub_DollarName systeminfo)
                                                                ($ Id.VSub_DollarName headers)
                                                                <'\n'>
                                                                (${ Id.VSub_Name tail)
                                                                <'\n'>
                                                                <'int\n'>
                                                                <'main()\n'>
                                                                <'{\n'>
                                                                <'\tprintf('>
                                                                <Id.Right_DoubleQuote '"'>
                                                                ($ Id.VSub_DollarName f)
                                                                <Id.Lit_BadBackslash '\\'>
                                                                <n>
                                                                <Id.Right_DoubleQuote '"'>
                                                                <', ('>
                                                                ($ Id.VSub_DollarName t)
                                                                <')'>
                                                                ($ Id.VSub_DollarName conf_name)
                                                                <');\n'>
                                                                <'\treturn 0;\n'>
                                                                <'}\n'>
                                                              ]
                                                            )
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <cat>
                                                      more_env: []
                                                      words: [{<cat>}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName tmp) <.c>}
                                                        )
                                                        (Redir
                                                          op: <Id.Redir_DLess '<<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            (redir_param.HereDoc
                                                              here_begin: {<Id.KW_Bang '!'>}
                                                              here_end_tok: <Id.Undefined_Tok ''>
                                                              stdin_parts: [
                                                                (${ Id.VSub_Name head)
                                                                <'\n'>
                                                                <'#include <stdio.h>\n'>
                                                                <'#include <sys/types.h>\n'>
                                                                <'#include <limits.h>\n'>
                                                                <'#include <unistd.h>'>
                                                                ($ Id.VSub_DollarName systeminfo)
                                                                ($ Id.VSub_DollarName headers)
                                                                <'\n'>
                                                                (${ Id.VSub_Name tail)
                                                                <'\n'>
                                                                (${ Id.VSub_Name script)
                                                                <'\n'>
                                                              ]
                                                            )
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName args)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Left_SingleQuote '\''>
                                                  pattern: (pat.Words words:[{(SQ )}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <set>
                                                      more_env: []
                                                      words: [{<set>} {(DQ )}]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.Simple
                                                          blame_tok: <eval>
                                                          more_env: []
                                                          words: [
                                                            {<eval>}
                                                            {<set>}
                                                            {(SQ <'""'>)}
                                                            {(SQ <'"'>) ($ Id.VSub_DollarName args) 
                                                              (SQ <'"'>)
                                                            }
                                                          ]
                                                          redirects: []
                                                          do_fork: T
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                    (command.Simple
                                                      blame_tok: <shift>
                                                      more_env: []
                                                      words: [{<shift>}]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.ForEach
                                              keyword: <Id.KW_For for>
                                              iter_names: [a]
                                              iterable: (for_iter__Args)
                                              body: 
                                                (command.DoGroup
                                                  left: <Id.KW_Do do>
                                                  children: [
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName script)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <Id.Left_SingleQuote '\''>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{(SQ <'#'>) <Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.Simple
                                                              blame_tok: <'./'>
                                                              more_env: []
                                                              words: [
                                                                {<'./'> ($ Id.VSub_DollarName tmp) 
                                                                  <.sh>
                                                                }
                                                                {($ Id.VSub_DollarName a)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op: <Id.Redir_Great '>'>
                                                                  loc: (redir_loc.Fd fd:1)
                                                                  arg: 
                                                                    {($ Id.VSub_DollarName tmp) <.x>}
                                                                )
                                                                (Redir
                                                                  op: <Id.Redir_Great '2>'>
                                                                  loc: (redir_loc.Fd fd:2)
                                                                  arg: {<'/dev/null'>}
                                                                )
                                                              ]
                                                              do_fork: T
                                                            )
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {($ Id.VSub_QMark '?')}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.AndOr
                                                              children: [
                                                                (command.Simple
                                                                  blame_tok: 
                                                                    <Id.VSub_DollarName '$cc'>
                                                                  more_env: []
                                                                  words: [
                                                                    {($ Id.VSub_DollarName cc)}
                                                                    {($ Id.VSub_DollarName a)}
                                                                    {<-o>}
                                                                    {($ Id.VSub_DollarName tmp) 
                                                                      <.exe>
                                                                    }
                                                                    {($ Id.VSub_DollarName tmp) <.c>}
                                                                  ]
                                                                  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>}
                                                                    )
                                                                  ]
                                                                  do_fork: T
                                                                )
                                                                (command.Simple
                                                                  blame_tok: <'./'>
                                                                  more_env: []
                                                                  words: [
                                                                    {<'./'> 
                                                                      ($ Id.VSub_DollarName tmp) <.exe>
                                                                    }
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Id.Redir_Great '>'>
                                                                      loc: (redir_loc.Fd fd:1)
                                                                      arg: 
                                                                        {($ Id.VSub_DollarName tmp) 
                                                                          <.x>
                                                                        }
                                                                    )
                                                                    (Redir
                                                                      op: <Id.Redir_Great '2>'>
                                                                      loc: (redir_loc.Fd fd:2)
                                                                      arg: {<'/dev/null'>}
                                                                    )
                                                                  ]
                                                                  do_fork: T
                                                                )
                                                              ]
                                                              ops: [<Id.Op_DAmp _>]
                                                            )
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {($ Id.VSub_QMark '?')}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName x)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <0>
                                                          pattern: (pat.Words words:[{<0>}])
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSub
                                                                        left_token: 
                                                                          <Id.Left_Backtick '`'>
                                                                        child: 
                                                                          (command.Simple
                                                                            blame_tok: <cat>
                                                                            more_env: []
                                                                            words: [
                                                                              {<cat>}
                                                                              {
                                                                                ($ 
Id.VSub_DollarName tmp
                                                                                ) <.x>
                                                                              }
                                                                            ]
                                                                            redirects: []
                                                                            do_fork: T
                                                                          )
                                                                        right: 
                                                                          <Id.Backtick_Right '`'>
                                                                      )
                                                                    }
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                            (command.Case
                                                              case_kw: <Id.KW_Case case>
                                                              to_match: 
                                                                (case_arg.Word
                                                                  w: {($ Id.VSub_DollarName x)}
                                                                )
                                                              arms_start: <Id.KW_In in>
                                                              arms: [
                                                                (CaseArm
                                                                  left: <Id.Left_DoubleQuote '"'>
                                                                  pattern: 
                                                                    (pat.Words
                                                                      words: [{(DQ <->)}]
                                                                    )
                                                                  middle: <Id.Right_CasePat _>
                                                                  action: [
                                                                    (command.ShAssignment
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      pairs: [
                                                                        (AssignPair
                                                                          left: <Id.Lit_VarLike 'x='>
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              left: 
                                                                                <Id.Lit_VarLike 'x='>
                                                                              name: x
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              ($ Id.VSub_DollarName a)
                                                                            }
                                                                        )
                                                                      ]
                                                                      redirects: []
                                                                    )
                                                                  ]
                                                                  right: <Id.Op_DSemi _>
                                                                )
                                                              ]
                                                              arms_end: <Id.KW_Esac esac>
                                                              redirects: []
                                                            )
                                                            (command.ControlFlow
                                                              keyword: <Id.ControlFlow_Break break>
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                        (CaseArm
                                                          left: <Id.Lit_Star '*'>
                                                          pattern: 
                                                            (pat.Words
                                                              words: [{<Id.Lit_Star '*'>}]
                                                            )
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: (rhs_word__Empty)
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.KW_Done done>
                                                )
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Left_SingleQuote '\''>
                                          pattern: (pat.Words words:[{(SQ )}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'x='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'x='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'x='>
                                                      name: x
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName d)}
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: 
                                (case_arg.Word
                                  w: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name x>
                                        var_name: x
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonPlus _>
                                            arg_word: {<1>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      ) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName flags) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName conf_op)
                                    }
                                )
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <1>
                                  pattern: 
                                    (pat.Words
                                      words: [
                                        {<1> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> 
                                          <-1>
                                        }
                                        {<1> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <X> <Id.Lit_Star '*'> 
                                          <Id.Lit_Colon ':'> <Id.Lit_Star '*'>
                                        }
                                      ]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_limit='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_limit='>
                                              name: conf_limit
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName x)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <L> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: []
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'conf_flags='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'conf_flags='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'conf_flags='>
                                                      name: conf_flags
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ (${ Id.VSub_Name conf_flags) <'|CONF_LIMIT'>)
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_flags='>
                                              name: conf_flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_LIMIT_DEF'>)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: 
                                        (case_arg.Word
                                          w: 
                                            {($ Id.VSub_DollarName string) <Id.Lit_Colon ':'> 
                                              ($ Id.VSub_DollarName x)
                                            }
                                        )
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <1>
                                          pattern: 
                                            (pat.Words
                                              words: [{<1> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <cat>
                                              more_env: []
                                              words: [{<cat>}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.l>}
                                                )
                                                (Redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<Id.KW_Bang '!'>}
                                                      here_end_tok: <Id.Undefined_Tok ''>
                                                      stdin_parts: [
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <' '>
                                                        (word_part.EscapedLiteral
                                                          token: <Id.Lit_EscapedChar '\\"'>
                                                          ch: '"'
                                                        )
                                                        (${ Id.VSub_Name x)
                                                        (word_part.EscapedLiteral
                                                          token: <Id.Lit_EscapedChar '\\"'>
                                                          ch: '"'
                                                        )
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                      ]
                                                    )
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <U> 
                                                  <Id.Lit_Star '*'>
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <cat>
                                              more_env: []
                                              words: [{<cat>}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.l>}
                                                )
                                                (Redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<Id.KW_Bang '!'>}
                                                      here_end_tok: <Id.Undefined_Tok ''>
                                                      stdin_parts: [
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name x)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name x)
                                                        <' %lu'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <', '>
                                                        (${ Id.VSub_Name x)
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <' '>
                                                        (${ Id.VSub_Name x)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                      ]
                                                    )
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> 
                                                  ($ Id.VSub_DollarName sym)
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <cat>
                                              more_env: []
                                              words: [{<cat>}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.l>}
                                                )
                                                (Redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<Id.KW_Bang '!'>}
                                                      here_end_tok: <Id.Undefined_Tok ''>
                                                      stdin_parts: [
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name x)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name x)
                                                        <' %ld'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <', '>
                                                        (${ Id.VSub_Name x)
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <' '>
                                                        (${ Id.VSub_Name x)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                      ]
                                                    )
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <cat>
                                              more_env: []
                                              words: [{<cat>}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.l>}
                                                )
                                                (Redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<Id.KW_Bang '!'>}
                                                      here_end_tok: <Id.Undefined_Tok ''>
                                                      stdin_parts: [
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#ifndef '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#define '>
                                                        (${ Id.VSub_Name conf_name)
                                                        <' '>
                                                        (${ Id.VSub_Name x)
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                        <'printf('>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'#endif'>
                                                        <Id.Lit_BadBackslash '\\'>
                                                        <n>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <');\n'>
                                                      ]
                                                    )
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName section)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_LBracket '['>
                  pattern: (pat.Words words:[{<Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'>}])
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <N> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name section) <Id.Lit_Underscore _> 
                                      (${ Id.VSub_Name name)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'standard='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'standard='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'standard='> name:standard)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name standard) (${ Id.VSub_Name section)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'conf_minmax='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'conf_minmax='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_minmax='> name:conf_minmax)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: 
                    {($ Id.VSub_DollarName call) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName standard) 
                      <Id.Lit_Colon ':'> ($ Id.VSub_DollarName flags)
                    }
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <C> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> 
                          <M> <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [s]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {<Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> 
                              (${ Id.VSub_Name conf_name)
                            }
                            {(${ Id.VSub_Name values)}
                          ]
                        )
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName s)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.VSub_DollarName '$sym'>
                                  pattern: (pat.Words words:[{($ Id.VSub_DollarName sym)}])
                                  middle: <Id.Right_CasePat _>
                                  action: []
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_minmax='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_minmax='>
                                              name: conf_minmax
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName s)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_flags='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_flags='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_flags='>
                                              name: conf_flags
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ (${ Id.VSub_Name conf_flags) <'|CONF_MINMAX_DEF'>)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_Star '*'> <Id.Lit_Colon ':'> <C> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: []
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_LBracket '['>
                  pattern: 
                    (pat.Words
                      words: [
                        {<Id.Lit_LBracket '['> <CPSX> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <CSX> 
                          <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <FM> 
                          <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'x='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'x='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [s]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {<Id.Lit_Underscore _> (${ Id.VSub_Name standard) <Id.Lit_Underscore _> 
                              (${ Id.VSub_Name conf_name)
                            }
                            {(${ Id.VSub_Name values)}
                          ]
                        )
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName s)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.VSub_DollarName '$sym'>
                                  pattern: (pat.Words words:[{($ Id.VSub_DollarName sym)}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {<Id.Lit_VarLike 'x='> (SQ <'$'>) <CONF_const_> 
                                          (${ Id.VSub_Name s)
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'x='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'x='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x)
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <1>
                                  pattern: (pat.Words words:[{<1>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_minmax='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_minmax='>
                                              name: conf_minmax
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName s)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <M> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'conf_flags='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'conf_flags='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'conf_flags='>
                                                      name: conf_flags
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ (${ Id.VSub_Name conf_flags) 
                                                        <'|CONF_MINMAX_DEF'>
                                                      )
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_minmax)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_LBracket '['>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_LBracket '['> <-> <Id.Lit_Other '+'> 
                                                  <0123456789> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'x='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'x='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'x='>
                                                      name: x
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: (rhs_word__Empty)
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: 
                        (case_arg.Word
                          w: 
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name x>
                                var_name: x
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonPlus _> arg_word:{<1>})
                                right: <Id.Right_DollarBrace '}'>
                              ) <Id.Lit_Colon ':'> 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name script>
                                var_name: script
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonPlus _> arg_word:{<1>})
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_Colon ':'>
                          pattern: (pat.Words words:[{<Id.Lit_Colon ':'> <1>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <1>
                                  pattern: (pat.Words words:[{<1>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ ($ Id.VSub_DollarName command) <': probe for _'> 
                                            (${ Id.VSub_Name standard) <_> (${ Id.VSub_Name conf_name) <' minmax value'>
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Id.Redir_GreatAnd '>&'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<2>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.If
                                      if_kw: <Id.KW_If if>
                                      arms: [
                                        (IfArm
                                          keyword: <Id.KW_If if>
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Simple
                                                  blame_tok: <Id.VSub_DollarName '$CONF_getconf'>
                                                  more_env: []
                                                  words: [
                                                    {($ Id.VSub_DollarName CONF_getconf)}
                                                    {<Id.Lit_Underscore _> (${ Id.VSub_Name standard) 
                                                      <Id.Lit_Underscore _> (${ Id.VSub_Name conf_name)
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {($ Id.VSub_DollarName tmp) <.x>}
                                                    )
                                                    (Redir
                                                      op: <Id.Redir_Great '2>'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                              ]
                                            )
                                          then_kw: <Id.KW_Then then>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'x='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'x='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'x='>
                                                      name: x
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (CommandSub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Simple
                                                            blame_tok: <cat>
                                                            more_env: []
                                                            words: [
                                                              {<cat>}
                                                              {($ Id.VSub_DollarName tmp) <.x>}
                                                            ]
                                                            redirects: []
                                                            do_fork: T
                                                          )
                                                        right: <Id.Backtick_Right '`'>
                                                      )
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <undefined>
                                                  pattern: (pat.Words words:[{<undefined>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: (rhs_word__Empty)
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          spids: [8971 8993]
                                        )
                                      ]
                                      else_action: []
                                      fi_kw: <Id.KW_Fi fi>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Left_SingleQuote '\''>
                                  pattern: (pat.Words words:[{(SQ )}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName script)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Left_SingleQuote '\''>
                                          pattern: (pat.Words words:[{(SQ <'#'>) <Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <echo>
                                              more_env: []
                                              words: [{<echo>} {(DQ ($ Id.VSub_DollarName script))}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.sh>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                            (command.Simple
                                              blame_tok: <chmod>
                                              more_env: []
                                              words: [
                                                {<chmod>}
                                                {<Id.Lit_Other '+'> <x>}
                                                {($ Id.VSub_DollarName tmp) <.sh>}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'x='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'x='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'x='>
                                                      name: x
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (CommandSub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Simple
                                                            blame_tok: <'./'>
                                                            more_env: []
                                                            words: [
                                                              {<'./'> ($ Id.VSub_DollarName tmp) <.sh>}
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op: <Id.Redir_Great '2>'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<'/dev/null'>}
                                                              )
                                                            ]
                                                            do_fork: T
                                                          )
                                                        right: <Id.Backtick_Right '`'>
                                                      )
                                                    }
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <cat>
                                              more_env: []
                                              words: [{<cat>}]
                                              redirects: [
                                                (Redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {($ Id.VSub_DollarName tmp) <.c>}
                                                )
                                                (Redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<Id.KW_Bang '!'>}
                                                      here_end_tok: <Id.Undefined_Tok ''>
                                                      stdin_parts: [
                                                        (${ Id.VSub_Name head)
                                                        <'\n'>
                                                        <'#include <sys/types.h>\n'>
                                                        <'#include <limits.h>\n'>
                                                        <'#include <unistd.h>'>
                                                        ($ Id.VSub_DollarName systeminfo)
                                                        ($ Id.VSub_DollarName headers)
                                                        <'\n'>
                                                        (${ Id.VSub_Name tail)
                                                        <'\n'>
                                                        (${ Id.VSub_Name script)
                                                        <'\n'>
                                                      ]
                                                    )
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName args)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Left_SingleQuote '\''>
                                          pattern: (pat.Words words:[{(SQ )}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Simple
                                              blame_tok: <set>
                                              more_env: []
                                              words: [{<set>} {(DQ )}]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Sentence
                                              child: 
                                                (command.Simple
                                                  blame_tok: <eval>
                                                  more_env: []
                                                  words: [
                                                    {<eval>}
                                                    {<set>}
                                                    {(SQ <'""'>)}
                                                    {(DQ ($ Id.VSub_DollarName args))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                            (command.Simple
                                              blame_tok: <shift>
                                              more_env: []
                                              words: [{<shift>}]
                                              redirects: []
                                              do_fork: T
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                    (command.ForEach
                                      keyword: <Id.KW_For for>
                                      iter_names: [a]
                                      iterable: (for_iter__Args)
                                      body: 
                                        (command.DoGroup
                                          left: <Id.KW_Do do>
                                          children: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: {($ Id.VSub_DollarName script)}
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Left_SingleQuote '\''>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [{(SQ <'#'>) <Id.Lit_Star '*'>}]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.Simple
                                                      blame_tok: <'./'>
                                                      more_env: []
                                                      words: [
                                                        {<'./'> ($ Id.VSub_DollarName tmp) <.sh>}
                                                        {($ Id.VSub_DollarName a)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName tmp) <.x>}
                                                        )
                                                        (Redir
                                                          op: <Id.Redir_Great '2>'>
                                                          loc: (redir_loc.Fd fd:2)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_QMark '?')}
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.AndOr
                                                      children: [
                                                        (command.Simple
                                                          blame_tok: <Id.VSub_DollarName '$cc'>
                                                          more_env: []
                                                          words: [
                                                            {($ Id.VSub_DollarName cc)}
                                                            {($ Id.VSub_DollarName a)}
                                                            {<-o>}
                                                            {($ Id.VSub_DollarName tmp) <.exe>}
                                                            {($ Id.VSub_DollarName tmp) <.c>}
                                                          ]
                                                          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>}
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                        (command.Simple
                                                          blame_tok: <'./'>
                                                          more_env: []
                                                          words: [
                                                            {<'./'> ($ Id.VSub_DollarName tmp) <.exe>}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op: <Id.Redir_Great '>'>
                                                              loc: (redir_loc.Fd fd:1)
                                                              arg: {($ Id.VSub_DollarName tmp) <.x>}
                                                            )
                                                            (Redir
                                                              op: <Id.Redir_Great '2>'>
                                                              loc: (redir_loc.Fd fd:2)
                                                              arg: {<'/dev/null'>}
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                      ]
                                                      ops: [<Id.Op_DAmp _>]
                                                    )
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_QMark '?')}
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <0>
                                                  pattern: (pat.Words words:[{<0>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (CommandSub
                                                                left_token: <Id.Left_Backtick '`'>
                                                                child: 
                                                                  (command.Simple
                                                                    blame_tok: <cat>
                                                                    more_env: []
                                                                    words: [
                                                                      {<cat>}
                                                                      {($ Id.VSub_DollarName tmp) 
                                                                        <.x>
                                                                      }
                                                                    ]
                                                                    redirects: []
                                                                    do_fork: T
                                                                  )
                                                                right: <Id.Backtick_Right '`'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                    (command.Case
                                                      case_kw: <Id.KW_Case case>
                                                      to_match: 
                                                        (case_arg.Word
                                                          w: {($ Id.VSub_DollarName x)}
                                                        )
                                                      arms_start: <Id.KW_In in>
                                                      arms: [
                                                        (CaseArm
                                                          left: <Id.Left_DoubleQuote '"'>
                                                          pattern: (pat.Words words:[{(DQ <->)}])
                                                          middle: <Id.Right_CasePat _>
                                                          action: [
                                                            (command.ShAssignment
                                                              left: <Id.Lit_VarLike 'x='>
                                                              pairs: [
                                                                (AssignPair
                                                                  left: <Id.Lit_VarLike 'x='>
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: <Id.Lit_VarLike 'x='>
                                                                      name: x
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {($ Id.VSub_DollarName a)}
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          right: <Id.Op_DSemi _>
                                                        )
                                                      ]
                                                      arms_end: <Id.KW_Esac esac>
                                                      redirects: []
                                                    )
                                                    (command.ControlFlow
                                                      keyword: <Id.ControlFlow_Break break>
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'x='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'x='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'x='>
                                                              name: x
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: (rhs_word__Empty)
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.KW_Done done>
                                        )
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName x)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'conf_minmax='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'conf_minmax='>
                                              name: conf_minmax
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName x)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName flags)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [{<Id.Lit_Star '*'> <M> <Id.Lit_Star '*'>}]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.Case
                                              case_kw: <Id.KW_Case case>
                                              to_match: 
                                                (case_arg.Word
                                                  w: 
                                                    {
                                                      (DQ <'|'> ($ Id.VSub_DollarName conf_flags) <'|'>)
                                                    }
                                                )
                                              arms_start: <Id.KW_In in>
                                              arms: [
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: 
                                                    (pat.Words
                                                      words: [
                                                        {<Id.Lit_Star '*'> (SQ <'|CONF_MINMAX_DEF|'>) 
                                                          <Id.Lit_Star '*'>
                                                        }
                                                      ]
                                                    )
                                                  middle: <Id.Right_CasePat _>
                                                  action: []
                                                  right: <Id.Op_DSemi _>
                                                )
                                                (CaseArm
                                                  left: <Id.Lit_Star '*'>
                                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                                  middle: <Id.Right_CasePat _>
                                                  action: [
                                                    (command.ShAssignment
                                                      left: <Id.Lit_VarLike 'conf_flags='>
                                                      pairs: [
                                                        (AssignPair
                                                          left: <Id.Lit_VarLike 'conf_flags='>
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'conf_flags='>
                                                              name: conf_flags
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ (${ Id.VSub_Name conf_flags) 
                                                                <'|CONF_MINMAX_DEF'>
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  right: <Id.Op_DSemi _>
                                                )
                                              ]
                                              arms_end: <Id.KW_Esac esac>
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName string)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: (pat.Words words:[{<1>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_limit='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_limit='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_limit='> name:conf_limit)
                          op: assign_op.Equal
                          rhs: {(DQ <'{ 0, '> ($ Id.VSub_DollarName conf_limit) <' }'>)}
                        )
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_minmax='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              name: conf_minmax
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'{ 0, '> ($ Id.VSub_DollarName conf_minmax) <' }'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_limit)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <0>
                          pattern: 
                            (pat.Words
                              words: [
                                {<0> <Id.Lit_LBracket '['> <xX> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                {<-> <Id.Lit_Star '*'>}
                                {<Id.Lit_Other '+'> <Id.Lit_Star '*'>}
                                {<Id.Lit_LBracket '['> 
                                  <ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> 
                                  <0123456789abcdefABCDEF> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <0123456789> 
                                  <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0x> ($ Id.VSub_DollarName conf_limit)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_minmax)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <0>
                          pattern: 
                            (pat.Words
                              words: [
                                {<0> <Id.Lit_LBracket '['> <xX> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                {<-> <Id.Lit_Star '*'>}
                                {<Id.Lit_Other '+'> <Id.Lit_Star '*'>}
                                {<Id.Lit_LBracket '['> 
                                  <ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> 
                                  <0123456789abcdefABCDEF> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <0123456789> 
                                  <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0x> ($ Id.VSub_DollarName conf_minmax)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_limit)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_QMark '?'> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <-> 
                                  <Id.Lit_Other '+'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (SQ <'()'>) 
                                  <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <lLuU> <Id.Lit_RBracket ']'>}
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName LL_suffix)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_QMark '?'> <Id.Lit_QMark '?'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_limit)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                  <Id.KW_Bang '!'> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <lL> <Id.Lit_RBracket ']'>
                                                }
                                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                  <Id.KW_Bang '!'> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <uU> 
                                                  <Id.Lit_RBracket ']'>
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'conf_limit='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'conf_limit='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'conf_limit='>
                                                      name: conf_limit
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(${ Id.VSub_Name conf_limit) <L>}
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <->
                          pattern: 
                            (pat.Words
                              words: [
                                {<-> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <2468> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <ksh>
                                  pattern: (pat.Words words:[{<ksh>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'p='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'p='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p='> name:p)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name conf_limit>
                                                var_name: conf_limit
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_Percent '%'>
                                                    arg_word: {<Id.Lit_Other '?'>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 's='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 's='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 's='> name:s)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name conf_limit>
                                                var_name: conf_limit
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_Pound '#'>
                                                    arg_word: {($ Id.VSub_DollarName p)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.DParen
                                      left: <Id.Op_DLeftParen _>
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_Equal
                                          left: ($ Id.Lit_ArithVarLike s)
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Minus
                                              left: ($ Id.Lit_ArithVarLike s)
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: <Id.Op_DRightParen _>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (command.Simple
                                                    blame_tok: <echo>
                                                    more_env: []
                                                    words: [
                                                      {<echo>}
                                                      {(SQ )}
                                                      {($ Id.VSub_DollarName conf_limit)}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                  (command.Simple
                                                    blame_tok: <sed>
                                                    more_env: []
                                                    words: [
                                                      {<sed>}
                                                      {(SQ <'s/ *\\(.*\\)\\(.\\) */p=\\1 s=\\2/'>)}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                ]
                                                ops: [<Id.Op_Pipe _>]
                                              )
                                            right: <Id.Backtick_Right '`'>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 's='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 's='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 's='> name:s)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (CommandSub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Simple
                                                    blame_tok: <expr>
                                                    more_env: []
                                                    words: [
                                                      {<expr>}
                                                      {($ Id.VSub_DollarName s)}
                                                      {<->}
                                                      {<1>}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                right: <Id.Backtick_Right '`'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name p) (${ Id.VSub_Name s) 
                                      (${ Id.VSub_Name LL_suffix) <-1> (${ Id.VSub_Name LL_suffix)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <0>
                          pattern: 
                            (pat.Words
                              words: [
                                {<0> <Id.Lit_LBracket '['> <xX> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> 
                                  <Id.Lit_LBracket '['> <abcdefABCDEF> <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name conf_limit) (${ Id.VSub_Name LL_suffix)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <->
                          pattern: 
                            (pat.Words
                              words: [
                                {<-> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0123456789> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name conf_limit) (${ Id.VSub_Name LL_suffix)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0123456789> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_limit='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_limit='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_limit='>
                                      name: conf_limit
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name conf_limit) (${ Id.VSub_Name U_suffix) 
                                      (${ Id.VSub_Name LL_suffix)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_minmax)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_QMark '?'> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <-> 
                                  <Id.Lit_Other '+'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> (SQ <'()'>) 
                                  <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: []
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <lLuU> <Id.Lit_RBracket ']'>}
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName LL_suffix)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <Id.Lit_QMark '?'>
                                  pattern: 
                                    (pat.Words
                                      words: [{<Id.Lit_QMark '?'> <Id.Lit_QMark '?'>}]
                                    )
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Case
                                      case_kw: <Id.KW_Case case>
                                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_minmax)})
                                      arms_start: <Id.KW_In in>
                                      arms: [
                                        (CaseArm
                                          left: <Id.Lit_Star '*'>
                                          pattern: 
                                            (pat.Words
                                              words: [
                                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                  <Id.KW_Bang '!'> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <lL> <Id.Lit_RBracket ']'>
                                                }
                                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                  <Id.KW_Bang '!'> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <lL> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <uU> 
                                                  <Id.Lit_RBracket ']'>
                                                }
                                              ]
                                            )
                                          middle: <Id.Right_CasePat _>
                                          action: [
                                            (command.ShAssignment
                                              left: <Id.Lit_VarLike 'conf_minmax='>
                                              pairs: [
                                                (AssignPair
                                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                                      name: conf_minmax
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(${ Id.VSub_Name conf_minmax) <L>}
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          right: <Id.Op_DSemi _>
                                        )
                                      ]
                                      arms_end: <Id.KW_Esac esac>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <->
                          pattern: 
                            (pat.Words
                              words: [
                                {<-> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <2468> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Case
                              case_kw: <Id.KW_Case case>
                              to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
                              arms_start: <Id.KW_In in>
                              arms: [
                                (CaseArm
                                  left: <ksh>
                                  pattern: (pat.Words words:[{<ksh>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'p='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'p='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p='> name:p)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name conf_minmax>
                                                var_name: conf_minmax
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_Percent '%'>
                                                    arg_word: {<Id.Lit_Other '?'>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 's='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 's='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 's='> name:s)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name conf_minmax>
                                                var_name: conf_minmax
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_Pound '#'>
                                                    arg_word: {($ Id.VSub_DollarName p)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.DParen
                                      left: <Id.Op_DLeftParen _>
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_Equal
                                          left: ($ Id.Lit_ArithVarLike s)
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Minus
                                              left: ($ Id.Lit_ArithVarLike s)
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: <Id.Op_DRightParen _>
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                                (CaseArm
                                  left: <Id.Lit_Star '*'>
                                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                                  middle: <Id.Right_CasePat _>
                                  action: [
                                    (command.Simple
                                      blame_tok: <eval>
                                      more_env: []
                                      words: [
                                        {<eval>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (command.Simple
                                                    blame_tok: <echo>
                                                    more_env: []
                                                    words: [
                                                      {<echo>}
                                                      {(SQ )}
                                                      {($ Id.VSub_DollarName conf_minmax)}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                  (command.Simple
                                                    blame_tok: <sed>
                                                    more_env: []
                                                    words: [
                                                      {<sed>}
                                                      {(SQ <'s/ *\\(.*\\)\\(.\\) */p=\\1 s=\\2/'>)}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                ]
                                                ops: [<Id.Op_Pipe _>]
                                              )
                                            right: <Id.Backtick_Right '`'>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 's='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 's='>
                                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 's='> name:s)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (CommandSub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Simple
                                                    blame_tok: <expr>
                                                    more_env: []
                                                    words: [
                                                      {<expr>}
                                                      {($ Id.VSub_DollarName s)}
                                                      {<->}
                                                      {<1>}
                                                    ]
                                                    redirects: []
                                                    do_fork: T
                                                  )
                                                right: <Id.Backtick_Right '`'>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  right: <Id.Op_DSemi _>
                                )
                              ]
                              arms_end: <Id.KW_Esac esac>
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name p) (${ Id.VSub_Name s) 
                                      (${ Id.VSub_Name LL_suffix) <-1> (${ Id.VSub_Name LL_suffix)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <0>
                          pattern: 
                            (pat.Words
                              words: [
                                {<0> <Id.Lit_LBracket '['> <xX> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> 
                                  <Id.Lit_LBracket '['> <abcdefABCDEF> <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name conf_minmax) (${ Id.VSub_Name LL_suffix)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <->
                          pattern: 
                            (pat.Words
                              words: [
                                {<-> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0123456789> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: {(${ Id.VSub_Name conf_minmax) (${ Id.VSub_Name LL_suffix)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: 
                            (pat.Words
                              words: [
                                {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0123456789> 
                                  <Id.Lit_RBracket ']'>
                                }
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_minmax='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_minmax='>
                                      name: conf_minmax
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(${ Id.VSub_Name conf_minmax) (${ Id.VSub_Name U_suffix) 
                                      (${ Id.VSub_Name LL_suffix)
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'conf_limit='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_limit='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'conf_limit='> name:conf_limit)
                          op: assign_op.Equal
                          rhs: {(DQ <'{ '> ($ Id.VSub_DollarName conf_limit) <', 0 }'>)}
                        )
                        (AssignPair
                          left: <Id.Lit_VarLike 'conf_minmax='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'conf_minmax='>
                              name: conf_minmax
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'{ '> ($ Id.VSub_DollarName conf_minmax) <', 0 }'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName conf_flags)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ <'0|'>) <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <ksh>
                          pattern: (pat.Words words:[{<ksh>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_flags='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_flags='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_flags='>
                                      name: conf_flags
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name conf_flags>
                                        var_name: conf_flags
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VOp1_Pound '#'>
                                            arg_word: {<0> <Id.Lit_Other '?'>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'conf_flags='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'conf_flags='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'conf_flags='>
                                      name: conf_flags
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (CommandSub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                blame_tok: <echo>
                                                more_env: []
                                                words: [
                                                  {<echo>}
                                                  {(DQ ($ Id.VSub_DollarName conf_flags))}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                              (command.Simple
                                                blame_tok: <sed>
                                                more_env: []
                                                words: [{<sed>} {(SQ <'s/^0.//'>)}]
                                                redirects: []
                                                do_fork: T
                                              )
                                            ]
                                            ops: [<Id.Op_Pipe _>]
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'{ '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                    ($ Id.VSub_DollarName conf_name) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                    ($ Id.VSub_DollarName conf_limit) <', '> ($ Id.VSub_DollarName conf_minmax) <', '> ($ Id.VSub_DollarName conf_flags) <', '> 
                    ($ Id.VSub_DollarName conf_standard) <', '> ($ Id.VSub_DollarName conf_section) <', '> ($ Id.VSub_DollarName conf_call) <', '> 
                    ($ Id.VSub_DollarName conf_op) <' },'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <ksh>
                  pattern: (pat.Words words:[{<ksh>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'len='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'len='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name conf_name>
                                var_name: conf_name
                                prefix_op: <Id.VSub_Pound '#'>
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.DParen
                                  left: <Id.Op_DLeftParen _>
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_GreatEqual
                                      left: ($ Id.Lit_ArithVarLike len)
                                      right: ($ Id.Lit_ArithVarLike name_max)
                                    )
                                  right: <Id.Op_DRightParen _>
                                  redirects: []
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.DParen
                              left: <Id.Op_DLeftParen _>
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike name_max)
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: ($ Id.Lit_ArithVarLike len)
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              right: <Id.Op_DRightParen _>
                              redirects: []
                            )
                          ]
                          spids: [10297 10307]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'len='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'len='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (command.Simple
                                        blame_tok: <echo>
                                        more_env: []
                                        words: [{<echo>} {(${ Id.VSub_Name conf_name)}]
                                        redirects: []
                                        do_fork: T
                                      )
                                      (command.Simple
                                        blame_tok: <wc>
                                        more_env: []
                                        words: [{<wc>} {<-c>}]
                                        redirects: []
                                        do_fork: T
                                      )
                                    ]
                                    ops: [<Id.Op_Pipe _>]
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Simple
                                  blame_tok: <expr>
                                  more_env: []
                                  words: [
                                    {<expr>}
                                    {
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\('>
                                        ch: '('
                                      )
                                    }
                                    {($ Id.VSub_DollarName len)}
                                    {<->}
                                    {<1>}
                                    {
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\)'>
                                        ch: ')'
                                      )
                                    }
                                    {
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\>'>
                                        ch: '>'
                                      ) <Id.Lit_Equals '='>
                                    }
                                    {(${ Id.VSub_Name name_max)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'name_max='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'name_max='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'name_max='>
                                      name: name_max
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName len)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [10346 10371]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d6>
          pattern: (pat.Words words:[{<-d6>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit>)]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'base='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'base='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base)
          op: assign_op.Equal
          rhs: {<conftab>}
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName command) <': generate '> (${ Id.VSub_Name base) 
                    <'.h string table header'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <ksh>
          pattern: (pat.Words words:[{<ksh>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.DParen
                  left: <Id.Op_DLeftParen _>
                  child: 
                    (arith_expr.BinaryAssign
                      op_id: Id.Arith_Equal
                      left: ($ Id.Lit_ArithVarLike name_max)
                      right: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Plus
                          left: ($ Id.Lit_ArithVarLike name_max)
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  right: <Id.Op_DRightParen _>
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike name_max)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Star
                      left: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Slash
                          left: ($ Id.Lit_ArithVarLike name_max)
                          right: {<Id.Lit_Digits 4>}
                        )
                      right: {<Id.Lit_Digits 4>}
                    )
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'name_max='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'name_max='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name_max='> name:name_max)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Simple
                            blame_tok: <expr>
                            more_env: []
                            words: [
                              {<expr>}
                              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('> ch:'(')}
                              {($ Id.VSub_DollarName name_max)}
                              {<Id.Lit_Other '+'>}
                              {<3>}
                              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'> ch:')')}
                              {<'/'>}
                              {<4>}
                              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*')}
                              {<4>}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (BraceGroup
      left: <Id.Lit_LBrace '{'>
      children: [
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    <'#ifndef _CONFTAB_H\n'>
                    <'#define _CONFTAB_H\n'>
                    ($ Id.VSub_DollarName systeminfo)
                    <'\n'>
                    <'\n'>
                    (${ Id.VSub_Name generated)
                    <'\n'>
                    <'\n'>
                    <
'#if !defined(const) && !defined(__STDC__) && !defined(__cplusplus) && !defined(c_plusplus)\n'
                    >
                    <'#define const\n'>
                    <'#endif\n'>
                    <'\n'>
                    <'#define conf\t\t_ast_conf_data\n'>
                    <'#define conf_elements\t_ast_conf_ndata\n'>
                    <'\n'>
                    <'#define prefix\t\t_ast_conf_prefix\n'>
                    <'#define prefix_elements\t_ast_conf_nprefix\n'>
                    <'\n'>
                    <'#define CONF_nop\t0\n'>
                    <'#define\tCONF_confstr\t1\n'>
                    <'#define CONF_pathconf\t2\n'>
                    <'#define CONF_sysconf\t3\n'>
                    <'#define CONF_sysinfo\t4\n'>
                    <'\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike 'index='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'index='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index='> name:index)
              op: assign_op.Equal
              rhs: {<0>}
            )
          ]
          redirects: []
        )
        (command.ForEach
          keyword: <Id.KW_For for>
          iter_names: [standard]
          iterable: (for_iter.Words words:[{($ Id.VSub_DollarName standards)}])
          body: 
            (command.DoGroup
              left: <Id.KW_Do do>
              children: [
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {(DQ <'#define CONF_'> (${ Id.VSub_Name standard) <'\t'> (${ Id.VSub_Name index))}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Case
                  case_kw: <Id.KW_Case case>
                  to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
                  arms_start: <Id.KW_In in>
                  arms: [
                    (CaseArm
                      left: <ksh>
                      pattern: (pat.Words words:[{<ksh>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.DParen
                          left: <Id.Op_DLeftParen _>
                          child: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_Equal
                              left: ($ Id.Lit_ArithVarLike index)
                              right: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Plus
                                  left: ($ Id.Lit_ArithVarLike index)
                                  right: {<Id.Lit_Digits 1>}
                                )
                            )
                          right: <Id.Op_DRightParen _>
                          redirects: []
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <Id.Lit_Star '*'>
                      pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'index='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'index='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index='> name:index)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (CommandSub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: 
                                      (command.Simple
                                        blame_tok: <expr>
                                        more_env: []
                                        words: [
                                          {<expr>}
                                          {(${ Id.VSub_Name index)}
                                          {<Id.Lit_Other '+'>}
                                          {<1>}
                                        ]
                                        redirects: []
                                        do_fork: T
                                      )
                                    right: <Id.Backtick_Right '`'>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                  ]
                  arms_end: <Id.KW_Esac esac>
                  redirects: []
                )
              ]
              right: <Id.KW_Done done>
            )
          redirects: []
        )
        (command.Simple
          blame_tok: <echo>
          more_env: []
          words: [{<echo>} {(DQ <'#define CONF_call\t'> (${ Id.VSub_Name index))}]
          redirects: []
          do_fork: T
        )
        (command.Case
          case_kw: <Id.KW_Case case>
          to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf)})
          arms_start: <Id.KW_In in>
          arms: [
            (CaseArm
              left: <Id.Lit_QMark '?'>
              pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
              middle: <Id.Right_CasePat _>
              action: [
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {
                      (DQ <'#define _pth_getconf\t'> 
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\"'>
                          ch: '"'
                        ) ($ Id.VSub_DollarName CONF_getconf) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Case
                  case_kw: <Id.KW_Case case>
                  to_match: (case_arg.Word w:{($ Id.VSub_DollarName CONF_getconf_a)})
                  arms_start: <Id.KW_In in>
                  arms: [
                    (CaseArm
                      left: <Id.Lit_QMark '?'>
                      pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [
                            {<echo>}
                            {
                              (DQ <'#define _pth_getconf_a\t'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) ($ Id.VSub_DollarName CONF_getconf_a) 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                  ]
                  arms_end: <Id.KW_Esac esac>
                  redirects: []
                )
              ]
              right: <Id.Op_DSemi _>
            )
          ]
          arms_end: <Id.KW_Esac esac>
          redirects: []
        )
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    <'\n'>
                    <'#define CONF_DEFER_CALL\t\t0x0001\n'>
                    <'#define CONF_DEFER_MM\t\t0x0002\n'>
                    <'#define CONF_FEATURE\t\t0x0004\n'>
                    <'#define CONF_LIMIT\t\t0x0008\n'>
                    <'#define CONF_LIMIT_DEF\t\t0x0010\n'>
                    <'#define CONF_MINMAX\t\t0x0020\n'>
                    <'#define CONF_MINMAX_DEF\t\t0x0040\n'>
                    <'#define CONF_NOSECTION\t\t0x0080\n'>
                    <'#define CONF_NOUNDERSCORE\t0x0100\n'>
                    <'#define CONF_PREFIX_ONLY\t0x0200\n'>
                    <'#define CONF_PREFIXED\t\t0x0400\n'>
                    <'#define CONF_STANDARD\t\t0x0800\n'>
                    <'#define CONF_STRING\t\t0x1000\n'>
                    <'#define CONF_UNDERSCORE\t\t0x2000\n'>
                    <'#define CONF_USER\t\t0x4000\n'>
                    <'\n'>
                    <'struct Conf_s; typedef struct Conf_s Conf_t;\n'>
                    <'\n'>
                    <'typedef struct Value_s\n'>
                    <'{\n'>
                    <'\tintmax_t\tnumber;\n'>
                    <'\tconst char*\tstring;\n'>
                    <'} Value_t;\n'>
                    <'\n'>
                    <'struct Conf_s\n'>
                    <'{\n'>
                    <'\tconst char\tname['>
                    (${ Id.VSub_Name name_max)
                    <'];\n'>
                    <'\tValue_t\t\tlimit;\n'>
                    <'\tValue_t\t\tminmax;\n'>
                    <'\tunsigned int\tflags;\n'>
                    <'\tshort\t\tstandard;\n'>
                    <'\tshort\t\tsection;\n'>
                    <'\tshort\t\tcall;\n'>
                    <'\tshort\t\top;\n'>
                    <'};\n'>
                    <'\n'>
                    <'typedef struct Prefix_s\n'>
                    <'{\n'>
                    <'\tconst char\tname[16];\n'>
                    <'\tshort\t\tlength;\n'>
                    <'\tshort\t\tstandard;\n'>
                    <'\tshort\t\tcall;\n'>
                    <'} Prefix_t;\n'>
                    <'\n'>
                    <'extern const Conf_t\tconf[];\n'>
                    <'extern const int\tconf_elements;\n'>
                    <'\n'>
                    <'extern const Prefix_t\tprefix[];\n'>
                    <'extern const int\tprefix_elements;\n'>
                    <'\n'>
                    <'#endif\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
      ]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.2>}
        )
      ]
      right: <Id.Lit_RBrace '}'>
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d7>
          pattern: (pat.Words words:[{<-d7>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {($ Id.VSub_DollarName command) <Id.Lit_Colon ':'>}
                {($ Id.VSub_DollarName tmp) <.2>}
                {(${ Id.VSub_Name base) <.h>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <cmp>
                  more_env: []
                  words: [{<cmp>} {<-s>} {($ Id.VSub_DollarName tmp) <.2>} {(${ Id.VSub_Name base) <.h>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mv>
                  more_env: []
                  words: [{<mv>} {($ Id.VSub_DollarName tmp) <.2>} {(${ Id.VSub_Name base) <.h>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName command) <': generate '> (${ Id.VSub_Name base) 
                    <'.c string table'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (BraceGroup
      left: <Id.Lit_LBrace '{'>
      children: [
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    (${ Id.VSub_Name head)
                    <'\n'>
                    <'#include <sys/types.h>\n'>
                    <'#include <limits.h>\n'>
                    <'#include <unistd.h>'>
                    ($ Id.VSub_DollarName systeminfo)
                    ($ Id.VSub_DollarName headers)
                    <'\n'>
                    (${ Id.VSub_Name tail)
                    <'\n'>
                    <'#include '>
                    <Id.Right_DoubleQuote '"'>
                    (${ Id.VSub_Name base)
                    <.h>
                    <Id.Right_DoubleQuote '"'>
                    <'\n'>
                    <'\n'>
                    (${ Id.VSub_Name generated)
                    <'\n'>
                    <'\n'>
                    <'/*\n'>
                    <' * prefix strings -- the first few are indexed by Conf_t.standard\n'>
                    <' */\n'>
                    <'\n'>
                    <'const Prefix_t prefix[] =\n'>
                    <'{\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
        (command.ForEach
          keyword: <Id.KW_For for>
          iter_names: [standard]
          iterable: (for_iter.Words words:[{($ Id.VSub_DollarName standards)}])
          body: 
            (command.DoGroup
              left: <Id.KW_Do do>
              children: [
                (command.Case
                  case_kw: <Id.KW_Case case>
                  to_match: (case_arg.Word w:{($ Id.VSub_DollarName shell)})
                  arms_start: <Id.KW_In in>
                  arms: [
                    (CaseArm
                      left: <ksh>
                      pattern: (pat.Words words:[{<ksh>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'len='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'len='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (BracedVarSub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name standard>
                                    var_name: standard
                                    prefix_op: <Id.VSub_Pound '#'>
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <Id.Lit_Star '*'>
                      pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'len='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'len='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (CommandSub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                blame_tok: <echo>
                                                more_env: []
                                                words: [{<echo>} {(${ Id.VSub_Name standard)}]
                                                redirects: []
                                                do_fork: T
                                              )
                                              (command.Simple
                                                blame_tok: <wc>
                                                more_env: []
                                                words: [{<wc>} {<-c>}]
                                                redirects: []
                                                do_fork: T
                                              )
                                            ]
                                            ops: [<Id.Op_Pipe _>]
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'len='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'len='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'len='> name:len)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (CommandSub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: 
                                      (command.Simple
                                        blame_tok: <expr>
                                        more_env: []
                                        words: [{<expr>} {($ Id.VSub_DollarName len)} {<->} {<1>}]
                                        redirects: []
                                        do_fork: T
                                      )
                                    right: <Id.Backtick_Right '`'>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                  ]
                  arms_end: <Id.KW_Esac esac>
                  redirects: []
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {
                      (DQ <'\t'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                        (${ Id.VSub_Name standard) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <',\t'> (${ Id.VSub_Name len) 
                        <',\tCONF_'> (${ Id.VSub_Name standard) <',\t-1,'>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              right: <Id.KW_Done done>
            )
          redirects: []
        )
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    <'\t'>
                    <Id.Right_DoubleQuote '"'>
                    <XX>
                    <Id.Right_DoubleQuote '"'>
                    <',\t\t2,\tCONF_POSIX,\tCONF_nop,\n'>
                    <'\t'>
                    <Id.Right_DoubleQuote '"'>
                    <CS>
                    <Id.Right_DoubleQuote '"'>
                    <',\t\t2,\tCONF_POSIX,\tCONF_confstr,\n'>
                    <'\t'>
                    <Id.Right_DoubleQuote '"'>
                    <PC>
                    <Id.Right_DoubleQuote '"'>
                    <',\t\t2,\tCONF_POSIX,\tCONF_pathconf,\n'>
                    <'\t'>
                    <Id.Right_DoubleQuote '"'>
                    <SC>
                    <Id.Right_DoubleQuote '"'>
                    <',\t\t2,\tCONF_POSIX,\tCONF_sysconf,\n'>
                    <'\t'>
                    <Id.Right_DoubleQuote '"'>
                    <SI>
                    <Id.Right_DoubleQuote '"'>
                    <',\t\t2,\tCONF_SVID,\tCONF_sysinfo,\n'>
                    <'};\n'>
                    <'\n'>
                    <'const int\tprefix_elements = (int)sizeof(prefix) / (int)sizeof(prefix[0]);\n'>
                    <'\n'>
                    <'/*\n'>
                    <' * conf strings sorted in ascending order\n'>
                    <' */\n'>
                    <'\n'>
                    <'const Conf_t conf[] =\n'>
                    <'{\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>} {($ Id.VSub_DollarName tmp) <.t>}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    <'};\n'>
                    <'\n'>
                    <'const int\tconf_elements = (int)sizeof(conf) / (int)sizeof(conf[0]);\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
      ]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.4>}
        )
      ]
      right: <Id.Lit_RBrace '}'>
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d7>
          pattern: (pat.Words words:[{<-d7>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {($ Id.VSub_DollarName command) <Id.Lit_Colon ':'>}
                {($ Id.VSub_DollarName tmp) <.4>}
                {(${ Id.VSub_Name base) <.c>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <cmp>
                  more_env: []
                  words: [{<cmp>} {<-s>} {($ Id.VSub_DollarName tmp) <.4>} {(${ Id.VSub_Name base) <.c>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mv>
                  more_env: []
                  words: [{<mv>} {($ Id.VSub_DollarName tmp) <.4>} {(${ Id.VSub_Name base) <.c>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'base='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'base='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base)
          op: assign_op.Equal
          rhs: {<conflim>}
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName verbose)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName command) <': generate '> (${ Id.VSub_Name base) 
                    <'.h supplemental <limits.h> values'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (BraceGroup
      left: <Id.Lit_LBrace '{'>
      children: [
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>}]
          redirects: [
            (Redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<Id.KW_Bang '!'>}
                  here_end_tok: <Id.Undefined_Tok ''>
                  stdin_parts: [
                    (${ Id.VSub_Name generated)
                    <'\n'>
                    <'\n'>
                    <'/*\n'>
                    <' * supplemental <limits.h> values\n'>
                    <' */\n'>
                    <'\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
        (command.AndOr
          children: [
            (command.Simple
              blame_tok: <test>
              more_env: []
              words: [{<test>} {<-f>} {($ Id.VSub_DollarName tmp) <.l>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {($ Id.VSub_DollarName tmp) <.l>}]
              redirects: []
              do_fork: T
            )
          ]
          ops: [<Id.Op_DAmp _>]
        )
      ]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmp) <.5>}
        )
      ]
      right: <Id.Lit_RBrace '}'>
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName debug)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <-d7>
          pattern: (pat.Words words:[{<-d7>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {($ Id.VSub_DollarName command) <Id.Lit_Colon ':'>}
                {($ Id.VSub_DollarName tmp) <.5>}
                {(${ Id.VSub_Name base) <.h>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <cmp>
                  more_env: []
                  words: [{<cmp>} {<-s>} {($ Id.VSub_DollarName tmp) <.5>} {(${ Id.VSub_Name base) <.h>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mv>
                  more_env: []
                  words: [{<mv>} {($ Id.VSub_DollarName tmp) <.5>} {(${ Id.VSub_Name base) <.h>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)