(command.CommandList
  children: [
    (C {(Id.Lit_Other ':')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_OS_SH)
          op: assign_op.Equal
          rhs: {(Id.Lit_Other ':')}
          spids: [100]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OS)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:105)
                command_list: (command.CommandList children:[(C {(uname)})])
              )
            }
          spids: [104]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OSREL)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:112)
                command_list: (command.CommandList children:[(C {(uname)} {(-r)})])
              )
            }
          spids: [111]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OSMAJOR)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:121)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (command.ShAssignment
                            pairs: [
                              (assign_pair
                                lhs: (sh_lhs_expr.Name name:IFS)
                                op: assign_op.Equal
                                rhs: {(.)}
                                spids: [124]
                              )
                            ]
                          )
                        terminator: (Token id:Id.Op_Semi val:';' span_id:126)
                      )
                      (command.Sentence
                        child: (C {(Id.KW_Set set)} {($ Id.VSub_DollarName '$OSREL')})
                        terminator: (Token id:Id.Op_Semi val:';' span_id:131)
                      )
                      (C {(echo)} {($ Id.VSub_Number '$1')})
                    ]
                  )
              )
            }
          spids: [120]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MACHINE)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:139)
                command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
              )
            }
          spids: [138]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:148)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.AndOr
                        ops: [Id.Op_DPipe]
                        children: [
                          (command.Simple
                            words: [{(uname)} {(-p)}]
                            redirects: [
                              (redir.Redir
                                op: (Token id:Id.Redir_Great val:'2>' span_id:155)
                                fd: 2
                                arg_word: {(/dev/null)}
                              )
                            ]
                          )
                          (C {(echo)} {($ Id.VSub_DollarName '$MACHINE')})
                        ]
                      )
                    ]
                  )
              )
            }
          spids: [147]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$MACHINE_ARCH'))}
      arms: [
        (case_arm
          pat_list: [
            {(unknown)}
            {(Id.Lit_Star '*') (Id.Lit_LBracket '[') (Id.KW_Bang '!') (A-Za-z0-9_-) 
              (Id.Lit_RBracket ']') (Id.Lit_Star '*')
            }
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$MACHINE'))}
                  spids: [190]
                )
              ]
            )
          ]
          spids: [180 188 194 -1]
        )
      ]
    )
    (command.ShFunction
      name: Which
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-) (Id.Lit_Star '*')}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:t)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_Number '$1')}
                              spids: [223]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:225)
                    )
                    (C {(shift)})
                  ]
                  spids: [219 221 228 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:t)
                          op: assign_op.Equal
                          rhs: {(-x)}
                          spids: [234]
                        )
                      ]
                    )
                  ]
                  spids: [231 232 236 -1]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(/) (Id.Lit_Star '*')}]
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(test)} {($ Id.VSub_DollarName '$t')} {($ Id.VSub_Number '$1')})
                        (C {(echo)} {($ Id.VSub_Number '$1')})
                      ]
                    )
                  ]
                  spids: [251 253 266 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_dirs)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:282)
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (command.Sentence
                                        child: 
                                          (command.ShAssignment
                                            pairs: [
                                              (assign_pair
                                                lhs: (sh_lhs_expr.Name name:IFS)
                                                op: assign_op.Equal
                                                rhs: {(Id.Lit_Other ':')}
                                                spids: [285]
                                              )
                                            ]
                                          )
                                        terminator: (Token id:Id.Op_Semi val:';' span_id:287)
                                      )
                                      (C {(echo)} 
                                        {
                                          (braced_var_sub
                                            token: (Token id:Id.VSub_Number val:2 span_id:292)
                                            suffix_op: 
                                              (suffix_op.Unary
                                                op_id: Id.VTest_ColonHyphen
                                                arg_word: {($ Id.VSub_DollarName '$PATH')}
                                              )
                                          )
                                        }
                                      )
                                    ]
                                  )
                              )
                            }
                          spids: [281]
                        )
                      ]
                    )
                    (command.ForEach
                      iter_name: d
                      iter_words: [{($ Id.VSub_DollarName '$_dirs')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {(test)} {($ Id.VSub_DollarName '$t')} 
                                  {($ Id.VSub_DollarName '$d') (/) ($ Id.VSub_Number '$1')}
                                )
                                (command.BraceGroup
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (C {(echo)} 
                                          {($ Id.VSub_DollarName '$d') (/) ($ Id.VSub_Number '$1')}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:328)
                                    )
                                    (command.Sentence
                                      child: 
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Break
                                              val: break
                                              span_id: 330
                                            )
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:331)
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                  spids: [269 270 339 -1]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: toUpper
      body: 
        (command.BraceGroup
          children: [
            (C 
              {
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:TR span_id:361)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(tr)})
                )
              } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
            )
          ]
        )
    )
    (command.ShFunction
      name: toLower
      body: 
        (command.BraceGroup
          children: [
            (C 
              {
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:TR span_id:381)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(tr)})
                )
              } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)} {(abcdefghijklmnopqrstuvwxyz)}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:K)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [393]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName '$OS')}
      arms: [
        (case_arm
          pat_list: [{(AIX)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OSMAJOR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:409)
                        command_list: (command.CommandList children:[(C {(uname)} {(-v)})])
                      )
                    }
                  spids: [408]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OSREL)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$OSMAJOR') (.) 
                        (command_sub
                          left_token: (Token id:Id.Left_Backtick val:'`' span_id:422)
                          command_list: (command.CommandList children:[(C {(uname)} {(-r)})])
                        )
                      )
                    }
                  spids: [418]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(jfs)}
                  spids: [432]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PS_AXC)
                  op: assign_op.Equal
                  rhs: {(-e)}
                  spids: [436]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SHARE_ARCH)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$OS') (/) ($ Id.VSub_DollarName '$OSMAJOR') (.X)}
                  spids: [440]
                )
              ]
            )
          ]
          spids: [401 402 447 -1]
        )
        (case_arm
          pat_list: [{(SunOS)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:CHOWN)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:454)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(Which)} {(chown)} {(/usr/etc) (Id.Lit_Other ':') (/usr/bin)})
                            ]
                          )
                      )
                    }
                  spids: [453]
                )
              ]
            )
            (C {(export)} {(CHOWN)})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:arch)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:483)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(Which)} {(arch)} {(/usr/bin) (Id.Lit_Other ':') (/usr/ucb)})
                            ]
                          )
                      )
                    }
                  spids: [482]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MAILER)
                  op: assign_op.Equal
                  rhs: {(/usr/ucb/Mail)}
                  spids: [498]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(4.2)}
                  spids: [502]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$OSREL'))}
              arms: [
                (case_arm
                  pat_list: [{(4.0) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:531)
                                command_list: (command.CommandList children:[(C {(arch)})])
                              )
                            }
                          spids: [530]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')}
                          spids: [538]
                        )
                      ]
                    )
                  ]
                  spids: [517 519 542 -1]
                )
                (case_arm
                  pat_list: [{(4) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:551)
                                command_list: (command.CommandList children:[(C {(arch)})])
                              )
                            }
                          spids: [550]
                        )
                      ]
                    )
                  ]
                  spids: [545 547 558 -1]
                )
                (case_arm
                  pat_list: [{(5) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:K)
                          op: assign_op.Equal
                          rhs: {(-k)}
                          spids: [566]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                          op: assign_op.Equal
                          rhs: {(ufs)}
                          spids: [570]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MAILER)
                          op: assign_op.Equal
                          rhs: {(mailx)}
                          spids: [574]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PS_AXC)
                          op: assign_op.Equal
                          rhs: {(-e)}
                          spids: [578]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(test)} {(-x)} {(/usr/xpg4/bin/ln)})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LN)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (braced_var_sub
                                    token: (Token id:Id.VSub_Name val:LN span_id:600)
                                    suffix_op: 
                                      (suffix_op.Unary
                                        op_id: Id.VTest_ColonHyphen
                                        arg_word: 
                                          {(Id.Lit_Slash /) (usr) (Id.Lit_Slash /) (xpg4) 
                                            (Id.Lit_Slash /) (bin) (Id.Lit_Slash /) (ln)
                                          }
                                      )
                                  )
                                }
                              spids: [598]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [561 563 625 -1]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$OS') (/) ($ Id.VSub_DollarName '$MACHINE_ARCH'))}
              arms: [
                (case_arm
                  pat_list: [{(Id.Lit_Star '*') (sun386)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SHARE_ARCH)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')}
                          spids: [646]
                        )
                      ]
                    )
                  ]
                  spids: [642 644 648 -1]
                )
              ]
            )
          ]
          spids: [449 450 654 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (BSD)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:K)
                  op: assign_op.Equal
                  rhs: {(-k)}
                  spids: [661]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MAILER)
                  op: assign_op.Equal
                  rhs: {(/usr/bin/Mail)}
                  spids: [665]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(local)}
                  spids: [669]
                )
              ]
            )
            (C {(Id.Lit_Other ':')} 
              {($ Id.VSub_Hyphen '$-') (Id.Lit_Comma ',') ($ Id.VSub_DollarName '$ENV')}
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_Hyphen '$-') (',') ($ Id.VSub_DollarName '$ENV'))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Id.Lit_Star '*') (i) (Id.Lit_Star '*') (Id.Lit_Comma ',') (Id.Lit_Star '*')}
                  ]
                  spids: [691 696 698 -1]
                )
                (case_arm
                  pat_list: [
                    {(Id.Lit_Star '*') (Id.Lit_Comma ',')}
                    {(Id.Lit_Star '*') (ENVFILE) (Id.Lit_Star '*')}
                  ]
                  spids: [701 707 709 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ENV)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [715]
                        )
                      ]
                    )
                  ]
                  spids: [712 713 716 -1]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$OS')}
              arms: [
                (case_arm
                  pat_list: [{(NetBSD)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:HOST_ARCH)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$MACHINE')}
                          spids: [741]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SHARE_ARCH)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$OS') (/) ($ Id.VSub_DollarName '$HOST_ARCH')}
                          spids: [745]
                        )
                      ]
                    )
                  ]
                  spids: [737 738 751 -1]
                )
                (case_arm
                  pat_list: [{(OpenBSD)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:arch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:759)
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(Which)} {(arch)} 
                                        {(/usr/bin) (Id.Lit_Other ':') (/usr/ucb) (Id.Lit_Other ':') 
                                          ($ Id.VSub_DollarName '$PATH')
                                        }
                                      )
                                    ]
                                  )
                              )
                            }
                          spids: [758]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:775)
                                command_list: 
                                  (command.CommandList
                                    children: [(C {($ Id.VSub_DollarName '$arch')} {(-s)})]
                                  )
                              )
                            }
                          spids: [774]
                        )
                      ]
                    )
                  ]
                  spids: [754 755 784 -1]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:NAWK)
                  op: assign_op.Equal
                  rhs: {(awk)}
                  spids: [790]
                )
              ]
            )
            (C {(export)} {(NAWK)})
          ]
          spids: [656 658 799 -1]
        )
        (case_arm
          pat_list: [{(HP-UX)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TMP_DIRS)
                  op: assign_op.Equal
                  rhs: {(DQ ('/tmp /usr/tmp'))}
                  spids: [805]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(hfs)}
                  spids: [811]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MAILER)
                  op: assign_op.Equal
                  rhs: {(mailx)}
                  spids: [815]
                )
              ]
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:_shell)
                      op: assign_op.Equal
                      rhs: {(/bin/ksh)}
                      spids: [823]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:825)
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ENV)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [827]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$OSREL'))}
              arms: [
                (case_arm
                  pat_list: [{(Id.Lit_QMark '?') (.09) (Id.Lit_Star '*')}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:OSMAJOR)
                              op: assign_op.Equal
                              rhs: {(9)}
                              spids: [848]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:850)
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PS_AXC)
                          op: assign_op.Equal
                          rhs: {(-e)}
                          spids: [852]
                        )
                      ]
                    )
                  ]
                  spids: [843 846 854 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_QMark '?') (.10) (Id.Lit_Star '*')}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:OSMAJOR)
                              op: assign_op.Equal
                              rhs: {(10)}
                              spids: [862]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:864)
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PS_AXC)
                          op: assign_op.Equal
                          rhs: {(-e)}
                          spids: [866]
                        )
                      ]
                    )
                  ]
                  spids: [857 860 868 -1]
                )
              ]
            )
          ]
          spids: [801 802 874 -1]
        )
        (case_arm
          pat_list: [{(IRIX)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(efs)}
                  spids: [880]
                )
              ]
            )
          ]
          spids: [876 877 884 -1]
        )
        (case_arm
          pat_list: [{(Interix)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE)
                  op: assign_op.Equal
                  rhs: {(i386)}
                  spids: [890]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                  op: assign_op.Equal
                  rhs: {(i386)}
                  spids: [894]
                )
              ]
            )
          ]
          spids: [886 887 898 -1]
        )
        (case_arm
          pat_list: [{(UnixWare)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OSREL)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:905)
                        command_list: (command.CommandList children:[(C {(uname)} {(-v)})])
                      )
                    }
                  spids: [904]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OSMAJOR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:915)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: 
                                  (command.ShAssignment
                                    pairs: [
                                      (assign_pair
                                        lhs: (sh_lhs_expr.Name name:IFS)
                                        op: assign_op.Equal
                                        rhs: {(.)}
                                        spids: [918]
                                      )
                                    ]
                                  )
                                terminator: (Token id:Id.Op_Semi val:';' span_id:920)
                              )
                              (command.Sentence
                                child: (C {(Id.KW_Set set)} {($ Id.VSub_DollarName '$OSREL')})
                                terminator: (Token id:Id.Op_Semi val:';' span_id:925)
                              )
                              (C {(echo)} {($ Id.VSub_Number '$1')})
                            ]
                          )
                      )
                    }
                  spids: [914]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:934)
                        command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                      )
                    }
                  spids: [933]
                )
              ]
            )
          ]
          spids: [900 901 943 -1]
        )
        (case_arm
          pat_list: [{(Linux)}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(i) (Id.Lit_QMark '?') (86)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: {(i386)}
                          spids: [969]
                        )
                      ]
                    )
                  ]
                  spids: [964 967 971 -1]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LOCAL_FS)
                  op: assign_op.Equal
                  rhs: {(ext2)}
                  spids: [980]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PS_AXC)
                  op: assign_op.Equal
                  rhs: {(axc)}
                  spids: [984]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {(Id.Lit_LBracket '[')} {(-x)} {(/usr/bin/md5sum)} {(Id.Lit_RBracket ']')})
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:MD5)
                              op: assign_op.Equal
                              rhs: {(/usr/bin/md5sum)}
                              spids: [1000]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1002)
                    )
                    (command.Sentence
                      child: (C {(export)} {(MD5)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1007)
                    )
                  ]
                )
              ]
            )
          ]
          spids: [945 946 1012 -1]
        )
        (case_arm
          pat_list: [{(QNX)}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(x86pc)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: {(i386)}
                          spids: [1028]
                        )
                      ]
                    )
                  ]
                  spids: [1025 1026 1030 -1]
                )
              ]
            )
          ]
          spids: [1014 1015 1036 -1]
        )
        (case_arm
          pat_list: [{(Haiku)}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(BeBox)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: {(powerpc)}
                          spids: [1052]
                        )
                      ]
                    )
                  ]
                  spids: [1049 1050 1054 -1]
                )
                (case_arm
                  pat_list: [{(BeMac)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: {(powerpc)}
                          spids: [1060]
                        )
                      ]
                    )
                  ]
                  spids: [1057 1058 1062 -1]
                )
                (case_arm
                  pat_list: [{(BePC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
                          op: assign_op.Equal
                          rhs: {(i386)}
                          spids: [1068]
                        )
                      ]
                    )
                  ]
                  spids: [1065 1066 1070 -1]
                )
              ]
            )
          ]
          spids: [1038 1039 1076 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOSTNAME)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:HOSTNAME span_id:1083)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_Backtick val:'`' span_id:1085)
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Subshell
                                  command_list: (command.CommandList children:[(C {(hostname)})])
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:1094)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      }
                  )
              )
            }
          spids: [1081]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOSTNAME)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:HOSTNAME span_id:1101)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_Backtick val:'`' span_id:1103)
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Subshell
                                  command_list: (command.CommandList children:[(C {(uname)} {(-n)})])
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:1114)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      }
                  )
              )
            }
          spids: [1099]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$HOSTNAME'))}
      arms: [
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (.) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:HOST)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:1133)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: 
                                  (command.ShAssignment
                                    pairs: [
                                      (assign_pair
                                        lhs: (sh_lhs_expr.Name name:IFS)
                                        op: assign_op.Equal
                                        rhs: {(.)}
                                        spids: [1136]
                                      )
                                    ]
                                  )
                                terminator: (Token id:Id.Op_Semi val:';' span_id:1138)
                              )
                              (command.Sentence
                                child: 
                                  (C {(Id.KW_Set set)} {(--)} {($ Id.VSub_DollarName '$HOSTNAME')})
                                terminator: (Token id:Id.Op_Semi val:';' span_id:1145)
                              )
                              (C {(echo)} {($ Id.VSub_Number '$1')})
                            ]
                          )
                      )
                    }
                  spids: [1132]
                )
              ]
            )
          ]
          spids: [1127 1130 1151 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:HOST)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$HOSTNAME')}
                  spids: [1156]
                )
              ]
            )
          ]
          spids: [1153 1154 1158 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TMP_DIRS)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:TMP_DIRS span_id:1165)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: {(DQ ('/tmp /var/tmp'))}
                  )
              )
            }
          spids: [1163]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MACHINE_ARCH)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:MACHINE_ARCH span_id:1174)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: {($ Id.VSub_DollarName '$MACHINE')}
                  )
              )
            }
          spids: [1172]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$MACHINE_ARCH'))}
      arms: [
        (case_arm
          pat_list: [{(x86) (Id.Lit_Star '*') (64)} {(amd64)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH)
                  op: assign_op.Equal
                  rhs: {(i386)}
                  spids: [1194]
                )
              ]
            )
          ]
          spids: [1187 1192 1196 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (64)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:1203)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(echo)} {($ Id.VSub_DollarName '$MACHINE_ARCH')})
                                  (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s,64,32,' span_id:1215))})
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [1202]
                )
              ]
            )
          ]
          spids: [1198 1200 1218 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')}
                  spids: [1223]
                )
              ]
            )
          ]
          spids: [1220 1221 1225 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOST_ARCH)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:HOST_ARCH span_id:1231)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: {($ Id.VSub_DollarName '$MACHINE_ARCH')}
                  )
              )
            }
          spids: [1229]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOST_ARCH32)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:HOST_ARCH32 span_id:1238)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: {($ Id.VSub_DollarName '$MACHINE32_ARCH')}
                  )
              )
            }
          spids: [1236]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SHARE_ARCH_DEFAULT)
          op: assign_op.Equal
          rhs: 
            {($ Id.VSub_DollarName '$OS') (/) ($ Id.VSub_DollarName '$OSMAJOR') (.X/) 
              ($ Id.VSub_DollarName '$HOST_ARCH')
            }
          spids: [1246]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SHARE_ARCH)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:SHARE_ARCH span_id:1255)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: {($ Id.VSub_DollarName '$SHARE_ARCH_DEFAULT')}
                  )
              )
            }
          spids: [1253]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LN)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:LN span_id:1262)
                suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(ln)})
              )
            }
          spids: [1260]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TR)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:TR span_id:1269)
                suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(tr)})
              )
            }
          spids: [1267]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOST_TARGET)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:1279)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} 
                            {(${ Id.VSub_Name OS) (${ Id.VSub_Name OSMAJOR) (-) 
                              ($ Id.VSub_DollarName '$HOST_ARCH')
                            }
                          )
                          (C {(tr)} {(-d)} {(/)})
                          (C {(toLower)})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [1278]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HOST_TARGET32)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:1307)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} 
                            {(${ Id.VSub_Name OS) (${ Id.VSub_Name OSMAJOR) (-) 
                              ($ Id.VSub_DollarName '$HOST_ARCH32')
                            }
                          )
                          (C {(tr)} {(-d)} {(/)})
                          (C {(toLower)})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [1306]
        )
      ]
    )
    (C {(export)} {(HOST_TARGET)} {(HOST_TARGET32)})
    (command.Case
      to_match: 
        {
          (command_sub
            left_token: (Token id:Id.Left_Backtick val:'`' span_id:1343)
            command_list: (command.CommandList children:[(C {(echo)} {(-n)} {(.)})])
          )
        }
      arms: [
        (case_arm
          pat_list: [{(-n) (Id.Lit_Star '*')}]
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:N)
                      op: assign_op.Equal
                      rhs: (word.Empty)
                      spids: [1359]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:1360)
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:C)
                  op: assign_op.Equal
                  rhs: {(DQ (Id.Lit_Other '\\') (c))}
                  spids: [1362]
                )
              ]
            )
          ]
          spids: [1355 1357 1367 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:N)
                      op: assign_op.Equal
                      rhs: {(-n)}
                      spids: [1372]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:1374)
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:C)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [1376]
                )
              ]
            )
          ]
          spids: [1369 1370 1377 -1]
        )
      ]
    )
    (command.ShFunction
      name: Echo
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-n)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:_n)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$N')}
                              spids: [1401]
                            )
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:_c)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$C')}
                              spids: [1404]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1406)
                    )
                    (C {(shift)})
                  ]
                  spids: [1398 1399 1409 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_n)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [1415]
                        )
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_c)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [1417]
                        )
                      ]
                    )
                  ]
                  spids: [1412 1413 1418 -1]
                )
              ]
            )
            (C {(echo)} {($ Id.VSub_DollarName '$_n')} {(DQ ($ Id.VSub_At '$@'))} 
              {($ Id.VSub_DollarName '$_c')}
            )
          ]
        )
    )
    (C {(export)} {(HOSTNAME)} {(HOST)})
    (C {(export)} {(OS)} {(MACHINE)} {(MACHINE_ARCH)} {(OSREL)} {(OSMAJOR)} {(LOCAL_FS)} {(TMP_DIRS)} 
      {(MAILER)} {(N)} {(C)} {(K)} {(PS_AXC)}
    )
    (C {(export)} {(LN)} {(SHARE_ARCH)} {(TR)})
    (command.Case
      to_match: {(/) ($ Id.VSub_Number '$0')}
      arms: [
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (/os.sh)}]
          action: [
            (command.ForEach
              iter_name: v
              iter_words: [{($ Id.VSub_Star '$*')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(eval)} 
                      {(Id.Lit_VarLike 'vv=') 
                        (word_part.EscapedLiteral
                          token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1506)
                        ) ($ Id.VSub_DollarName '$v')
                      }
                    )
                    (C {(echo)} 
                      {(DQ ($ Id.VSub_DollarName '$v') ("='") ($ Id.VSub_DollarName '$vv') ("'"))}
                    )
                  ]
                )
            )
          ]
          spids: [1486 1488 1523 -1]
        )
      ]
    )
  ]
)