(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PORTAGE_READONLY_METADATA)
          op: Equal
          rhs: 
            {
              (DQ ('DEFINED_PHASES DEPEND DESCRIPTION\n') 
                ('\tEAPI HDEPEND HOMEPAGE INHERITED IUSE REQUIRED_USE KEYWORDS LICENSE\n') ('\tPDEPEND PROVIDE RDEPEND REPOSITORY RESTRICT SLOT SRC_URI')
              )
            }
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PORTAGE_READONLY_VARS)
          op: Equal
          rhs: 
            {
              (DQ ('D EBUILD EBUILD_PHASE EBUILD_PHASE_FUNC ') 
                ('\tEBUILD_SH_ARGS ECLASSDIR EMERGE_FROM FILESDIR MERGE_TYPE ') ('\tPM_EBUILD_HOOK_DIR ') ('\tPORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST PORTAGE_BASHRC  ') 
                ('\tPORTAGE_BINPKG_FILE PORTAGE_BINPKG_TAR_OPTS PORTAGE_BINPKG_TMPFILE ') ('\tPORTAGE_BIN_PATH PORTAGE_BUILDDIR PORTAGE_BUILD_GROUP ') 
                ('\tPORTAGE_BUILD_USER PORTAGE_BUNZIP2_COMMAND ') ('\tPORTAGE_BZIP2_COMMAND PORTAGE_COLORMAP PORTAGE_CONFIGROOT ') 
                ('\tPORTAGE_DEBUG PORTAGE_DEPCACHEDIR PORTAGE_EBUILD_EXIT_FILE ') ('\tPORTAGE_ECLASS_LOCATIONS ') ('\tPORTAGE_GID PORTAGE_GRPNAME PORTAGE_INST_GID PORTAGE_INST_UID ') 
                ('\tPORTAGE_INTERNAL_CALLER PORTAGE_IPC_DAEMON PORTAGE_IUSE PORTAGE_LOG_FILE ') ('\tPORTAGE_MUTABLE_FILTERED_VARS PORTAGE_OVERRIDE_EPREFIX ') 
                ('\tPORTAGE_PYM_PATH PORTAGE_PYTHON PORTAGE_PYTHONPATH ') ('\tPORTAGE_READONLY_METADATA PORTAGE_READONLY_VARS ') 
                ('\tPORTAGE_REPO_NAME PORTAGE_REPOSITORIES PORTAGE_RESTRICT ') ('\tPORTAGE_SAVED_READONLY_VARS PORTAGE_SIGPIPE_STATUS ') 
                ('\tPORTAGE_TMPDIR PORTAGE_UPDATE_ENV PORTAGE_USERNAME ') ('\tPORTAGE_VERBOSE PORTAGE_WORKDIR_MODE PORTAGE_XATTR_EXCLUDE ') ('\tPORTDIR ') 
                ('\tREPLACING_VERSIONS REPLACED_BY_VERSION T WORKDIR ') ('\t__PORTAGE_HELPER __PORTAGE_TEST_HARDLINK_LOCKS')
              )
            }
          spids: [31]
        )
      ]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PORTAGE_SAVED_READONLY_VARS)
          op: Equal
          rhs: {(DQ ('A CATEGORY P PF PN PR PV PVR'))}
          spids: [79]
        )
      ]
      spids: [79]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PORTAGE_MUTABLE_FILTERED_VARS)
          op: Equal
          rhs: {(DQ ('AA HOSTNAME'))}
          spids: [97]
        )
      ]
      spids: [97]
    )
    (FuncDef
      name: __filter_readonly_variables
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:x) op:Equal spids:[238])
                (assign_pair lhs:(LhsName name:filtered_vars) op:Equal spids:[240])
              ]
              spids: [236]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:readonly_bash_vars)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('BASHOPTS BASHPID DIRSTACK EUID\n') 
                        ('\t\tFUNCNAME GROUPS PIPESTATUS PPID SHELLOPTS UID')
                      )
                    }
                  spids: [245]
                )
              ]
              spids: [243]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bash_misc_vars)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('BASH BASH_.* COLUMNS COMP_WORDBREAKS HISTCMD\n') 
                        ('\t\tHISTFILE HOSTNAME HOSTTYPE IFS LINENO MACHTYPE OLDPWD\n') ('\t\tOPTERR OPTIND OSTYPE POSIXLY_CORRECT PS4 PWD RANDOM\n') ('\t\tSECONDS SHLVL _')
                      )
                    }
                  spids: [254]
                )
              ]
              spids: [252]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filtered_sandbox_vars)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('SANDBOX_ACTIVE SANDBOX_BASHRC\n') 
                        ('\t\tSANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB\n') ('\t\tSANDBOX_LOG SANDBOX_ON')
                      )
                    }
                  spids: [265]
                )
              ]
              spids: [263]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:binpkg_untrusted_vars)
                  op: Equal
                  rhs: {(DQ ('CATEGORY P PF PN PR PV PVR'))}
                  spids: [279]
                )
              ]
              spids: [277]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:misc_garbage_vars)
                  op: Equal
                  rhs: {(DQ (_portage_filter_opts))}
                  spids: [287]
                )
              ]
              spids: [285]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filtered_vars)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$readonly_bash_vars') (' ') ($ VSub_Name '$bash_misc_vars') 
                        ('\n') ('\t\t') ($ VSub_Name '$PORTAGE_READONLY_VARS') (' ') ($ VSub_Name '$misc_garbage_vars')
                      )
                    }
                  spids: [293]
                )
              ]
              spids: [293]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_prefix_variables)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filtered_vars)
                          op: PlusEqual
                          rhs: {(DQ (' ED EPREFIX EROOT'))}
                          spids: [323]
                        )
                      ]
                      spids: [323]
                    )
                  ]
                  spids: [16777215 320]
                )
              ]
              spids: [16777215 329]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(--filter-sandbox)} {($ VSub_Star '$*')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filtered_vars)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name filtered_vars) (' SANDBOX_.*'))}
                          spids: [346]
                        )
                      ]
                      spids: [346]
                    )
                  ]
                  spids: [16777215 343]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:filtered_vars)
                      op: Equal
                      rhs: 
                        {
                          (DQ (${ VSub_Name filtered_vars) (' ') (${ VSub_Name filtered_sandbox_vars))
                        }
                      spids: [358]
                    )
                  ]
                  spids: [358]
                )
              ]
              spids: [355 370]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(--filter-features)} {($ VSub_Star '$*')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filtered_vars)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name filtered_vars) (' FEATURES PORTAGE_FEATURES'))}
                          spids: [386]
                        )
                      ]
                      spids: [386]
                    )
                  ]
                  spids: [16777215 383]
                )
              ]
              spids: [16777215 395]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(--filter-path)} {($ VSub_Star '$*')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filtered_vars)
                          op: PlusEqual
                          rhs: {(DQ (' PATH'))}
                          spids: [411]
                        )
                      ]
                      spids: [411]
                    )
                  ]
                  spids: [16777215 408]
                )
              ]
              spids: [16777215 417]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(--filter-locale)} {($ VSub_Star '$*')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filtered_vars)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (' LANG LC_ALL LC_COLLATE\n') 
                                ('\t\t\tLC_CTYPE LC_MESSAGES LC_MONETARY\n') ('\t\t\tLC_NUMERIC LC_PAPER LC_TIME')
                              )
                            }
                          spids: [433]
                        )
                      ]
                      spids: [433]
                    )
                  ]
                  spids: [16777215 430]
                )
              ]
              spids: [16777215 441]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(has)} {(--allow-extra-vars)} {($ VSub_Star '$*')})]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (${ VSub_Name EMERGE_FROM))} {(Lit_Other '=')} 
                                  {(binary)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:filtered_vars)
                                  op: PlusEqual
                                  rhs: {(DQ (' ') (${ VSub_Name binpkg_untrusted_vars))}
                                  spids: [488]
                                )
                              ]
                              spids: [488]
                            )
                          ]
                          spids: [16777215 477]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:filtered_vars)
                              op: PlusEqual
                              rhs: {(DQ (' ') (${ VSub_Name PORTAGE_SAVED_READONLY_VARS))}
                              spids: [500]
                            )
                          ]
                          spids: [500]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:filtered_vars)
                              op: PlusEqual
                              rhs: {(DQ (' ') (${ VSub_Name PORTAGE_MUTABLE_FILTERED_VARS))}
                              spids: [509]
                            )
                          ]
                          spids: [509]
                        )
                      ]
                      spids: [497 518]
                    )
                  ]
                  spids: [16777215 456]
                )
              ]
              spids: [16777215 521]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name PORTAGE_PYTHON>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(Lit_Slash /) (usr) (Lit_Slash /) (bin) (Lit_Slash /) (python)}
                          )
                        spids: [526 535]
                      )
                    )
                  } {(DQ (${ VSub_Name PORTAGE_BIN_PATH)) (/filter-bash-environment.py)} {(DQ (${ VSub_Name filtered_vars))}
                )
                (C {(die)} {(DQ ('filter-bash-environment.py failed'))})
              ]
            )
          ]
          spids: [233]
        )
      spids: [229 232]
    )
    (FuncDef
      name: __preprocess_ebuild_env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_portage_filter_opts)
                  op: Equal
                  rhs: {(DQ ('--filter-features --filter-locale --filter-path --filter-sandbox'))}
                  spids: [592]
                )
              ]
              spids: [590]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name T) (/environment.raw))} {(Lit_Other ']')})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(__filter_readonly_variables)} {($ VSub_Name '$_portage_filter_opts')}]
                  redirects: [
                    (Redir
                      op: <Redir_Less '<'>
                      fd: 16777215
                      arg_word: {(DQ (${ VSub_Name T)) (/environment)}
                    )
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$T') (/environment.filtered))}
                    )
                  ]
                )
                (ControlFlow
                  token: <ControlFlow_Return return>
                  arg_word: {($ VSub_QMark '$?')}
                )
              ]
            )
            (C {(unset)} {(_portage_filter_opts)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(mv)} {(DQ (${ VSub_Name T)) (/environment.filtered)} 
                  {(DQ (${ VSub_Name T)) (/environment)}
                )
                (ControlFlow
                  token: <ControlFlow_Return return>
                  arg_word: {($ VSub_QMark '$?')}
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(rm)} {(-f)} {(DQ (${ VSub_Name T) (/environment.success))})
                (ControlFlow
                  token: <ControlFlow_Return return>
                  arg_word: {($ VSub_QMark '$?')}
                )
              ]
            )
            (Subshell
              child: 
                (CommandList
                  children: [
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (1)})
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(source)} {(DQ (${ VSub_Name T) (/environment))})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {($ VSub_QMark '$?')}
                        )
                      ]
                    )
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (0)})
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(source)} {(DQ (${ VSub_Name PORTAGE_BIN_PATH) (/save-ebuild-env.sh))})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {($ VSub_QMark '$?')}
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(__save_ebuild_env)})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {($ VSub_QMark '$?')}
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op: <Redir_DGreat '>>'>
                              fd: 16777215
                              arg_word: {(DQ ($ VSub_Name '$T') (/environment.success))}
                            )
                          ]
                        )
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {($ VSub_QMark '$?')}
                        )
                      ]
                    )
                  ]
                )
              redirects: [
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name T) (/environment.filtered))}
                )
              ]
              spids: [727 839]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:retval) op:Equal spids:[853])]
              spids: [851]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name T) (/environment.success))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(__filter_readonly_variables)} {(--filter-features)}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name T) (/environment.filtered))}
                        )
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name T) (/environment))}
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:retval)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [901]
                        )
                      ]
                      spids: [901]
                    )
                  ]
                  spids: [16777215 873]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:retval) op:Equal rhs:{(1)} spids:[908])]
                  spids: [908]
                )
              ]
              spids: [905 912]
            )
            (C {(rm)} {(-f)} 
              (BracedWordTree
                parts: [
                  (DQ (${ VSub_Name T))
                  (/environment.)
                  (BracedAltPart words:[{(filtered)} {(raw)} {(success)}])
                ]
              )
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {(${ VSub_Name retval)}
            )
          ]
          spids: [587]
        )
      spids: [583 586]
    )
    (FuncDef
      name: __ebuild_phase
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (SimpleCommand
                  words: [{(Assign_Declare declare)} {(-F)} {(DQ ($ VSub_Number '$1'))}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                )
                (C {(__qa_call)} {($ VSub_Number '$1')})
              ]
            )
          ]
          spids: [947]
        )
      spids: [943 946]
    )
    (FuncDef
      name: __ebuild_phase_with_hooks
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:x) op:Equal spids:[979])
                (assign_pair
                  lhs: (LhsName name:phase_name)
                  op: Equal
                  rhs: {(${ VSub_Number 1)}
                  spids: [981]
                )
              ]
              spids: [977]
            )
            (ForEach
              iter_name: x
              iter_words: [
                (BracedWordTree
                  parts: [(BracedAltPart words:[{(pre_)} {} {(post_)}]) (${ VSub_Name phase_name)]
                )
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(__ebuild_phase)} {(${ VSub_Name x)})] spids:[1005 1015])
              spids: [992 1003]
            )
          ]
          spids: [974]
        )
      spids: [970 973]
    )
    (FuncDef
      name: __dyn_pretend
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") ($ VSub_Name '$PF') 
                          ("' is already pretended; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') 
                          ("/.pretended' to force pretend.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 1040]
                )
              ]
              spids: [16777215 1066]
            )
            (C {(__ebuild_phase)} {(pre_pkg_pretend)})
            (C {(__ebuild_phase)} {(pkg_pretend)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.pretended))})
              ]
            )
            (C {(__ebuild_phase)} {(post_pkg_pretend)})
          ]
          spids: [1024]
        )
      spids: [1020 1023]
    )
    (FuncDef
      name: __dyn_setup
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") ($ VSub_Name '$PF') 
                          ("' is already setup; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') 
                          ("/.setuped' to force setup.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 1126]
                )
              ]
              spids: [16777215 1152]
            )
            (C {(__ebuild_phase)} {(pre_pkg_setup)})
            (C {(__ebuild_phase)} {(pkg_setup)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.setuped))})
              ]
            )
            (C {(__ebuild_phase)} {(post_pkg_setup)})
          ]
          spids: [1110]
        )
      spids: [1106 1109]
    )
    (FuncDef
      name: __dyn_unpack
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: {(${ VSub_Name PORTAGE_BUILDDIR) (/.unpacked)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} {(DQ ('>>> WORKDIR is up-to-date, keeping...'))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 1214]
                )
              ]
              spids: [16777215 1229]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name WORKDIR))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(install)} 
                          {(-m) 
                            (BracedVarSub
                              token: <VSub_Name PORTAGE_WORKDIR_MODE>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0700)})
                              spids: [1255 1259]
                            )
                          } {(-d)} {(DQ (${ VSub_Name WORKDIR))}
                        )
                        (C {(die)} {(DQ ("Failed to create dir '") (${ VSub_Name WORKDIR) ("'"))})
                      ]
                    )
                  ]
                  spids: [16777215 1249]
                )
              ]
              spids: [16777215 1282]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(cd)} {(DQ (${ VSub_Name WORKDIR))})
                (C {(die)} 
                  {
                    (DQ ('Directory change failed: ') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("cd '") (${ VSub_Name WORKDIR) ("'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                    )
                  }
                )
              ]
            )
            (C {(__ebuild_phase)} {(pre_src_unpack)})
            (C {(__vecho)} {(DQ ('>>> Unpacking source...'))})
            (C {(__ebuild_phase)} {(src_unpack)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.unpacked))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.unpacked))})
              ]
            )
            (C {(__vecho)} {(DQ ('>>> Source unpacked in ') (${ VSub_Name WORKDIR))})
            (C {(__ebuild_phase)} {(post_src_unpack)})
          ]
          spids: [1196]
        )
      spids: [1192 1195]
    )
    (FuncDef
      name: __dyn_clean
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Aborting clean phase because PORTAGE_BUILDDIR is unset!'))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 1385]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                  spids: [1400 1418]
                )
              ]
              spids: [16777215 1426]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(chflags)} {($ VSub_Name '$FEATURES')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(chflags)} {(-R)} 
                      {(noschg) (Lit_Comma ',') (nouchg) (Lit_Comma ',') (nosappnd) (Lit_Comma ',') 
                        (nouappnd)
                      } {(DQ (${ VSub_Name PORTAGE_BUILDDIR))}
                    )
                    (SimpleCommand
                      words: [
                        {(chflags)}
                        {(-R)}
                        {(nosunlnk) (Lit_Comma ',') (nouunlnk)}
                        {(DQ (${ VSub_Name PORTAGE_BUILDDIR))}
                      ]
                      redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                    )
                  ]
                  spids: [16777215 1439]
                )
              ]
              spids: [16777215 1479]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))})
                (C {(die)} 
                  {(DQ ("PORTAGE_PYM_PATH does not exist: '") (${ VSub_Name PORTAGE_PYM_PATH) ("'"))}
                )
              ]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/image))} 
              {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/homedir))}
            )
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.installed))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe Op_DAmp]
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobEqual
                                  left: {($ VSub_Name '$EMERGE_FROM')}
                                  right: {(binary)}
                                )
                            )
                            (Pipeline
                              children: [(C {(has)} {(keeptemp)} {($ VSub_Name '$FEATURES')})]
                              negated: T
                            )
                            (Pipeline
                              children: [(C {(has)} {(keepwork)} {($ VSub_Name '$FEATURES')})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(rm)} {(-rf)} {(DQ (${ VSub_Name T))})]
                  spids: [16777215 1583]
                )
              ]
              spids: [16777215 1597]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobEqual
                                  left: {($ VSub_Name '$EMERGE_FROM')}
                                  right: {(binary)}
                                )
                            )
                            (Pipeline
                              children: [(C {(has)} {(keepwork)} {($ VSub_Name '$FEATURES')})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(rm)} {(-f)} 
                      (BracedWordTree
                        parts: [
                          (DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))
                          (/.)
                          (BracedAltPart
                            words: [
                              {(ebuild_changed)}
                              {(logid)}
                              {(pretended)}
                              {(setuped)}
                              {(unpacked)}
                              {(prepared)}
                            ]
                          )
                        ]
                      ) 
                      (BracedWordTree
                        parts: [
                          (DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))
                          (/.)
                          (BracedAltPart
                            words: [{(configured)} {(compiled)} {(tested)} {(packaged)}]
                          )
                        ]
                      ) {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.die_hooks)} 
                      (BracedWordTree
                        parts: [
                          (DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))
                          (/.ipc_)
                          (BracedAltPart
                            words: [{(KW_In in)} {(out)} {(lock)}]
                          )
                        ]
                      ) {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR')) (/.exit_status)}
                    )
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/build-info))})
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name WORKDIR))})
                    (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/files))})
                  ]
                  spids: [16777215 1624]
                )
              ]
              spids: [16777215 1730]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.unpacked))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(find)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR))} {(-type)} {(d)} {(KW_Bang '!')} 
                          {(-regex)} {(DQ ('^') (${ VSub_Name WORKDIR))}
                        )
                        (C {(sort)} {(-r)})
                        (C {(tr)} {(DQ (Lit_Other '\\') (n))} {(DQ (Lit_Other '\\') (0))})
                        (SimpleCommand
                          words: [{($ VSub_Name '$XARGS')} {(-0)} {(rmdir)}]
                          redirects: [
                            (Redir
                              op: <Redir_AndGreat '&>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                  ]
                  spids: [16777215 1750]
                )
              ]
              spids: [16777215 1808]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/distdir))})
            (SimpleCommand
              words: [{(rmdir)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))}]
              redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
            )
            (C {(true)})
          ]
          spids: [1367]
        )
      spids: [1363 1366]
    )
    (FuncDef
      name: __abort_handler
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:msg) op:Equal spids:[1858])]
              spids: [1856]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$2'))} {(KW_Bang '!') (Lit_Other '=')} 
                          {(DQ (fail))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:msg)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name EBUILD) (': ') (${ VSub_Number 1) (' aborted; exiting.'))
                            }
                          spids: [1882]
                        )
                      ]
                      spids: [1882]
                    )
                  ]
                  spids: [16777215 1879]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:msg)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name EBUILD) (': ') (${ VSub_Number 1) (' failed; exiting.'))}
                      spids: [1898]
                    )
                  ]
                  spids: [1898]
                )
              ]
              spids: [1895 1911]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ($ VSub_Name '$msg'))})
            (C {(echo)})
            (C {(eval)} {(${ VSub_Number 3)})
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [1853]
        )
      spids: [1849 1852]
    )
    (FuncDef
      name: __abort_prepare
      body: 
        (BraceGroup
          children: [
            (C {(__abort_handler)} {(src_prepare)} {($ VSub_Number '$1')})
            (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [1953]
        )
      spids: [1949 1952]
    )
    (FuncDef
      name: __abort_configure
      body: 
        (BraceGroup
          children: [
            (C {(__abort_handler)} {(src_configure)} {($ VSub_Number '$1')})
            (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [1984]
        )
      spids: [1980 1983]
    )
    (FuncDef
      name: __abort_compile
      body: 
        (BraceGroup
          children: [
            (C {(__abort_handler)} {(DQ (src_compile))} {($ VSub_Number '$1')})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.compiled))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [2015]
        )
      spids: [2011 2014]
    )
    (FuncDef
      name: __abort_test
      body: 
        (BraceGroup
          children: [
            (C {(__abort_handler)} {(DQ (__dyn_test))} {($ VSub_Number '$1')})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.tested))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [2050]
        )
      spids: [2046 2049]
    )
    (FuncDef
      name: __abort_install
      body: 
        (BraceGroup
          children: [
            (C {(__abort_handler)} {(DQ (src_install))} {($ VSub_Number '$1')})
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/image))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [2085]
        )
      spids: [2081 2084]
    )
    (FuncDef
      name: __has_phase_defined_up_to
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:phase) op:Equal spids:[2125])]
              spids: [2123]
            )
            (ForEach
              iter_name: phase
              iter_words: [{(unpack)} {(prepare)} {(configure)} {(compile)} {(install)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(has)} {(${ VSub_Name phase)} {(${ VSub_Name DEFINED_PHASES)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase)}
                              right: {($ VSub_Number '$1')}
                            )
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                  spids: [2145 2184]
                )
              spids: [2133 2143]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [2120]
        )
      spids: [2116 2119]
    )
    (FuncDef
      name: __dyn_prepare
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") ($ VSub_Name '$PF') 
                          ("' is already prepared; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') 
                          ("/.prepared' to force prepare.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 2219]
                )
              ]
              spids: [16777215 2245]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name S))})]
                  spids: [16777215 2261]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_S_WORKDIR_fallback)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2273 2278]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)})
                            )
                            (Pipeline
                              children: [(C {(__has_phase_defined_up_to)} {(prepare)})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2290 2311]
                )
              ]
              else_action: [
                (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))})
              ]
              spids: [2323 2337]
            )
            (C {(trap)} {(__abort_prepare)} {(SIGINT)} {(SIGQUIT)})
            (C {(__ebuild_phase)} {(pre_src_prepare)})
            (C {(__vecho)} {(DQ ('>>> Preparing source in ') ($ VSub_Name '$PWD') (' ...'))})
            (C {(__ebuild_phase)} {(src_prepare)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(___eapi_has_eapply_user)})
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_f
                                      child: {(${ VSub_Name T) (/.portage_user_patches_applied)}
                                    )
                                )
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(die)} {(DQ ('eapply_user (or default) must be called in src_prepare()!'))})
                  ]
                  spids: [16777215 2395]
                )
              ]
              spids: [16777215 2405]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.prepared))})
              ]
            )
            (C {(__vecho)} {(DQ ('>>> Source prepared.'))})
            (C {(__ebuild_phase)} {(post_src_prepare)})
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [2202]
        )
      spids: [2198 2201]
    )
    (FuncDef
      name: __start_distcc
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(has)} {(distcc)} {($ VSub_Name '$FEATURES')})
                            (C {(has)} {(distcc-pump)} {($ VSub_Name '$FEATURES')})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (DBracket
                                      expr: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: {($ VSub_Name '$INCLUDE_SERVER_PORT')}
                                        )
                                    )
                                    (DBracket
                                      expr: 
                                        (LogicalNot
                                          child: 
                                            (BoolUnary
                                              op_id: BoolUnary_w
                                              child: {($ VSub_Name '$INCLUDE_SERVER_PORT')}
                                            )
                                        )
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(pump)} {(--startup)})
                                            (C {(grep)} {(-v)} {(PATH)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [2523 2535]
                                )
                              }
                            )
                            (C {(trap)} {(DQ ('pump --shutdown >/dev/null'))} {(EXIT)})
                          ]
                          spids: [16777215 2514]
                        )
                      ]
                      spids: [16777215 2547]
                    )
                  ]
                  spids: [16777215 2487]
                )
              ]
              spids: [16777215 2550]
            )
          ]
          spids: [2466]
        )
      spids: [2462 2465]
    )
    (FuncDef
      name: __dyn_configure
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") ($ VSub_Name '$PF') 
                          ("' is already configured; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') 
                          ("/.configured' to force configuration.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 2576]
                )
              ]
              spids: [16777215 2602]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name S))})]
                  spids: [16777215 2618]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_S_WORKDIR_fallback)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2630 2635]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)})
                            )
                            (Pipeline
                              children: [(C {(__has_phase_defined_up_to)} {(configure)})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2647 2668]
                )
              ]
              else_action: [
                (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))})
              ]
              spids: [2680 2694]
            )
            (C {(trap)} {(__abort_configure)} {(SIGINT)} {(SIGQUIT)})
            (C {(__start_distcc)})
            (C {(__ebuild_phase)} {(pre_src_configure)})
            (C {(__vecho)} {(DQ ('>>> Configuring source in ') ($ VSub_Name '$PWD') (' ...'))})
            (C {(__ebuild_phase)} {(src_configure)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.configured))})
              ]
            )
            (C {(__vecho)} {(DQ ('>>> Source configured.'))})
            (C {(__ebuild_phase)} {(post_src_configure)})
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [2559]
        )
      spids: [2555 2558]
    )
    (FuncDef
      name: __dyn_compile
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") (${ VSub_Name PF) 
                          ("' is already compiled; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") ($ VSub_Name '$PORTAGE_BUILDDIR') 
                          ("/.compiled' to force compilation.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 2797]
                )
              ]
              spids: [16777215 2825]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name S))})]
                  spids: [16777215 2841]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_S_WORKDIR_fallback)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2853 2858]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)})
                            )
                            (Pipeline
                              children: [(C {(__has_phase_defined_up_to)} {(compile)})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [2870 2891]
                )
              ]
              else_action: [
                (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))})
              ]
              spids: [2903 2917]
            )
            (C {(trap)} {(__abort_compile)} {(SIGINT)} {(SIGQUIT)})
            (C {(__start_distcc)})
            (C {(__ebuild_phase)} {(pre_src_compile)})
            (C {(__vecho)} {(DQ ('>>> Compiling source in ') ($ VSub_Name '$PWD') (' ...'))})
            (C {(__ebuild_phase)} {(src_compile)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.compiled))})
              ]
            )
            (C {(__vecho)} {(DQ ('>>> Source compiled.'))})
            (C {(__ebuild_phase)} {(post_src_compile)})
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [2780]
        )
      spids: [2776 2779]
    )
    (FuncDef
      name: __dyn_test
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ ('>>> It appears that ') (${ VSub_Name PN) 
                          (' has already been tested; skipping.')
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") (${ VSub_Name PORTAGE_BUILDDIR) 
                          ("/.tested' to force test.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 3020]
                )
              ]
              spids: [16777215 3048]
            )
            (C {(trap)} {(DQ (__abort_test))} {(SIGINT)} {(SIGQUIT)})
            (C {(__start_distcc)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name S))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name S))})]
                  spids: [16777215 3082]
                )
              ]
              else_action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
              spids: [3094 3106]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(test)} {(${ VSub_Name RESTRICT)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(einfo)} {(DQ ('Skipping make test/check due to ebuild restriction.'))})
                    (C {(__vecho)} 
                      {
                        (DQ ('>>> Test phase [disabled because of RESTRICT=test]: ') 
                          (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF)
                        )
                      }
                    )
                  ]
                  spids: [16777215 3122]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {(${ VSub_Name EBUILD_FORCE_TEST)}
                                  right: {(1)}
                                )
                            )
                            (Pipeline
                              children: [(C {(has)} {(test)} {(${ VSub_Name FEATURES)})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ ('>>> Test phase [not enabled]: ') (${ VSub_Name CATEGORY) (/) 
                          (${ VSub_Name PF)
                        )
                      }
                    )
                  ]
                  spids: [3155 3183]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:save_sp)
                      op: Equal
                      rhs: {(${ VSub_Name SANDBOX_PREDICT)}
                      spids: [3205]
                    )
                  ]
                  spids: [3203]
                )
                (C {(addpredict)} {(/)})
                (C {(__ebuild_phase)} {(pre_src_test)})
                (C {(__vecho)} {(DQ ('>>> Test phase: ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF))})
                (C {(__ebuild_phase)} {(src_test)})
                (C {(__vecho)} 
                  {(DQ ('>>> Completed testing ') (${ VSub_Name CATEGORY) (/) (${ VSub_Name PF))}
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (SimpleCommand
                      redirects: [
                        (Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested))}
                        )
                      ]
                    )
                    (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.tested))})
                  ]
                )
                (C {(__ebuild_phase)} {(post_src_test)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SANDBOX_PREDICT)
                      op: Equal
                      rhs: {(${ VSub_Name save_sp)}
                      spids: [3281]
                    )
                  ]
                  spids: [3281]
                )
              ]
              spids: [3200 3287]
            )
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [3003]
        )
      spids: [2999 3002]
    )
    (FuncDef
      name: __dyn_install
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))} {(Lit_Other ']')})
                (C {(die)} {(DQ (${ VSub_Name FUNCNAME) (': PORTAGE_BUILDDIR is unset'))})
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(has)} {(noauto)} {($ VSub_Name '$FEATURES')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR) (/.installed))})]
                  spids: [16777215 3341]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__vecho)} 
                      {
                        (DQ (">>> It appears that '") (${ VSub_Name PF) 
                          ("' is already installed; skipping.")
                        )
                      }
                    )
                    (C {(__vecho)} 
                      {
                        (DQ (">>> Remove '") (${ VSub_Name PORTAGE_BUILDDIR) 
                          ("/.installed' to force install.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [3356 3369]
                )
              ]
              spids: [16777215 3399]
            )
            (C {(trap)} {(DQ (__abort_install))} {(SIGINT)} {(SIGQUIT)})
            (C {(__start_distcc)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$QA_PREBUILT')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:QA_EXECSTACK)
                          op: PlusEqual
                          rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))}
                          spids: [3452]
                        )
                      ]
                      spids: [3452]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:QA_TEXTRELS)
                          op: PlusEqual
                          rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))}
                          spids: [3459]
                        )
                      ]
                      spids: [3459]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:QA_WX_LOAD)
                          op: PlusEqual
                          rhs: {(DQ (' ') ($ VSub_Name '$QA_PREBUILT'))}
                          spids: [3466]
                        )
                      ]
                      spids: [3466]
                    )
                    (ForEach
                      iter_name: x
                      iter_words: [{(QA_DT_NEEDED)} {(QA_FLAGS_IGNORED)} {(QA_PRESTRIPPED)} {(QA_SONAME)}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobEqual
                                              left: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {(Assign_Declare declare)}
                                                              {(-p)}
                                                              {($ VSub_Name '$x')}
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op: <Redir_Great '2>'>
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [3505 3514]
                                                  )
                                                }
                                              right: 
                                                {(declare) 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\ '>
                                                  ) (BoolUnary_a -a) (Lit_Other '*')
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$x') ('=(') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$x') ('[@]}') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (' ') 
                                          (BracedVarSub
                                            token: <VSub_Name QA_PREBUILT>
                                            suffix_op: 
                                              (PatSub
                                                pat: 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\*'>
                                                    )
                                                  }
                                                replace: {('.*')}
                                                do_all: T
                                                do_prefix: F
                                                do_suffix: F
                                              )
                                            spids: [3542 3549]
                                          ) (')')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 3527]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {
                                    (DQ ($ VSub_Name '$x') ('+=') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\"'>
                                      ) (' ') 
                                      (BracedVarSub
                                        token: <VSub_Name QA_PREBUILT>
                                        suffix_op: 
                                          (PatSub
                                            pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)}
                                            replace: {('.*')}
                                            do_all: T
                                            do_prefix: F
                                            do_suffix: F
                                          )
                                        spids: [3564 3571]
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                    )
                                  }
                                )
                              ]
                              spids: [3554 3576]
                            )
                          ]
                          spids: [3498 3579]
                        )
                      spids: [3487 3496]
                    )
                    (C {(unset)} {(x)})
                  ]
                  spids: [16777215 3445]
                )
              ]
              spids: [16777215 3588]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$QA_PRESTRIPPED')})
                )
                (C {(export)} {(QA_PRESTRIPPED)})
              ]
            )
            (C {(eval)} 
              {
                (DQ ('[[ -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (QA_PRESTRIPPED_) 
                  (BracedVarSub
                    token: <VSub_Name ARCH>
                    suffix_op: (PatSub pat:{(-)} replace:{(_)} do_all:F do_prefix:F do_suffix:F)
                    spids: [3616 3622]
                  ) (' ]] && ') ('\t\texport QA_PRESTRIPPED_') 
                  (BracedVarSub
                    token: <VSub_Name ARCH>
                    suffix_op: (PatSub pat:{(-)} replace:{(_)} do_all:F do_prefix:F do_suffix:F)
                    spids: [3626 3632]
                  )
                )
              }
            )
            (C {(__ebuild_phase)} {(pre_src_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_prefix_variables)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_x)
                          op: Equal
                          rhs: {(${ VSub_Name ED)}
                          spids: [3651]
                        )
                      ]
                      spids: [3651]
                    )
                  ]
                  spids: [16777215 3648]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_x)
                      op: Equal
                      rhs: {(${ VSub_Name D)}
                      spids: [3660]
                    )
                  ]
                  spids: [3660]
                )
              ]
              spids: [3657 3666]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name D))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name _x))})
            (C {(unset)} {(_x)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$S')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name S))})]
                  spids: [16777215 3709]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(___eapi_has_S_WORKDIR_fallback)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [3721 3726]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name A)})
                            )
                            (Pipeline
                              children: [(C {(__has_phase_defined_up_to)} {(install)})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cd)} {(DQ (${ VSub_Name WORKDIR))})]
                  spids: [3738 3759]
                )
              ]
              else_action: [
                (C {(die)} {(DQ ("The source directory '") (${ VSub_Name S) ("' doesn't exist"))})
              ]
              spids: [3771 3785]
            )
            (C {(__vecho)})
            (C {(__vecho)} 
              {
                (DQ ('>>> Install ') (${ VSub_Name PF) (' into ') (${ VSub_Name D) (' category ') 
                  (${ VSub_Name CATEGORY)
                )
              }
            )
            (C {(export)} {(S)} {(D)})
            (C {(export)} {(Lit_VarLike 'DESTTREE=') (/usr)})
            (C {(export)} {(Lit_VarLike 'INSDESTTREE=') (DQ )})
            (C {(export)} {(Lit_VarLike '_E_EXEDESTTREE_=') (DQ )})
            (C {(export)} {(Lit_VarLike '_E_DOCDESTTREE_=') (DQ )})
            (C {(__ebuild_phase)} {(src_install)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed))}
                    )
                  ]
                )
                (C {(die)} {(DQ ('Failed to create ') ($ VSub_Name '$PORTAGE_BUILDDIR') (/.installed))})
              ]
            )
            (C {(__vecho)} 
              {(DQ ('>>> Completed installing ') (${ VSub_Name PF) (' into ') (${ VSub_Name D))}
            )
            (C {(__vecho)})
            (C {(__ebuild_phase)} {(post_src_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(type)} {(-P)} {(du)}]
                          redirects: [
                            (Redir
                              op: <Redir_AndGreat '&>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nsz)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [(C {(du)} {(-ks)} {(DQ (${ VSub_Name WORKDIR))})]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3938 3948]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [3935]
                        )
                      ]
                      spids: [3933]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:isz)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [(C {(du)} {(-ks)} {(DQ (${ VSub_Name D))})]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3958 3968]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [3955]
                        )
                      ]
                      spids: [3953]
                    )
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (FuncDef
                              name: padl
                              body: 
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s1)
                                          op: Equal
                                          rhs: {($ VSub_Number '$1')}
                                          spids: [3998]
                                        )
                                      ]
                                      spids: [3996]
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s2)
                                          op: Equal
                                          rhs: {($ VSub_Number '$2')}
                                          spids: [4004]
                                        )
                                      ]
                                      spids: [4002]
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:width)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name s1>
                                                prefix_op: VSub_Pound
                                                spids: [4011 4014]
                                              )
                                            }
                                          spids: [4010]
                                        )
                                      ]
                                      spids: [4008]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_gt
                                              left: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name s2>
                                                    prefix_op: VSub_Pound
                                                    spids: [4019 4022]
                                                  )
                                                }
                                              right: {(${ VSub_Name width)}
                                            )
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:width)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name s2>
                                                    prefix_op: VSub_Pound
                                                    spids: [4035 4038]
                                                  )
                                                }
                                              spids: [4034]
                                            )
                                          ]
                                          spids: [4034]
                                        )
                                      ]
                                    )
                                    (C {(printf)} {(DQ ('%*s'))} {(${ VSub_Name width)} 
                                      {(DQ (${ VSub_Name s1))}
                                    )
                                  ]
                                  spids: [3993]
                                )
                              spids: [3989 3992]
                            )
                            (FuncDef
                              name: human
                              body: 
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s1)
                                          op: Equal
                                          rhs: {($ VSub_Number '$1')}
                                          spids: [4075]
                                        )
                                      ]
                                      spids: [4073]
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:units)
                                          op: Equal
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(KiB)} {(MiB)} {(GiB)} {(TiB)}]
                                              )
                                            }
                                          spids: [4081]
                                        )
                                      ]
                                      spids: [4079]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (ArithSubPart
                                                anode: 
                                                  (ArithBinary
                                                    op_id: Arith_Star
                                                    left: (ArithVarRef name:s1)
                                                    right: (ArithWord w:{(Lit_Digits 10)})
                                                  )
                                                spids: [4097 4104]
                                              )
                                            }
                                          spids: [4096]
                                        )
                                      ]
                                      spids: [4096]
                                    )
                                    (WhileUntil
                                      keyword: <KW_While while>
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (LogicalAnd
                                                  left: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_gt
                                                      left: {(${ VSub_Name s1)}
                                                      right: {(10240)}
                                                    )
                                                  right: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_gt
                                                      left: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name units>
                                                            prefix_op: VSub_Pound
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [4121 4127]
                                                          )
                                                        }
                                                      right: {(1)}
                                                    )
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:s1)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (ArithSubPart
                                                        anode: 
                                                          (ArithBinary
                                                            op_id: Arith_Slash
                                                            left: (ArithVarRef name:s1)
                                                            right: (ArithWord w:{(Lit_Digits 1024)})
                                                          )
                                                        spids: [4141 4149]
                                                      )
                                                    }
                                                  spids: [4140]
                                                )
                                              ]
                                              spids: [4140]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:units)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (ArrayLiteralPart
                                                        words: [
                                                          {
                                                            (BracedVarSub
                                                              token: <VSub_Name units>
                                                              bracket_op: (WholeArray op_id:Lit_At)
                                                              suffix_op: 
                                                                (Slice
                                                                  begin: (ArithWord w:{(Lit_Digits 1)})
                                                                )
                                                              spids: [4155 4162]
                                                            )
                                                          }
                                                        ]
                                                      )
                                                    }
                                                  spids: [4152]
                                                )
                                              ]
                                              spids: [4152]
                                            )
                                          ]
                                          spids: [4137 4167]
                                        )
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:r)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name s1>
                                                suffix_op: 
                                                  (Slice
                                                    begin: 
                                                      (ArithUnary
                                                        op_id: Node_UnaryMinus
                                                        child: (ArithWord w:{(Lit_Digits 1)})
                                                      )
                                                  )
                                                spids: [4174 4180]
                                              )
                                            }
                                          spids: [4173]
                                        )
                                      ]
                                      spids: [4171]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (ArithSubPart
                                                anode: 
                                                  (ArithBinary
                                                    op_id: Arith_Slash
                                                    left: (ArithVarRef name:s1)
                                                    right: (ArithWord w:{(Lit_Digits 10)})
                                                  )
                                                spids: [4184 4191]
                                              )
                                            }
                                          spids: [4183]
                                        )
                                      ]
                                      spids: [4183]
                                    )
                                    (C {(printf)} {(DQ ('%s.%s %s'))} {(DQ (${ VSub_Name s1))} 
                                      {(DQ (${ VSub_Name r))} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name units>
                                            bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                                            spids: [4213 4218]
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [4070]
                                )
                              spids: [4066 4069]
                            )
                            (FuncDef
                              name: size
                              body: 
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s1)
                                          op: Equal
                                          rhs: {($ VSub_Number '$1')}
                                          spids: [4235]
                                        )
                                      ]
                                      spids: [4233]
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:s2)
                                          op: Equal
                                          rhs: {($ VSub_Number '$2')}
                                          spids: [4241]
                                        )
                                      ]
                                      spids: [4239]
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:out)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (C {(padl)} {(DQ (${ VSub_Name s1))} 
                                                          {(DQ (${ VSub_Name s2))}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [4249 4263]
                                                ) (' KiB')
                                              )
                                            }
                                          spids: [4247]
                                        )
                                      ]
                                      spids: [4245]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DBracket
                                                  expr: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_gt
                                                      left: {(${ VSub_Name s1)}
                                                      right: {(1024)}
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:s1)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(human)} {(${ VSub_Name s1)})
                                                            ]
                                                          )
                                                        left_token: <Left_CommandSub '$('>
                                                        spids: [4289 4295]
                                                      )
                                                    }
                                                  spids: [4288]
                                                )
                                              ]
                                              spids: [4288]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DBracket
                                                          expr: 
                                                            (BoolBinary
                                                              op_id: BoolBinary_gt
                                                              left: {(${ VSub_Name s2)}
                                                              right: {(1024)}
                                                            )
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:s2)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {(human)} {(${ VSub_Name s2)})
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [4318 4324]
                                                              )
                                                            }
                                                          spids: [4317]
                                                        )
                                                      ]
                                                      spids: [4317]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:s1)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {(padl)} 
                                                                        {(DQ (${ VSub_Name s1))} {(DQ (${ VSub_Name s2))}
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [4328 4342]
                                                              )
                                                            }
                                                          spids: [4327]
                                                        )
                                                      ]
                                                      spids: [4327]
                                                    )
                                                  ]
                                                  spids: [16777215 4314]
                                                )
                                              ]
                                              spids: [16777215 4345]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:out)
                                                  op: PlusEqual
                                                  rhs: {(DQ (' (') (${ VSub_Name s1) (')'))}
                                                  spids: [4348]
                                                )
                                              ]
                                              spids: [4348]
                                            )
                                          ]
                                          spids: [16777215 4285]
                                        )
                                      ]
                                      spids: [16777215 4358]
                                    )
                                    (C {(echo)} {(DQ (${ VSub_Name out))})
                                  ]
                                  spids: [4230]
                                )
                              spids: [4226 4229]
                            )
                            (C {(einfo)} 
                              {
                                (DQ ('Final size of build directory: ') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(size)} 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name nsz>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{(Lit_Digits 0)})
                                                  )
                                                spids: [4380 4385]
                                              )
                                            } 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name isz>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{(Lit_Digits 0)})
                                                  )
                                                spids: [4387 4392]
                                              )
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4377 4393]
                                  )
                                )
                              }
                            )
                            (C {(einfo)} 
                              {
                                (DQ ('Final size of installed tree:  ') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(size)} 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name isz>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{(Lit_Digits 0)})
                                                  )
                                                spids: [4404 4409]
                                              )
                                            } 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name nsz>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{(Lit_Digits 0)})
                                                  )
                                                spids: [4411 4416]
                                              )
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4401 4417]
                                  )
                                )
                              }
                            )
                          ]
                        )
                      spids: [3982 4421]
                    )
                    (C {(__vecho)})
                  ]
                  spids: [16777215 3930]
                )
              ]
              spids: [16777215 4427]
            )
            (C {(cd)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info)})
            (C {(set)} {(-f)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:f) op:Equal spids:[4448])
                (assign_pair lhs:(LhsName name:x) op:Equal spids:[4450])
              ]
              spids: [4446]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: 
                    {
                      (SingleQuotedPart
                        left: <Left_DollarSingleQuote "$'">
                        tokens: [
                          <Char_Literals ' '>
                          <Char_OneChar '\\t'>
                          <Char_OneChar '\\n'>
                          <Char_OneChar '\\r'>
                        ]
                        spids: [4454 4459]
                      )
                    }
                  spids: [4453]
                )
              ]
              spids: [4453]
            )
            (ForEach
              iter_name: f
              iter_words: [
                {(CATEGORY)}
                {(DEFINED_PHASES)}
                {(FEATURES)}
                {(INHERITED)}
                {(IUSE)}
                {(PF)}
                {(PKGUSE)}
                {(SLOT)}
                {(KEYWORDS)}
                {(HOMEPAGE)}
                {(DESCRIPTION)}
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:x)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} {(-n)} 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name f>
                                            prefix_op: VSub_Bang
                                            spids: [4503 4506]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4498 4507]
                              )
                            }
                          spids: [4497]
                        )
                      ]
                      spids: [4497]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')})
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ($ VSub_Name '$x'))}]
                          redirects: [
                            (Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {($ VSub_Name '$f')}
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [4494 4531]
                )
              spids: [4467 4492]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {($ VSub_Name '$CATEGORY')}
                              right: {(virtual)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: f
                      iter_words: [
                        {(ASFLAGS)}
                        {(CBUILD)}
                        {(CC)}
                        {(CFLAGS)}
                        {(CHOST)}
                        {(CTARGET)}
                        {(CXX)}
                        {(CXXFLAGS)}
                        {(EXTRA_ECONF)}
                        {(EXTRA_EINSTALL)}
                        {(EXTRA_MAKE)}
                        {(LDFLAGS)}
                        {(LIBCFLAGS)}
                        {(LIBCXXFLAGS)}
                        {(QA_CONFIGURE_OPTIONS)}
                        {(QA_DESKTOP_FILE)}
                        {(QA_PREBUILT)}
                        {(PROVIDES_EXCLUDE)}
                        {(REQUIRES_EXCLUDE)}
                      ]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:x)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(echo)} {(-n)} 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name f>
                                                    prefix_op: VSub_Bang
                                                    spids: [4612 4615]
                                                  )
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [4607 4616]
                                      )
                                    }
                                  spids: [4606]
                                )
                              ]
                              spids: [4606]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')})
                                )
                                (SimpleCommand
                                  words: [{(echo)} {(DQ ($ VSub_Name '$x'))}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {($ VSub_Name '$f')}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [4603 4640]
                        )
                      spids: [4556 4601]
                    )
                    (ForEach
                      iter_name: f
                      iter_words: [{(QA_AM_MAINTAINER_MODE)}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name f>
                                            prefix_op: VSub_Bang
                                            spids: [4664 4667]
                                          )
                                        }
                                    )
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name f>
                                          prefix_op: VSub_Bang
                                          spids: [4676 4679]
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {($ VSub_Name '$f')}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [4657 4687]
                        )
                      spids: [4652 4655]
                    )
                  ]
                  spids: [16777215 4548]
                )
              ]
              spids: [16777215 4690]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ (${ VSub_Name USE))}]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(USE)})]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name EAPI>
                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)})
                      spids: [4709 4713]
                    )
                  )
                }
              ]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(EAPI)})]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(___eapi_has_prefix_variables)})
                            (DBracket
                              expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name EPREFIX)})
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ (${ VSub_Name EPREFIX))}]
                      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(EPREFIX)})]
                    )
                  ]
                  spids: [16777215 4751]
                )
              ]
              spids: [16777215 4767]
            )
            (C {(set)} {(Lit_Other '+') (f)})
            (C {(unset)} {(f)})
            (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))})
            (Pipeline
              children: [
                (C {(__save_ebuild_env)} {(--exclude-init-phases)})
                (SimpleCommand
                  words: [
                    {(__filter_readonly_variables)}
                    {(--filter-path)}
                    {(--filter-sandbox)}
                    {(--allow-extra-vars)}
                  ]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info/environment)}
                    )
                  ]
                )
              ]
              negated: F
            )
            (C {(assert)} {(DQ ('__save_ebuild_env failed'))})
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(cd)} {(DQ (${ VSub_Name PORTAGE_BUILDDIR)) (/build-info)}) (C {(die)})]
            )
            (C {(${ VSub_Name PORTAGE_BZIP2_COMMAND)} {(-f9)} {(environment)})
            (C {(cp)} {(DQ (${ VSub_Name EBUILD))} {(DQ (${ VSub_Name PF) (.ebuild))})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name PORTAGE_REPO_NAME))} {(Lit_Other ']')})
                (SimpleCommand
                  words: [{(echo)} {(DQ (${ VSub_Name PORTAGE_REPO_NAME))}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(repository)})]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(has)} {(nostrip)} {(${ VSub_Name FEATURES)} {(${ VSub_Name RESTRICT)})
                        (C {(has)} {(strip)} {(${ VSub_Name RESTRICT)})
                      ]
                    )
                  ]
                  action: [
                    (SimpleCommand
                      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(DEBUGBUILD)})]
                    )
                  ]
                  spids: [16777215 4929]
                )
              ]
              spids: [16777215 4937]
            )
            (C {(trap)} {(-)} {(SIGINT)} {(SIGQUIT)})
          ]
          spids: [3306]
        )
      spids: [3302 3305]
    )
    (FuncDef
      name: __dyn_help
      body: 
        (BraceGroup
          children: [
            (C {(echo)})
            (C {(echo)} {(DQ (Portage))})
            (C {(echo)} {(DQ ('Copyright 1999-2010 Gentoo Foundation'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('How to use the ebuild command:'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('The first argument to ebuild should be an existing .ebuild file.'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('One or more of the following options can then be specified.  If more'))})
            (C {(echo)} {(DQ ('than one option is specified, each will be executed in order.'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('  help        : show this help screen'))})
            (C {(echo)} {(DQ ('  pretend     : execute package specific pretend actions'))})
            (C {(echo)} {(DQ ('  setup       : execute package specific setup actions'))})
            (C {(echo)} {(DQ ('  fetch       : download source archive(s) and patches'))})
            (C {(echo)} {(DQ ('  nofetch     : display special fetch instructions'))})
            (C {(echo)} {(DQ ('  digest      : create a manifest file for the package'))})
            (C {(echo)} {(DQ ('  manifest    : create a manifest file for the package'))})
            (C {(echo)} {(DQ ('  unpack      : unpack sources (auto-dependencies if needed)'))})
            (C {(echo)} {(DQ ('  prepare     : prepare sources (auto-dependencies if needed)'))})
            (C {(echo)} {(DQ ('  configure   : configure sources (auto-fetch/unpack if needed)'))})
            (C {(echo)} 
              {(DQ ('  compile     : compile sources (auto-fetch/unpack/configure if needed)'))}
            )
            (C {(echo)} 
              {(DQ ('  test        : test package (auto-fetch/unpack/configure/compile if needed)'))}
            )
            (C {(echo)} {(DQ ('  preinst     : execute pre-install instructions'))})
            (C {(echo)} {(DQ ('  postinst    : execute post-install instructions'))})
            (C {(echo)} 
              {(DQ ('  install     : install the package to the temporary install directory'))}
            )
            (C {(echo)} 
              {(DQ ('  qmerge      : merge image into live filesystem, recording files in db'))}
            )
            (C {(echo)} {(DQ ('  merge       : do fetch, unpack, compile, install and qmerge'))})
            (C {(echo)} {(DQ ('  prerm       : execute pre-removal instructions'))})
            (C {(echo)} {(DQ ('  postrm      : execute post-removal instructions'))})
            (C {(echo)} {(DQ ('  unmerge     : remove package from live filesystem'))})
            (C {(echo)} {(DQ ('  config      : execute package specific configuration actions'))})
            (C {(echo)} 
              {(DQ ('  package     : create a tarball package in ') (${ VSub_Name PKGDIR) (/All))}
            )
            (C {(echo)} {(DQ ('  rpm         : build a RedHat RPM package'))})
            (C {(echo)} {(DQ ('  clean       : clean up all source and temporary files'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('The following settings will be used for the ebuild process:'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('  package     : ') (${ VSub_Name PF))})
            (C {(echo)} {(DQ ('  slot        : ') (${ VSub_Name SLOT))})
            (C {(echo)} {(DQ ('  category    : ') (${ VSub_Name CATEGORY))})
            (C {(echo)} {(DQ ('  description : ') (${ VSub_Name DESCRIPTION))})
            (C {(echo)} {(DQ ('  system      : ') (${ VSub_Name CHOST))})
            (C {(echo)} {(DQ ('  c flags     : ') (${ VSub_Name CFLAGS))})
            (C {(echo)} {(DQ ('  c++ flags   : ') (${ VSub_Name CXXFLAGS))})
            (C {(echo)} {(DQ ('  make flags  : ') (${ VSub_Name MAKEOPTS))})
            (C {(echo)} {(-n)} {(DQ ('  build mode  : '))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(has)} {(nostrip)} {(${ VSub_Name FEATURES)} {(${ VSub_Name RESTRICT)})
                            (C {(has)} {(strip)} {(${ VSub_Name RESTRICT)})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('debug (large)'))})]
                  spids: [16777215 5316]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('production (stripped)'))})]
              spids: [5326 5336]
            )
            (C {(echo)} {(DQ ('  merge to    : ') (${ VSub_Name ROOT))})
            (C {(echo)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$USE'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
'Additionally, support for the following optional features will be enabled:'
                          )
                        )
                      }
                    )
                    (C {(echo)})
                    (C {(echo)} {(DQ ('  ') (${ VSub_Name USE))})
                  ]
                  spids: [16777215 5365]
                )
              ]
              spids: [16777215 5388]
            )
            (C {(echo)})
          ]
          spids: [4955]
        )
      spids: [4951 4954]
    )
    (FuncDef
      name: __ebuild_arg_to_phase
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(1)} {(Lit_Other ']')})
                (C {(die)} 
                  {
                    (DQ ('expected exactly 1 arg, got ') ($ VSub_Pound '$#') (': ') ($ VSub_Star '$*'))
                  }
                )
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arg)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [5439]
                )
              ]
              spids: [5437]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:phase_func) op:Equal rhs:{(DQ )} spids:[5445])]
              spids: [5443]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$arg'))}
              arms: [
                (case_arm
                  pat_list: [{(pretend)}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(___eapi_has_pkg_pretend)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:phase_func)
                              op: Equal
                              rhs: {(pkg_pretend)}
                              spids: [5470]
                            )
                          ]
                          spids: [5470]
                        )
                      ]
                    )
                  ]
                  spids: [5460 5461 5474 16777215]
                )
                (case_arm
                  pat_list: [{(setup)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_setup)}
                          spids: [5481]
                        )
                      ]
                      spids: [5481]
                    )
                  ]
                  spids: [5477 5478 5485 16777215]
                )
                (case_arm
                  pat_list: [{(nofetch)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_nofetch)}
                          spids: [5492]
                        )
                      ]
                      spids: [5492]
                    )
                  ]
                  spids: [5488 5489 5496 16777215]
                )
                (case_arm
                  pat_list: [{(unpack)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(src_unpack)}
                          spids: [5503]
                        )
                      ]
                      spids: [5503]
                    )
                  ]
                  spids: [5499 5500 5507 16777215]
                )
                (case_arm
                  pat_list: [{(prepare)}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(___eapi_has_src_prepare)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:phase_func)
                              op: Equal
                              rhs: {(src_prepare)}
                              spids: [5520]
                            )
                          ]
                          spids: [5520]
                        )
                      ]
                    )
                  ]
                  spids: [5510 5511 5524 16777215]
                )
                (case_arm
                  pat_list: [{(configure)}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(___eapi_has_src_configure)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:phase_func)
                              op: Equal
                              rhs: {(src_configure)}
                              spids: [5537]
                            )
                          ]
                          spids: [5537]
                        )
                      ]
                    )
                  ]
                  spids: [5527 5528 5541 16777215]
                )
                (case_arm
                  pat_list: [{(compile)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(src_compile)}
                          spids: [5548]
                        )
                      ]
                      spids: [5548]
                    )
                  ]
                  spids: [5544 5545 5552 16777215]
                )
                (case_arm
                  pat_list: [{(test)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(src_test)}
                          spids: [5559]
                        )
                      ]
                      spids: [5559]
                    )
                  ]
                  spids: [5555 5556 5563 16777215]
                )
                (case_arm
                  pat_list: [{(install)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(src_install)}
                          spids: [5570]
                        )
                      ]
                      spids: [5570]
                    )
                  ]
                  spids: [5566 5567 5574 16777215]
                )
                (case_arm
                  pat_list: [{(preinst)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_preinst)}
                          spids: [5581]
                        )
                      ]
                      spids: [5581]
                    )
                  ]
                  spids: [5577 5578 5585 16777215]
                )
                (case_arm
                  pat_list: [{(postinst)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_postinst)}
                          spids: [5592]
                        )
                      ]
                      spids: [5592]
                    )
                  ]
                  spids: [5588 5589 5596 16777215]
                )
                (case_arm
                  pat_list: [{(prerm)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_prerm)}
                          spids: [5603]
                        )
                      ]
                      spids: [5603]
                    )
                  ]
                  spids: [5599 5600 5607 16777215]
                )
                (case_arm
                  pat_list: [{(postrm)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:phase_func)
                          op: Equal
                          rhs: {(pkg_postrm)}
                          spids: [5614]
                        )
                      ]
                      spids: [5614]
                    )
                  ]
                  spids: [5610 5611 5618 16777215]
                )
              ]
              spids: [5451 5457 5621]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$phase_func')})
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$phase_func'))})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [5412]
        )
      spids: [5408 5411]
    )
    (FuncDef
      name: __ebuild_phase_funcs
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(2)} {(Lit_Other ']')})
                (C {(die)} 
                  {
                    (DQ ('expected exactly 2 args, got ') ($ VSub_Pound '$#') (': ') ($ VSub_Star '$*'))
                  }
                )
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:eapi)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [5685]
                )
              ]
              spids: [5683]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:phase_func)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [5691]
                )
              ]
              spids: [5689]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:all_phases)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('src_compile pkg_config src_configure pkg_info\n') 
                        ('\t\tsrc_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst\n') ('\t\tsrc_prepare pkg_prerm pkg_pretend pkg_setup src_test src_unpack')
                      )
                    }
                  spids: [5697]
                )
              ]
              spids: [5695]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[5707])]
              spids: [5705]
            )
            (ForEach
              iter_name: x
              iter_words: [{(${ VSub_Name all_phases)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(eval)} 
                      {
                        (DQ (default_) (${ VSub_Name x) ('() {\n') ('\t\t\tdie ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (default_) (${ VSub_Name x) ("() is not supported in EAPI='") (${ VSub_Name eapi) ("' in phase ") 
                          (${ VSub_Name phase_func) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t\t}')
                        )
                      }
                    )
                  ]
                  spids: [5727 5758]
                )
              spids: [5720 5725]
            )
            (C {(eval)} 
              {(DQ ('default() {\n') ('\t\tdefault_') (${ VSub_Name phase_func) ('\n') ('\t}'))}
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$eapi'))}
              arms: [
                (case_arm
                  pat_list: [{(0)} {(1)}]
                  action: [
                    (ForEach
                      iter_name: x
                      iter_words: [{(pkg_nofetch)} {(src_unpack)} {(src_test)}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(Assign_Declare declare)} {(-F)} {($ VSub_Name '$x')}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (C {(eval)} 
                                  {
                                    (DQ ($ VSub_Name '$x') ('() { __eapi0_') ($ VSub_Name '$x') ('; }'))
                                  }
                                )
                              ]
                            )
                          ]
                          spids: [5817 5843]
                        )
                      spids: [5808 5815]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [{(Assign_Declare declare)} {(-F)} {(src_compile)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$eapi'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(0)}]
                                  action: [
                                    (FuncDef
                                      name: src_compile
                                      body: 
                                        (BraceGroup
                                          children: [
                                            (Sentence
                                              child: (C {(__eapi0_src_compile)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          spids: [5882]
                                        )
                                      spids: [5878 5881]
                                    )
                                  ]
                                  spids: [5874 5875 5890 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (FuncDef
                                      name: src_compile
                                      body: 
                                        (BraceGroup
                                          children: [
                                            (Sentence
                                              child: (C {(__eapi1_src_compile)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          spids: [5901]
                                        )
                                      spids: [5897 5900]
                                    )
                                  ]
                                  spids: [5893 5894 5909 16777215]
                                )
                              ]
                              spids: [5865 5871 5912]
                            )
                          ]
                          spids: [16777215 5862]
                        )
                      ]
                      spids: [16777215 5915]
                    )
                  ]
                  spids: [5793 5796 5918 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(pkg_nofetch)}
                            )
                        )
                        (FuncDef
                          name: default_pkg_nofetch
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi0_pkg_nofetch)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [5954]
                            )
                          spids: [5950 5953]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(src_unpack)}
                            )
                        )
                        (FuncDef
                          name: default_src_unpack
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi0_src_unpack)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [5982]
                            )
                          spids: [5978 5981]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(src_test)}
                            )
                        )
                        (FuncDef
                          name: default_src_test
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi0_src_test)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [6010]
                            )
                          spids: [6006 6009]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(src_prepare)}
                            )
                        )
                        (FuncDef
                          name: default_src_prepare
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi2_src_prepare)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [6043]
                            )
                          spids: [6039 6042]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(src_configure)}
                            )
                        )
                        (FuncDef
                          name: default_src_configure
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi2_src_configure)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [6071]
                            )
                          spids: [6067 6070]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name phase_func)}
                              right: {(src_compile)}
                            )
                        )
                        (FuncDef
                          name: default_src_compile
                          body: 
                            (BraceGroup
                              children: [
                                (Sentence
                                  child: (C {(__eapi2_src_compile)})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [6099]
                            )
                          spids: [6095 6098]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(pkg_nofetch)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: pkg_nofetch
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6129]
                            )
                          spids: [6125 6128]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(src_unpack)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: src_unpack
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6154]
                            )
                          spids: [6150 6153]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(src_prepare)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: src_prepare
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6179]
                            )
                          spids: [6175 6178]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(src_configure)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: src_configure
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6204]
                            )
                          spids: [6200 6203]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(src_compile)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: src_compile
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6229]
                            )
                          spids: [6225 6228]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(Assign_Declare declare)} {(-F)} {(src_test)}]
                          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                        )
                        (FuncDef
                          name: src_test
                          body: 
                            (BraceGroup
                              children: [(Sentence child:(C {(default)}) terminator:<Op_Semi ';'>)]
                              spids: [6254]
                            )
                          spids: [6250 6253]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [(C {(has)} {(${ VSub_Name eapi)} {(2)} {(3)})]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(${ VSub_Name phase_func)}
                                      right: {(src_install)}
                                    )
                                )
                                (FuncDef
                                  name: default_src_install
                                  body: 
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(__eapi4_src_install)})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      spids: [6305]
                                    )
                                  spids: [6301 6304]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(Assign_Declare declare)} {(-F)} {(src_install)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (FuncDef
                                  name: src_install
                                  body: 
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(default)})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      spids: [6331]
                                    )
                                  spids: [6327 6330]
                                )
                              ]
                            )
                          ]
                          spids: [16777215 6282]
                        )
                      ]
                      spids: [16777215 6339]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(has)} {(${ VSub_Name eapi)} {(2)} {(3)} {(4)} {(4-python)} 
                                      {(4-slot-abi)} {(5)} {(5-progress)} {(5-hdepend)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(${ VSub_Name phase_func)}
                                      right: {(src_prepare)}
                                    )
                                )
                                (FuncDef
                                  name: default_src_prepare
                                  body: 
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(__eapi6_src_prepare)})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      spids: [6397]
                                    )
                                  spids: [6393 6396]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(${ VSub_Name phase_func)}
                                      right: {(src_install)}
                                    )
                                )
                                (FuncDef
                                  name: default_src_install
                                  body: 
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(__eapi6_src_install)})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      spids: [6425]
                                    )
                                  spids: [6421 6424]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(Assign_Declare declare)} {(-F)} {(src_prepare)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (FuncDef
                                  name: src_prepare
                                  body: 
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(default)})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      spids: [6451]
                                    )
                                  spids: [6447 6450]
                                )
                              ]
                            )
                          ]
                          spids: [16777215 6374]
                        )
                      ]
                      spids: [16777215 6459]
                    )
                  ]
                  spids: [5922 5923 6462 16777215]
                )
              ]
              spids: [5784 5790 6465]
            )
          ]
          spids: [5658]
        )
      spids: [5654 5657]
    )
    (FuncDef
      name: __ebuild_main
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike 'EBUILD_MASTER_PID=') 
                (BracedVarSub
                  token: <VSub_Name BASHPID>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(__bashpid)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [6504 6506]
                          )
                        }
                    )
                  spids: [6501 6507]
                )
              }
            )
            (C {(trap)} {(SQ <'exit 1'>)} {(SIGTERM)})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name S)}))
                (C {(export)} {(Lit_VarLike 'S=') (${ VSub_Name WORKDIR) (/) (${ VSub_Name P)})
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_s child:{($ VSub_Name '$SANDBOX_LOG')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:x)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [6578]
                        )
                      ]
                      spids: [6576]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (DBracket expr:(BoolUnary op_id:BoolUnary_n child:{(SANDBOX_ON)}))
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:x)
                                  op: Equal
                                  rhs: {($ VSub_Name '$SANDBOX_ON')}
                                  spids: [6596]
                                )
                              ]
                              spids: [6596]
                            )
                            (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (0)})
                          ]
                          spids: [16777215 6593]
                        )
                      ]
                      spids: [16777215 6606]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$SANDBOX_LOG'))})
                        (C {(die)} 
                          {
                            (DQ ("failed to remove stale sandbox log: '") ($ VSub_Name '$SANDBOX_LOG') 
                              ("'")
                            )
                          }
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$x')})
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') ($ VSub_Name '$x')})]
                          spids: [16777215 6644]
                        )
                      ]
                      spids: [16777215 6653]
                    )
                    (C {(unset)} {(x)})
                  ]
                  spids: [16777215 6561]
                )
              ]
              spids: [16777215 6661]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(has)} {(ccache)} {($ VSub_Name '$FEATURES')})
                (C {(export)} {(Lit_VarLike 'CCACHE_DISABLE=') (1)})
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:phase_func)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(__ebuild_arg_to_phase)} {(DQ ($ VSub_Name '$EBUILD_PHASE'))})
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [6691 6697]
                      )
                    }
                  spids: [6690]
                )
              ]
              spids: [6688]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$phase_func')})
                )
                (C {(__ebuild_phase_funcs)} {(DQ ($ VSub_Name '$EAPI'))} 
                  {(DQ ($ VSub_Name '$phase_func'))}
                )
              ]
            )
            (C {(unset)} {(phase_func)})
            (C {(__source_all_bashrcs)})
            (Case
              to_match: {(${ VSub_Number 1)}
              arms: [
                (case_arm
                  pat_list: [{(nofetch)}]
                  action: [(C {(__ebuild_phase_with_hooks)} {(pkg_nofetch)})]
                  spids: [6740 6741 6749 16777215]
                )
                (case_arm
                  pat_list: [{(prerm)} {(postrm)} {(preinst)} {(postinst)} {(config)} {(info)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(has)} {(DQ (${ VSub_Number 1))} {(config)} {(info)})
                                    (Pipeline
                                      children: [
                                        (SimpleCommand
                                          words: [
                                            {(Assign_Declare declare)}
                                            {(-F)}
                                            {(DQ (pkg_) (${ VSub_Number 1))}
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      ]
                                      negated: T
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(ewarn)} 
                              {
                                (DQ (pkg_) (${ VSub_Number 1) ("() is not defined: '") 
                                  (BracedVarSub
                                    token: <VSub_Name EBUILD>
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VOp1_DPound
                                        arg_word: {('*') (Lit_Slash /)}
                                      )
                                    spids: [6813 6818]
                                  ) ("'")
                                )
                              }
                            )
                          ]
                          spids: [16777215 6802]
                        )
                      ]
                      spids: [16777215 6823]
                    )
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')}
                                    )
                                    (C {(Lit_Other '[')} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Hyphen ->
                                            suffix_op: 
                                              (PatSub
                                                pat: {(x)}
                                                replace: {(EmptyPart)}
                                                do_all: F
                                                do_prefix: F
                                                do_suffix: F
                                              )
                                            spids: [6858 6863]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(__ebuild_phase_with_hooks)} {(pkg_) (${ VSub_Number 1)})]
                          spids: [16777215 6876]
                        )
                      ]
                      else_action: [
                        (C {(set)} {(-x)})
                        (C {(__ebuild_phase_with_hooks)} {(pkg_) (${ VSub_Number 1)})
                        (C {(set)} {(Lit_Other '+') (x)})
                      ]
                      spids: [6887 6909]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {($ VSub_Name '$PORTAGE_UPDATE_ENV')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))})
                            (Pipeline
                              children: [
                                (C {(__save_ebuild_env)} {(--exclude-init-phases)})
                                (C {(__filter_readonly_variables)} {(--filter-path)} 
                                  {(--filter-sandbox)} {(--allow-extra-vars)}
                                )
                                (SimpleCommand
                                  words: [{(${ VSub_Name PORTAGE_BZIP2_COMMAND)} {(-c)} {(-f9)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_UPDATE_ENV'))}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                            (C {(assert)} {(DQ ('__save_ebuild_env failed'))})
                          ]
                          spids: [16777215 6924]
                        )
                      ]
                      spids: [16777215 6992]
                    )
                  ]
                  spids: [6752 6763 6995 16777215]
                )
                (case_arm
                  pat_list: [{(unpack)} {(prepare)} {(configure)} {(compile)} {(test)} {(clean)} {(install)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name SANDBOX_DISABLED>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_ColonHyphen
                                                arg_word: {(0)}
                                              )
                                            spids: [7018 7022]
                                          )
                                        }
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (1))})]
                          spids: [16777215 7032]
                        )
                      ]
                      else_action: [(C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))})]
                      spids: [7043 7054]
                    )
                    (Case
                      to_match: {(DQ (${ VSub_Number 1))}
                      arms: [
                        (case_arm
                          pat_list: [{(configure)} {(compile)}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[7078])]
                              spids: [7076]
                            )
                            (ForEach
                              iter_name: x
                              iter_words: [
                                {(ASFLAGS)}
                                {(CCACHE_DIR)}
                                {(CCACHE_SIZE)}
                                {(CFLAGS)}
                                {(CXXFLAGS)}
                                {(LDFLAGS)}
                                {(LIBCFLAGS)}
                                {(LIBCXXFLAGS)}
                              ]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobEqual
                                              left: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name x>
                                                    prefix_op: VSub_Bang
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VTest_Plus
                                                        arg_word: {(set)}
                                                      )
                                                    spids: [7112 7117]
                                                  )
                                                }
                                              right: {(set)}
                                            )
                                        )
                                        (C {(export)} {($ VSub_Name '$x')})
                                      ]
                                    )
                                  ]
                                  spids: [7107 7132]
                                )
                              spids: [7086 7105]
                            )
                            (C {(unset)} {(x)})
                            (AndOr
                              ops: [Op_DAmp Op_DAmp Op_DAmp]
                              children: [
                                (C {(has)} {(distcc)} {($ VSub_Name '$FEATURES')})
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {($ VSub_Name '$DISTCC_DIR')}
                                    )
                                )
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name SANDBOX_WRITE>
                                            suffix_op: 
                                              (PatSub
                                                pat: {($ VSub_Name '$DISTCC_DIR')}
                                                do_all: F
                                                do_prefix: F
                                                do_suffix: F
                                              )
                                            spids: [7163 7167]
                                          )
                                        }
                                      right: {($ VSub_Name '$SANDBOX_WRITE')}
                                    )
                                )
                                (C {(addwrite)} {(DQ ($ VSub_Name '$DISTCC_DIR'))})
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:x)
                                  op: Equal
                                  rhs: {(LIBDIR_) ($ VSub_Name '$ABI')}
                                  spids: [7187]
                                )
                              ]
                              spids: [7187]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PKG_CONFIG_PATH'))} 
                                  {(-a)} {(-n)} {(DQ ($ VSub_Name '$ABI'))} {(-a)} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name x>
                                        prefix_op: VSub_Bang
                                        spids: [7213 7216]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                                (C {(export)} 
                                  {(Lit_VarLike 'PKG_CONFIG_PATH=') (${ VSub_Name EPREFIX) (/usr/) 
                                    (BracedVarSub
                                      token: <VSub_Name x>
                                      prefix_op: VSub_Bang
                                      spids: [7232 7235]
                                    ) (/pkgconfig)
                                  }
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(has)} {(noauto)} {($ VSub_Name '$FEATURES')})
                                            (DBracket
                                              expr: 
                                                (LogicalNot
                                                  child: 
                                                    (BoolUnary
                                                      op_id: BoolUnary_f
                                                      child: 
                                                        {($ VSub_Name '$PORTAGE_BUILDDIR') 
                                                          (/.unpacked)
                                                        }
                                                    )
                                                )
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(echo)})
                                    (C {(echo)} {(DQ ("!!! We apparently haven't unpacked..."))} 
                                      {(DQ ('This is probably not what you'))}
                                    )
                                    (C {(echo)} {(DQ ('!!! want to be doing... You are using'))} 
                                      {(DQ ("FEATURES=noauto so I'll assume"))}
                                    )
                                    (C {(echo)} {(DQ ('!!! that you know what you are doing...'))} 
                                      {(DQ ('You have 5 seconds to abort...'))}
                                    )
                                    (C {(echo)})
                                    (C {(sleep)} {(5)})
                                  ]
                                  spids: [16777215 7265]
                                )
                              ]
                              spids: [16777215 7319]
                            )
                            (C {(cd)} {(DQ ($ VSub_Name '$PORTAGE_BUILDDIR'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(build-info)} 
                                          {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(mkdir)} {(build-info)})
                                    (C {(cp)} {(DQ ($ VSub_Name '$EBUILD'))} 
                                      {(DQ (build-info/) ($ VSub_Name '$PF') (.ebuild))}
                                    )
                                  ]
                                  spids: [16777215 7344]
                                )
                              ]
                              spids: [16777215 7365]
                            )
                            (C {(export)} {(S)} {(D)})
                          ]
                          spids: [7069 7072 7385 16777215]
                        )
                      ]
                      spids: [7058 7066 7388]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')}
                                    )
                                    (C {(Lit_Other '[')} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Hyphen ->
                                            suffix_op: 
                                              (PatSub
                                                pat: {(x)}
                                                replace: {(EmptyPart)}
                                                do_all: F
                                                do_prefix: F
                                                do_suffix: F
                                              )
                                            spids: [7416 7421]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(__dyn_) (${ VSub_Number 1)})]
                          spids: [16777215 7434]
                        )
                      ]
                      else_action: [
                        (C {(set)} {(-x)})
                        (C {(__dyn_) (${ VSub_Number 1)})
                        (C {(set)} {(Lit_Other '+') (x)})
                      ]
                      spids: [7443 7463]
                    )
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))})
                  ]
                  spids: [6998 7011 7474 16777215]
                )
                (case_arm
                  pat_list: [{(help)} {(pretend)} {(setup)}]
                  action: [
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (0))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ (${ VSub_Name PORTAGE_DEBUG))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')}
                                    )
                                    (C {(Lit_Other '[')} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Hyphen ->
                                            suffix_op: 
                                              (PatSub
                                                pat: {(x)}
                                                replace: {(EmptyPart)}
                                                do_all: F
                                                do_prefix: F
                                                do_suffix: F
                                              )
                                            spids: [7529 7534]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Hyphen '$-'))} {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(__dyn_) (${ VSub_Number 1)})]
                          spids: [16777215 7547]
                        )
                      ]
                      else_action: [
                        (C {(set)} {(-x)})
                        (C {(__dyn_) (${ VSub_Number 1)})
                        (C {(set)} {(Lit_Other '+') (x)})
                      ]
                      spids: [7556 7576]
                    )
                  ]
                  spids: [7477 7482 7579 16777215]
                )
                (case_arm
                  pat_list: [{(_internal_test)}]
                  spids: [7582 7583 7586 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(export)} {(Lit_VarLike 'SANDBOX_ON=') (DQ (1))})
                    (C {(echo)} {(DQ ("Unrecognized arg '") (${ VSub_Number 1) ("'"))})
                    (C {(echo)})
                    (C {(__dyn_help)})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [7589 7590 7623 16777215]
                )
              ]
              spids: [6731 6737 7626]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(has)} {(DQ (${ VSub_Number 1))} {(clean)} {(help)} {(info)} {(nofetch)})
                          ]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(umask)} {(002)})
                    (C {(cd)} {(DQ (${ VSub_Name PORTAGE_PYM_PATH))})
                    (Pipeline
                      children: [
                        (C {(__save_ebuild_env)})
                        (SimpleCommand
                          words: [{(__filter_readonly_variables)} {(--filter-features)}]
                          redirects: [
                            (Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(DQ ($ VSub_Name '$T') (/environment))}
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (C {(assert)} {(DQ ('__save_ebuild_env failed'))})
                    (C {(chgrp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name PORTAGE_GRPNAME>
                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(portage)})
                            spids: [7705 7709]
                          )
                        )
                      } {(DQ ($ VSub_Name '$T') (/environment))}
                    )
                    (C {(chmod)} {(g) (Lit_Other '+') (w)} {(DQ ($ VSub_Name '$T') (/environment))})
                  ]
                  spids: [16777215 7656]
                )
              ]
              spids: [16777215 7730]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$PORTAGE_EBUILD_EXIT_FILE')})
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$PORTAGE_EBUILD_EXIT_FILE'))}
                    )
                  ]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: {($ VSub_Name '$PORTAGE_IPC_DAEMON')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DBracket
                      expr: 
                        (LogicalNot
                          child: (BoolUnary op_id:BoolUnary_s child:{($ VSub_Name '$SANDBOX_LOG')})
                        )
                    )
                    (C {(DQ ($ VSub_Name '$PORTAGE_BIN_PATH')) (/ebuild-ipc)} {(ControlFlow_Exit exit)} 
                      {($ VSub_QMark '$?')}
                    )
                  ]
                  spids: [16777215 7762]
                )
              ]
              spids: [16777215 7786]
            )
          ]
          spids: [6474]
        )
      spids: [6470 6473]
    )
  ]
)