(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))})
        (C {<Id.KW_Set set>} {<-x>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$USE_ACL'))} {<Id.Lit_Equals '='>} {<0>})
        (BraceGroup
          children: [
            (C {<echo>} {(DQ <'Skipping test: insufficient ACL support'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<77>})
          ]
        )
      ]
    )
    (command.ShFunction
      name: func_tmpdir
      body: 
        (BraceGroup
          children: [
            (C {<Id.Lit_Colon ':'>} 
              {
                (braced_var_sub
                  token: <Id.VSub_Name TMPDIR>
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_Equals
                      arg_word: {<Id.Lit_Slash '/'> <tmp>}
                    )
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DPipe Id.Op_DPipe]
              children: [
                (BraceGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:tmp)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: 
                                      (command.Subshell
                                        child: 
                                          (command.AndOr
                                            ops: [Id.Op_DAmp]
                                            children: [
                                              (C {<umask>} {<077>})
                                              (C {<mktemp>} {<-d>} 
                                                {(DQ ($ Id.VSub_DollarName '$TMPDIR') <'/glXXXXXX'>)}
                                              )
                                            ]
                                          )
                                        redirects: [
                                          (redir
                                            op: <Id.Redir_Great '2>'>
                                            loc: (redir_loc.Fd fd:2)
                                            arg: {<'/dev/null'>}
                                          )
                                        ]
                                      )
                                  )
                                }
                              spids: [106]
                            )
                          ]
                        )
                        (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                        (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                      ]
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:tmp)
                          op: assign_op.Equal
                          rhs: 
                            {($ Id.VSub_DollarName '$TMPDIR') <'/gl'> ($ Id.VSub_Dollar '$$') <-> 
                              ($ Id.VSub_DollarName '$RANDOM')
                            }
                          spids: [181]
                        )
                      ]
                    )
                    (command.Subshell
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (C {<umask>} {<077>})
                            (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                          ]
                        )
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_Number '$0') <': cannot create a temporary directory in '> 
                            ($ Id.VSub_DollarName '$TMPDIR')
                          )
                        }
                      ]
                      redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                )
              ]
            )
          ]
        )
    )
    (C {<func_tmpdir>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))}
          spids: [236]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
        (BraceGroup
          children: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_Number '$0') 
                    <': cannot determine build directory (unreadable parent dir?)'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Subshell
          child: 
            (command.CommandList
              children: [
                (C {<cd>} {(DQ ($ Id.VSub_DollarName '$tmp'))})
                (C {<rm>} {<-f>} {<Id.Lit_ArrayLhsOpen 'tmpfile['> <0-9> <Id.Lit_RBracket ']'>})
                (command.Simple
                  words: [{<echo>} {(DQ <'Simple contents'>)}]
                  redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<tmpfile0>})]
                  do_fork: T
                )
                (C {<chmod>} {<600>} {<tmpfile0>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                      op: assign_op.Equal
                      rhs: {<none>}
                      spids: [344]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Subshell
                                  child: 
                                    (command.Simple
                                      words: [{<getfacl>} {<tmpfile0>}]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '2>'>
                                      loc: (redir_loc.Fd fd:2)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Subshell
                                          child: 
                                            (command.Simple
                                              words: [{<setfacl>} {<--help>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Subshell
                                                  child: 
                                                    (command.Pipeline
                                                      children: [
                                                        (command.Simple
                                                          words: [{<setfacl>} {<--help>}]
                                                          more_env: [
                                                            (env_pair
                                                              name: LC_ALL
                                                              val: {<C>}
                                                              spids: [399]
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                        (command.Simple
                                                          words: [{<grep>} {(SQ <' --set-file'>)}]
                                                          redirects: [
                                                            (redir
                                                              op: <Id.Redir_Great '>'>
                                                              loc: (redir_loc.Fd fd:1)
                                                              arg: {<'/dev/null'>}
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                      ]
                                                      negated: F
                                                    )
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '2>'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {<linux>}
                                              spids: [429]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [396 422]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {<cygwin>}
                                          spids: [436]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [374 389]
                            )
                          ]
                          else_action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (command.Simple
                                                      words: [{<setfacl>}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '2>&'>
                                                          loc: (redir_loc.Fd fd:2)
                                                          arg: {<1>}
                                                        )
                                                      ]
                                                      more_env: [
                                                        (env_pair
                                                          name: LC_ALL
                                                          val: {<C>}
                                                          spids: [453]
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.Simple
                                                      words: [{<grep>} {(SQ <'\\-x entries'>)}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '2>'>
                                                  loc: (redir_loc.Fd fd:2)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {<freebsd>}
                                          spids: [484]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [450 477]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                                      op: assign_op.Equal
                                      rhs: {<solaris>}
                                      spids: [495]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [348 363]
                    )
                  ]
                  else_action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      child: 
                                        (command.Simple
                                          words: [{<lsacl>} {<'/'>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_Great '2>'>
                                          loc: (redir_loc.Fd fd:2)
                                          arg: {<'/dev/null'>}
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              child: 
                                                (command.Simple
                                                  words: [{<getacl>} {<tmpfile0>}]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '2>'>
                                                  loc: (redir_loc.Fd fd:2)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {<hpuxjfs>}
                                          spids: [556]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [534 549]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:acl_flavor)
                                      op: assign_op.Equal
                                      rhs: {<hpux>}
                                      spids: [567]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [508 523]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Subshell
                                          child: 
                                            (command.Simple
                                              words: [{<getacl>} {<tmpfile0>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Subshell
                                                  child: 
                                                    (command.Simple
                                                      words: [{<getacl>} {<-m>} {<tmpfile0>}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '2>'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {<osf1>}
                                              spids: [623]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [599 616]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {<nsk>}
                                          spids: [634]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [577 592]
                            )
                          ]
                          else_action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              child: 
                                                (command.Simple
                                                  words: [{<aclget>} {<tmpfile0>}]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '2>'>
                                                  loc: (redir_loc.Fd fd:2)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:acl_flavor)
                                          op: assign_op.Equal
                                          rhs: {<aix>}
                                          spids: [666]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [644 659]
                                )
                              ]
                              else_action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Subshell
                                                  child: 
                                                    (command.Simple
                                                      words: [{<fsaclctl>} {<-v>}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '2>'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:acl_flavor)
                                              op: assign_op.Equal
                                              rhs: {<macosx>}
                                              spids: [695]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [673 688]
                                    )
                                  ]
                                  else_action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: (C {<test>} {<-f>} {<'/sbin/chacl'>})
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:acl_flavor)
                                                  op: assign_op.Equal
                                                  rhs: {<irix>}
                                                  spids: [718]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [702 711]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {($ Id.VSub_DollarName '$acl_flavor')} 
                                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: (C {<test>} {<-f>} {<'/usr/xpg4/bin/id'>})
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:ID)
                                      op: assign_op.Equal
                                      rhs: {<'/usr/xpg4/bin/id'>}
                                      spids: [772]
                                    )
                                  ]
                                )
                              ]
                              spids: [760 769]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ID)
                                  op: assign_op.Equal
                                  rhs: {<id>}
                                  spids: [779]
                                )
                              ]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:myuid)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: (C {($ Id.VSub_DollarName '$ID')} {<-u>})
                                  )
                                }
                              spids: [794]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:mygid)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: (C {($ Id.VSub_DollarName '$ID')} {<-g>})
                                  )
                                }
                              spids: [804]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:auid)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [814]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$auid'))} 
                                          {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$myuid'))}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.Sentence
                                  child: 
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:auid)
                                          op: assign_op.Equal
                                          rhs: {<2>}
                                          spids: [835]
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                              spids: [818 833]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:agid)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [842]
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$agid'))} 
                                          {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$mygid'))}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.Sentence
                                  child: 
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:agid)
                                          op: assign_op.Equal
                                          rhs: {<2>}
                                          spids: [863]
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                              spids: [846 861]
                            )
                          ]
                        )
                      ]
                      spids: [741 753]
                    )
                  ]
                )
                (command.ForEach
                  iter_name: mode
                  iter_words: [
                    {<700>}
                    {<400>}
                    {<200>}
                    {<100>}
                    {<644>}
                    {<650>}
                    {<605>}
                    {<011>}
                    {<4700>}
                    {<2070>}
                  ]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (C {<rm>} {<-f>} {<tmpfile0>} {<tmpfile1>} {<tmpfile2>})
                        (command.Simple
                          words: [{<echo>} {(DQ <Anything>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<tmpfile0>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          words: [
                                            {<chmod>}
                                            {($ Id.VSub_DollarName '$mode')}
                                            {<tmpfile0>}
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:modestring0)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<ls>} {<-l>} {<tmpfile0>})
                                                  (command.Simple
                                                    words: [
                                                      {<dd>}
                                                      {<Id.Lit_VarLike 'ibs='> <1>}
                                                      {<Id.Lit_VarLike 'count='> <10>}
                                                    ]
                                                    redirects: [
                                                      (redir
                                                        op: <Id.Redir_Great '2>'>
                                                        loc: (redir_loc.Fd fd:2)
                                                        arg: {<'/dev/null'>}
                                                      )
                                                    ]
                                                    do_fork: T
                                                  )
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [950]
                                    )
                                  ]
                                )
                                (command.Simple
                                  words: [{<echo>} {(DQ <'Some contents'>)}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<tmpfile1>}
                                    )
                                  ]
                                  do_fork: T
                                )
                                (C {<chmod>} {<600>} {<tmpfile1>})
                                (C 
                                  {(DQ ($ Id.VSub_DollarName '$builddir')) <'/test-set-mode-acl'> 
                                    (${ Id.VSub_Name EXEEXT)
                                  } {<tmpfile1>} {($ Id.VSub_DollarName '$mode')}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:modestring)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<ls>} {<-l>} {<tmpfile1>})
                                                  (command.Simple
                                                    words: [
                                                      {<dd>}
                                                      {<Id.Lit_VarLike 'ibs='> <1>}
                                                      {<Id.Lit_VarLike 'count='> <10>}
                                                    ]
                                                    redirects: [
                                                      (redir
                                                        op: <Id.Redir_Great '2>'>
                                                        loc: (redir_loc.Fd fd:2)
                                                        arg: {<'/dev/null'>}
                                                      )
                                                    ]
                                                    do_fork: T
                                                  )
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [1020]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<test>} 
                                                  {(DQ <x> ($ Id.VSub_DollarName '$modestring'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_DollarName '$modestring0'))}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.Simple
                                          words: [
                                            {<echo>}
                                            {
                                              (DQ <'mode = '> ($ Id.VSub_DollarName '$mode') 
                                                <': tmpfile1 has wrong mode: '> ($ Id.VSub_DollarName '$modestring')
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_GreatAnd '1>&'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<2>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Exit exit>
                                          arg_word: {<1>}
                                        )
                                      ]
                                      spids: [1045 1063]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<test>} 
                                                  {
                                                    (command_sub
                                                      left_token: <Id.Left_Backtick '`'>
                                                      child: 
                                                        (C 
                                                          {(DQ ($ Id.VSub_DollarName '$builddir')) 
                                                            <'/test-file-has-acl'> (${ Id.VSub_Name EXEEXT)
                                                          } {<tmpfile1>}
                                                        )
                                                    )
                                                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.Simple
                                          words: [
                                            {<echo>}
                                            {
                                              (DQ <'mode = '> ($ Id.VSub_DollarName '$mode') 
                                                <': tmpfile1 got an ACL'>
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_GreatAnd '1>&'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<2>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Exit exit>
                                          arg_word: {<1>}
                                        )
                                      ]
                                      spids: [1087 1111]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (C {<test>} {($ Id.VSub_DollarName '$acl_flavor')} 
                                                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>}
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.Simple
                                          words: [{<echo>} {(DQ <'Special contents'>)}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<tmpfile2>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                        (C {<chmod>} {<600>} {<tmpfile2>})
                                        (command.Case
                                          to_match: {($ Id.VSub_DollarName '$acl_flavor')}
                                          arms: [
                                            (case_arm
                                              pat_list: [{<linux>} {<freebsd>} {<solaris>}]
                                              action: [
                                                (C {<setfacl>} {<-m>} 
                                                  {<user> <Id.Lit_Colon ':'> 
                                                    ($ Id.VSub_DollarName '$auid') <Id.Lit_Colon ':'> <1>
                                                  } {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1184 1193 1209 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<cygwin>}]
                                              action: [
                                                (C {<setfacl>} {<-m>} 
                                                  {<group> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <1>} {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1212 1213 1229 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<hpux>}]
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:orig)
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_Backtick '`'>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<lsacl>} {<tmpfile0>})
                                                                  (C {<sed>} {<-e>} 
                                                                    {(SQ <'s/ tmpfile0$//'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                          )
                                                        }
                                                      spids: [1236]
                                                    )
                                                  ]
                                                )
                                                (C {<chacl>} {<-r>} 
                                                  {
                                                    (DQ (${ Id.VSub_Name orig) <'('> 
                                                      ($ Id.VSub_DollarName '$auid') <'.%,--x)'>
                                                    )
                                                  } {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1232 1233 1272 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<hpuxjfs>}]
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:orig)
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_Backtick '`'>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<lsacl>} {<tmpfile0>})
                                                                  (C {<sed>} {<-e>} 
                                                                    {(SQ <'s/ tmpfile0$//'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                          )
                                                        }
                                                      spids: [1279]
                                                    )
                                                  ]
                                                )
                                                (command.AndOr
                                                  ops: [Id.Op_DPipe]
                                                  children: [
                                                    (C {<chacl>} {<-r>} 
                                                      {
                                                        (DQ (${ Id.VSub_Name orig) <'('> 
                                                          ($ Id.VSub_DollarName '$auid') <'.%,--x)'>
                                                        )
                                                      } {<tmpfile0>}
                                                    )
                                                    (C {<setacl>} {<-m>} 
                                                      {<user> <Id.Lit_Colon ':'> 
                                                        ($ Id.VSub_DollarName '$auid') <Id.Lit_Colon ':'> <1>
                                                      } {<tmpfile0>}
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [1275 1276 1331 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<osf1>}]
                                              action: [
                                                (C {<setacl>} {<-u>} 
                                                  {<user> <Id.Lit_Colon ':'> 
                                                    ($ Id.VSub_DollarName '$auid') <Id.Lit_Colon ':'> <1>
                                                  } {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1334 1335 1351 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<nsk>}]
                                              action: [
                                                (C {<setacl>} {<-m>} 
                                                  {<user> <Id.Lit_Colon ':'> 
                                                    ($ Id.VSub_DollarName '$auid') <Id.Lit_Colon ':'> <1>
                                                  } {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1354 1355 1371 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<aix>}]
                                              action: [
                                                (command.Pipeline
                                                  children: [
                                                    (BraceGroup
                                                      children: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.Pipeline
                                                              children: [
                                                                (C {<aclget>} {<tmpfile0>})
                                                                (C {<sed>} {<-e>} 
                                                                  {(SQ <'s/disabled$/enabled/'>)}
                                                                )
                                                              ]
                                                              negated: F
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                        (command.Sentence
                                                          child: 
                                                            (C {<echo>} 
                                                              {
                                                                (DQ <'        permit --x u:'> 
                                                                  ($ Id.VSub_DollarName '$auid')
                                                                )
                                                              }
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                    (C {<aclput>} {<tmpfile0>})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                              spids: [1374 1375 1412 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<macosx>}]
                                              action: [
                                                (C {<'/bin/chmod'>} {<Id.Lit_Other '+'> <a>} 
                                                  {(DQ <'user:daemon allow execute'>)} {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1415 1416 1431 -1]
                                            )
                                            (case_arm
                                              pat_list: [{<irix>}]
                                              action: [
                                                (C {<'/sbin/chacl'>} 
                                                  {<user> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <rw-> 
                                                    <Id.Lit_Comma ','> <group> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <---> <Id.Lit_Comma ','> <other> <Id.Lit_Colon ':'> 
                                                    <Id.Lit_Colon ':'> <---> <Id.Lit_Comma ','> <user> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$auid') <Id.Lit_Colon ':'> <--x>
                                                  } {<tmpfile0>}
                                                )
                                              ]
                                              spids: [1434 1435 1464 -1]
                                            )
                                          ]
                                        )
                                        (C 
                                          {(DQ ($ Id.VSub_DollarName '$builddir')) 
                                            <'/test-set-mode-acl'> (${ Id.VSub_Name EXEEXT)
                                          } {<tmpfile2>} {($ Id.VSub_DollarName '$mode')}
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:modestring)
                                              op: assign_op.Equal
                                              rhs: 
                                                {
                                                  (command_sub
                                                    left_token: <Id.Left_Backtick '`'>
                                                    child: 
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<ls>} {<-l>} {<tmpfile2>})
                                                          (command.Simple
                                                            words: [
                                                              {<dd>}
                                                              {<Id.Lit_VarLike 'ibs='> <1>}
                                                              {<Id.Lit_VarLike 'count='> <10>}
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_Great '2>'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<'/dev/null'>}
                                                              )
                                                            ]
                                                            do_fork: T
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                  )
                                                }
                                              spids: [1492]
                                            )
                                          ]
                                        )
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<test>} 
                                                          {
                                                            (DQ <x> 
                                                              ($ Id.VSub_DollarName '$modestring')
                                                            )
                                                          } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <x> ($ Id.VSub_DollarName '$modestring0'))}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.Simple
                                                  words: [
                                                    {<echo>}
                                                    {
                                                      (DQ <'mode = '> ($ Id.VSub_DollarName '$mode') 
                                                        <': tmpfile2 has wrong mode: '> ($ Id.VSub_DollarName '$modestring')
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_GreatAnd '1>&'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<2>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Exit exit>
                                                  arg_word: {<1>}
                                                )
                                              ]
                                              spids: [1517 1535]
                                            )
                                          ]
                                        )
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<test>} 
                                                          {
                                                            (command_sub
                                                              left_token: <Id.Left_Backtick '`'>
                                                              child: 
                                                                (C 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$builddir'
                                                                      )
                                                                    ) <'/test-file-has-acl'> (${ Id.VSub_Name EXEEXT)
                                                                  } {<tmpfile2>}
                                                                )
                                                            )
                                                          } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.Simple
                                                  words: [
                                                    {<echo>}
                                                    {
                                                      (DQ <'mode = '> ($ Id.VSub_DollarName '$mode') 
                                                        <': tmpfile2 still has an ACL'>
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_GreatAnd '1>&'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<2>}
                                                    )
                                                  ]
                                                  do_fork: T
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Exit exit>
                                                  arg_word: {<1>}
                                                )
                                              ]
                                              spids: [1559 1583]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1135 1147]
                                    )
                                  ]
                                )
                              ]
                              spids: [935 947]
                            )
                          ]
                        )
                      ]
                    )
                )
                (C {<rm>} {<-f>} {<Id.Lit_ArrayLhsOpen 'tmpfile['> <0-9> <Id.Lit_RBracket ']'>})
              ]
            )
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$tmp'))})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)