(CommandList
  children: [
    (FuncDef
      name: cc_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[21])]
              spids: [19]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$MY_CROSS_PATH"))} 
                      {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_PREFIX)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$MY_CC_PREFIX"))}
                          spids: [43]
                        )
                      ]
                      spids: [43]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$CC_PREFIX"))} {(Lit_Other "]")})
                        (AndOr
                          children: [
                            (SimpleCommand
                              words: [{(echo)} {(DQ ("MY_CROSS_PATH without MY_CC_PREFIX"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [68]
                                )
                              ]
                            )
                            (C {(dienow)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(echo)} {(-n)} {(DQ ($ VSub_Name "$MY_CROSS_PATH") (":"))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 40]
                )
              ]
              spids: [-1 90]
            )
            (ForEach
              iter_name: i
              iter_words: [
                (BracedWordTree
                  parts: [
                    (DQ ($ VSub_Name "$BUILD"))
                    (/)
                    (BracedAltPart words:[{}{(simple-)}])
                    (cross-compiler-)
                    (DQ ($ VSub_Number "$1") (/bin))
                  ]
                )
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-e)} 
                          {(DQ ($ VSub_Name "$i") (/) ($ VSub_Number "$1") (-cc))} {(Lit_Other "]")}
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [120 141]
                )
              spids: [104 -1]
            )
            (C {(echo)} {(-n)} {(DQ ($ VSub_Name "$i") (":"))})
          ]
          spids: [16]
        )
      spids: [12 15]
    )
    (FuncDef
      name: base_architecture
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [163]
                )
              ]
              spids: [163]
            )
            (C {(source)} {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Number "$1"))})
          ]
          spids: [160]
        )
      spids: [156 159]
    )
    (FuncDef
      name: load_target
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH_NAME)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [192]
                )
              ]
              spids: [192]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CONFIG_DIR)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$SOURCES") (/targets))}
                  spids: [198]
                )
              ]
              spids: [198]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-f)} 
                      {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Number "$1"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(base_architecture)} {(DQ ($ VSub_Name "$ARCH_NAME"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CONFIG_DIR)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [236]
                        )
                      ]
                      spids: [236]
                    )
                  ]
                  spids: [-1 226]
                )
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-f)} 
                      {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Number "$1") (/settings))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(source)} 
                      {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Number "$1") (/settings))}
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "]")})
                        (C {(dienow)} {(DQ ("No base_architecture"))})
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [239 255]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ("Supported architectures: "))})
                (C {(ls)} {(DQ ($ VSub_Name "$CONFIG_DIR"))})
                (C {(exit)} {(1)})
              ]
              spids: [287 310]
            )
            (C {(export)} 
              {(Lit_VarLike "WORK=") (DQ (${ VSub_Name BUILD) (/temp-) ($ VSub_Name "$ARCH_NAME"))}
            )
            (C {(export_if_blank)} 
              {(Lit_VarLike "CROSS_HOST=") 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(uname)} {(-m)})])
                  left_token: <Left_Backtick "`">
                  spids: [355 359]
                ) (-walrus-linux)
              }
            )
            (C {(export_if_blank)} {(Lit_VarLike "CROSS_TARGET=") (${ VSub_Name ARCH) (-unknown-linux)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:STAGE_DIR)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$BUILD") (/) (${ VSub_Name STAGE_NAME) (-) 
                        (${ VSub_Name ARCH_NAME)
                      )
                    }
                  spids: [378]
                )
              ]
              spids: [378]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$KEEP_STAGEDIR"))} {(Lit_Other "]")})
                  ]
                  action: [(C {(blank_tempdir)} {(DQ ($ VSub_Name "$STAGE_DIR"))})]
                  spids: [-1 406]
                )
              ]
              else_action: [
                (AndOr
                  children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$STAGE_DIR"))}) (C {(dienow)})]
                  op_id: Op_DPipe
                )
              ]
              spids: [416 432]
            )
            (SimpleCommand
              words: [{(blank_tempdir)} {(DQ ($ VSub_Name "$WORK"))}]
              more_env: [
                (env_pair
                  name: NO_CLEANUP
                  val: 
                    {
                      (BracedVarSub
                        token: <VSub_Name NO_CLEANUP>
                        suffix_op: 
                          (PatSub
                            pat: {(temp)}
                            replace: {(Lit_Slash /)}
                            do_all: False
                            do_prefix: False
                            do_suffix: False
                          )
                        spids: [436 442]
                      )
                    }
                  spids: [435]
                )
              ]
            )
            (C {(export)} 
              {(Lit_VarLike "PATH=") 
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(cc_path)} {(DQ ($ VSub_Name "$ARCH"))})]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [456 462]
                  ) ($ VSub_Name "$PATH")
                )
              }
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$HOST_ARCH"))} 
                  {(Lit_Other "]")}
                )
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HOST_ARCH"))} 
                      {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "]")}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PATH)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cc_path)} {(DQ ($ VSub_Name "$HOST_ARCH"))})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [501 507]
                                ) ($ VSub_Name "$PATH")
                              )
                            }
                          spids: [499]
                        )
                      ]
                      spids: [499]
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(export_if_blank)} {(Lit_VarLike "CC_PREFIX=") (DQ (${ VSub_Name ARCH) (-))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DO_CROSS)
                  op: Equal
                  rhs: {(DQ ("CROSS_COMPILE=") ($ VSub_Name "$CC_PREFIX"))}
                  spids: [524]
                )
              ]
              spids: [524]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [184]
        )
      spids: [180 183]
    )
    (FuncDef
      name: build_section
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(is_in_list)} {($ VSub_Number "$1")} {($ VSub_Name "$BUILD_STATIC")})
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$ARCH"))} 
                      {(Lit_Other "]")}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:STATIC_FLAGS)
                          op: Equal
                          rhs: {(DQ (--static))}
                          spids: [587]
                        )
                      ]
                      spids: [587]
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OLDCPUS)
                  op: Equal
                  rhs: {($ VSub_Name "$CPUS")}
                  spids: [594]
                )
              ]
              spids: [594]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OLDNOCLEAN)
                  op: Equal
                  rhs: {($ VSub_Name "$NO_CLEANUP")}
                  spids: [598]
                )
              ]
              spids: [598]
            )
            (AndOr
              children: [
                (C {(is_in_list)} {($ VSub_Number "$1")} {($ VSub_Name "$DEBUG_PACKAGE")})
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:CPUS) op:Equal rhs:{(1)} spids:[610])]
                      spids: [610]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NO_CLEANUP)
                          op: Equal
                          rhs: {(1)}
                          spids: [615]
                        )
                      ]
                      spids: [615]
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-e)} 
                      {(DQ ($ VSub_Name "$SOURCES") (/sections/) ($ VSub_Number "$1")) (.build)} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(setupfor)} {(DQ ($ VSub_Number "$1"))})
                    (C {(.)} {(DQ ($ VSub_Name "$SOURCES") (/sections/) ($ VSub_Number "$1")) (.build)})
                    (C {(cleanup)})
                  ]
                  spids: [-1 636]
                )
              ]
              else_action: [
                (C {(announce)} {(DQ ($ VSub_Number "$1"))})
                (C {(.)} {(DQ ($ VSub_Name "$SOURCES")) (/sections/) (DQ ($ VSub_Number "$1")) (.sh)})
              ]
              spids: [659 681]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPUS)
                  op: Equal
                  rhs: {($ VSub_Name "$OLDCPUS")}
                  spids: [684]
                )
              ]
              spids: [684]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NO_CLEANUP)
                  op: Equal
                  rhs: {($ VSub_Name "$OLDNOCLEAN")}
                  spids: [688]
                )
              ]
              spids: [688]
            )
          ]
          spids: [550]
        )
      spids: [546 549]
    )
    (FuncDef
      name: getconfig
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: i
              iter_words: [
                (BracedWordTree
                  parts: [
                    (BracedAltPart
                      words: [{($ VSub_Name "$ARCH_NAME")} {($ VSub_Name "$ARCH")}]
                    )
                    (/miniconfig-)
                    ($ VSub_Number "$1")
                  ]
                )
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-f)} 
                          {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Name "$i"))} {(Lit_Other "]")}
                        )
                        (AndOr
                          children: [
                            (C {(cat)} {(DQ ($ VSub_Name "$CONFIG_DIR") (/) ($ VSub_Name "$i"))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [720 750]
                )
              spids: [710 -1]
            )
            (C {(cat)} {(DQ ($ VSub_Name "$SOURCES") (/baseconfig-) ($ VSub_Number "$1"))})
            (C {(eval)} 
              {
                (DQ ("echo ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [(C {(echo)} {($ VSub_Number "$1")}) (C {(tr)} {(a-z)} {(A-Z)})]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [774 786]
                  ) ("_CONFIG}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                )
              }
            )
          ]
          spids: [702]
        )
      spids: [698 701]
    )
    (FuncDef
      name: recent_binary_files
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:PREVIOUS) op:Equal rhs:{(SQ )} spids:[805])]
              spids: [805]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (AndOr
                          children: [(C {(cd)} {(DQ ($ VSub_Name "$STAGE_DIR"))}) (C {(dienow)})]
                          op_id: Op_DPipe
                        )
                        (Pipeline
                          children: [
                            (C {(find)} {(.)} {(-depth)} {(-newer)} 
                              {(DQ ($ VSub_Name "$CURSRC") (/BUILD-TIMESTAMP))}
                            )
                            (C {(sed)} {(-e)} {(SQ <"s/^.//">)} {(-e)} {(SQ <"s/^.//">)} {(-e)} 
                              {(SQ <"/^$/d">)}
                            )
                          ]
                          negated: False
                        )
                      ]
                    )
                  spids: [808 858]
                )
                (While
                  cond: [(C {(read)} {(i)})]
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TEMP)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name PREVIOUS>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VOp1_DPound
                                          arg_word: {(DQ ($ VSub_Name "$i")) (Lit_Slash /)}
                                        )
                                      spids: [874 881]
                                    )
                                  )
                                }
                              spids: [872]
                            )
                          ]
                          spids: [872]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other "[")} 
                                  {
                                    (ArithSubPart
                                      anode: 
                                        (ArithBinary
                                          op_id: Arith_Minus
                                          left: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name PREVIOUS>
                                                    prefix_op: VSub_Pound
                                                    spids: [891 894]
                                                  )
                                                }
                                            )
                                          right: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name TEMP>
                                                    prefix_op: VSub_Pound
                                                    spids: [896 899]
                                                  )
                                                }
                                            )
                                        )
                                      spids: [890 900]
                                    )
                                  } {(-ne)} 
                                  {
                                    (ArithSubPart
                                      anode: 
                                        (ArithBinary
                                          op_id: Arith_Plus
                                          left: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name i>
                                                    prefix_op: VSub_Pound
                                                    spids: [905 908]
                                                  )
                                                }
                                            )
                                          right: (ArithWord w:{(Lit_Digits 1)})
                                        )
                                      spids: [904 911]
                                    )
                                  } {(Lit_Other "]")}
                                )
                              ]
                              action: [
                                (C {(echo)} {(-n)} {(DQ ($ VSub_Name "$i"))})
                                (C {(echo)} {(-ne)} {(SQ <"\\0">)})
                              ]
                              spids: [-1 916]
                            )
                          ]
                          spids: [-1 941]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:PREVIOUS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$i"))}
                              spids: [944]
                            )
                          ]
                          spids: [944]
                        )
                      ]
                      spids: [869 950]
                    )
                )
              ]
              negated: False
            )
          ]
          spids: [802]
        )
      spids: [798 801]
    )
    (FuncDef
      name: cleanup
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-ne)} {(0)} {(Lit_Other "]")})
                (C {(dienow)})
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} 
                      {(DQ ($ VSub_Name "$BINARY_PACKAGE_TARBALLS"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARNAME)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$PACKAGE") (-) ($ VSub_Name "$STAGE_NAME") (-) 
                                (${ VSub_Name ARCH_NAME)
                              ) (.tar.gz)
                            }
                          spids: [1005]
                        )
                      ]
                      spids: [1005]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(recent_binary_files)})])
                                left_token: <Left_CommandSub "$(">
                                spids: [1025 1027]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                        (AndOr
                          children: [
                            (C {(echo)} {(-n)} {(Creating)} {(DQ ($ VSub_Name "$TARNAME"))})
                            (Pipeline
                              children: [
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(recent_binary_files)})
                                            (C {(xargs)} {(-0)} {(tar)} {(-czvf)} 
                                              {
                                                (DQ ($ VSub_Name "$BUILD") (/) (${ VSub_Name TARNAME))
                                              } {(-C)} {(DQ ($ VSub_Name "$STAGE_DIR"))}
                                            )
                                          ]
                                          negated: False
                                        )
                                        (C {(dienow)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [1048]
                                )
                                (C {(dotprogress)})
                              ]
                              negated: False
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [-1 1002]
                )
              ]
              spids: [-1 1090]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$NO_CLEANUP"))} 
                      {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("skip cleanup ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_At "$@"))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 1109]
                )
              ]
              spids: [-1 1125]
            )
            (AndOr
              children: [(C {(cd)} {(DQ ($ VSub_Name "$WORK"))}) (C {(dienow)})]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$WORKDIR_LIST")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(DQ ("cleanup ") ($ VSub_Name "$i"))})
                    (AndOr
                      children: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$i"))}) (C {(dienow)})]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [1154 1178]
                )
              spids: [1150 -1]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:WORKDIR_LIST) op:Equal rhs:{(SQ )} spids:[1181])]
              spids: [1181]
            )
          ]
          spids: [963]
        )
      spids: [959 962]
    )
    (FuncDef
      name: blank_workdir
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WORKDIR_LIST)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1") (" ") ($ VSub_Name "$WORKDIR_LIST"))}
                  spids: [1200]
                )
              ]
              spids: [1200]
            )
            (SimpleCommand
              words: [{(blank_tempdir)} {(DQ ($ VSub_Name "$WORK") (/) ($ VSub_Number "$1"))}]
              more_env: [(env_pair name:NO_CLEANUP val:{(SQ )} spids:[1208])]
            )
            (AndOr
              children: [(C {(cd)} {(DQ ($ VSub_Name "$WORK") (/) ($ VSub_Number "$1"))}) (C {(dienow)})]
              op_id: Op_DPipe
            )
          ]
          spids: [1197]
        )
      spids: [1193 1196]
    )
    (FuncDef
      name: setupfor
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike "WRAPPY_LOGPATH=") 
                (DQ ($ VSub_Name "$BUILD") (/logs/cmdlines.) (${ VSub_Name ARCH_NAME) (.) 
                  (${ VSub_Name STAGE_NAME) (.setupfor)
                )
              }
            )
            (AndOr
              children: [(C {(extract_package)} {(DQ ($ VSub_Number "$1"))}) (C {(exit)} {(1)})]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SNAPFROM)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(package_cache)} {(DQ ($ VSub_Number "$1"))})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1282 1288]
                        )
                      )
                    }
                  spids: [1280]
                )
              ]
              spids: [1280]
            )
            (C {(echo)} {(DQ ("Snapshot '") ($ VSub_Name "$PACKAGE") ("'..."))})
            (ForEach
              iter_name: LINKTYPE
              iter_words: [{(l)} {(s)} {(n)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$REUSE_CURSRC"))} 
                              {(Lit_Other "]")}
                            )
                          ]
                          action: [
                            (C {(blank_workdir)} {(DQ ($ VSub_Name "$PACKAGE"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CURSRC)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: (CommandList children:[(C {(pwd)})])
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1357 1359]
                                        )
                                      )
                                    }
                                  spids: [1355]
                                )
                              ]
                              spids: [1355]
                            )
                          ]
                          spids: [-1 1345]
                        )
                      ]
                      spids: [-1 1363]
                    )
                    (AndOr
                      children: [
                        (C {(cp)} {(-) (${ VSub_Name LINKTYPE) (fR)} 
                          {(DQ ($ VSub_Name "$SNAPFROM") (/)) (Lit_Other "*")} {(DQ ($ VSub_Name "$CURSRC"))}
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [1329 1390]
                )
              spids: [1321 -1]
            )
            (AndOr
              children: [(C {(cd)} {(DQ ($ VSub_Name "$CURSRC"))}) (C {(dienow)})]
              op_id: Op_DPipe
            )
            (C {(export)} 
              {(Lit_VarLike "WRAPPY_LOGPATH=") 
                (DQ ($ VSub_Name "$BUILD") (/logs/cmdlines.) (${ VSub_Name ARCH_NAME) (.) 
                  (${ VSub_Name STAGE_NAME) (.) ($ VSub_Number "$1")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} 
                      {(DQ ($ VSub_Name "$BINARY_PACKAGE_TARBALLS"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(touch)} {(DQ ($ VSub_Name "$CURSRC") (/BUILD-TIMESTAMP))})
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TIME)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1468 1474]
                              )
                            }
                          spids: [1467]
                        )
                      ]
                      spids: [1467]
                    )
                    (While
                      cond: [(C {(true)})]
                      body: 
                        (DoGroup
                          children: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {($ VSub_Name "$TIME")} 
                                  {(KW_Bang "!") (Lit_Other "=")} 
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(date)} {(Lit_Other "+") (Lit_Other "%") (s)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [1493 1499]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (C {(sleep)} {(.1)})
                          ]
                          spids: [1482 1514]
                        )
                    )
                  ]
                  spids: [-1 1452]
                )
              ]
              spids: [-1 1517]
            )
          ]
          spids: [1242]
        )
      spids: [1238 1241]
    )
    (FuncDef
      name: getversion
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(echo)} {(DQ ($ VSub_Number "$1"))})
                (C {(sed)} {(-e)} 
                  {
                    (SQ 
                      <
"s/.*-\\(\\([0-9\\.]\\)*\\([_-]rc\\)*\\(-pre\\)*\\([0-9][a-zA-Z]\\)*\\)*\\(\\.tar\\..z2*\\)$/"
                      >
                    ) (DQ ($ VSub_Number "$2")) (SQ <"\\1/">)
                  }
                )
              ]
              negated: False
            )
          ]
          spids: [1530]
        )
      spids: [1526 1529]
    )
    (FuncDef
      name: get_download_version
      body: 
        (BraceGroup
          children: [
            (C {(getversion)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(sed)} {(-n)} {(SQ <"s@URL=.*/\\(.[^ ]*\\).*@\\1@p">)} 
                              {(DQ ($ VSub_Name "$TOP") (/download.sh))}
                            )
                            (C {(grep)} {(${ VSub_Number 1) (-)})
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [1571 1593]
                )
              }
            )
          ]
          spids: [1566]
        )
      spids: [1562 1565]
    )
    (FuncDef
      name: identify_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIR)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$SRCDIR") (/) ($ VSub_Number "$1"))}
                  spids: [1609]
                )
              ]
              spids: [1609]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$DIR"))} {(Lit_Other "]")})]
                  action: [
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (AndOr
                              children: [(C {(cd)} {(DQ ($ VSub_Name "$DIR"))}) (C {(dienow)})]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ID)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(git)}
                                                    {(log)}
                                                    {(-1)}
                                                    {(--format) (Lit_Other "=") (Lit_Other "%") (H)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 2
                                                      arg_word: {(/dev/null)}
                                                      spids: [1661]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1649 1663]
                                        )
                                      )
                                    }
                                  spids: [1647]
                                )
                              ]
                              spids: [1647]
                            )
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$ID"))} 
                                  {(Lit_Other "]")}
                                )
                                (AndOr
                                  children: [
                                    (C {(echo)} {(git)} {(DQ ($ VSub_Name "$ID"))})
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ID)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (SimpleCommand
                                                  words: [{(hg)} {(identify)} {(-n)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 2
                                                      arg_word: {(/dev/null)}
                                                      spids: [1704]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1697 1706]
                                        )
                                      )
                                    }
                                  spids: [1695]
                                )
                              ]
                              spids: [1695]
                            )
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$ID"))} 
                                  {(Lit_Other "]")}
                                )
                                (AndOr
                                  children: [
                                    (C {(echo)} {(hg)} {(DQ ($ VSub_Name "$ID"))})
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ID)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [{(svn)} {(info)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 2
                                                          arg_word: {(/dev/null)}
                                                          spids: [1745]
                                                        )
                                                      ]
                                                    )
                                                    (C {(sed)} {(-n)} {(DQ ("s/^Revision: //p"))})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1740 1757]
                                        )
                                      )
                                    }
                                  spids: [1738]
                                )
                              ]
                              spids: [1738]
                            )
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$ID"))} 
                                  {(Lit_Other "]")}
                                )
                                (AndOr
                                  children: [
                                    (C {(echo)} {(svn)} {(DQ ($ VSub_Name "$ID"))})
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                        )
                      spids: [1633 1788]
                    )
                  ]
                  spids: [-1 1630]
                )
              ]
              spids: [-1 1791]
            )
            (C {(echo)} {(release)} {(version)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(get_download_version)} {($ VSub_Number "$1")})]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [1801 1805]
                )
              }
            )
          ]
          spids: [1606]
        )
      spids: [1602 1605]
    )
    (FuncDef
      name: do_manifest
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$SCRIPT_VERS"))} {(Lit_Other "]")})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SCRIPT_VERS)
                      op: Equal
                      rhs: 
                        {
                          (DQ ("mercurial rev ") 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Sentence
                                      child: (C {(cd)} {(DQ ($ VSub_Name "$TOP"))})
                                      terminator: <Op_Semi ";">
                                    )
                                    (SimpleCommand
                                      words: [{(hg)} {(identify)} {(-n)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [1856]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [1842 1858]
                            )
                          )
                        }
                      spids: [1839]
                    )
                  ]
                  spids: [1839]
                )
              ]
              op_id: Op_DAmp
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("Built on ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (F)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1870 1876]
                        ) (" from:\n") ("\n") ("  Build script:\n") ("    Aboriginal Linux (http://landley.net/aboriginal) ") 
                        ($ VSub_Name "$SCRIPT_VERS") ("\n") ("\n") ("  Base packages:\n") ("    uClibc (http://uclibc.org) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(uClibc)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1886 1890]
                        ) ("\n") ("    BusyBox (http://busybox.net) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(busybox)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1893 1897]
                        ) ("\n") ("    Linux (http://kernel.org/pub/linux/kernel) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(linux)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1900 1904]
                        ) ("\n") ("    toybox (http://landley.net/toybox) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(toybox)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1907 1911]
                        ) ("\n") ("\n") ("  Toolchain packages:\n") ("    Binutils (http://www.gnu.org/software/binutils/) ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(identify_release)} {(binutils)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1916 1920]
                        ) ("\n") ("    GCC (http://gcc.gnu.org) ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(identify_release)} {(gcc-core)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1923 1927]
                        ) ("\n") ("    gmake (http://www.gnu.org/software/make) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(make)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1930 1934]
                        ) ("\n") ("    bash (ftp://ftp.gnu.org/gnu/bash) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(bash)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1937 1941]
                        ) ("\n") ("\n") ("  Optional packages:\n") ("    distcc (http://distcc.samba.org) ") 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(identify_release)} {(distcc)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [1946 1950]
                        ) ("\n") ("    uClibc++ (http://cxx.uclibc.org) ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(identify_release)} {(uClibc) (Lit_Other "+") (Lit_Other "+")})
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1953 1959]
                        ) ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1865]
                )
              ]
            )
          ]
          spids: [1818]
        )
      spids: [1814 1817]
    )
    (FuncDef
      name: link_arch_name
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "=") (Lit_Other "=")} 
                  {(DQ ($ VSub_Name "$ARCH_NAME"))} {(Lit_Other "]")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$BUILD") (/) ($ VSub_Number "$2"))})
                (AndOr
                  children: [
                    (C {(ln)} {(-s)} {(DQ ($ VSub_Number "$1"))} 
                      {(DQ ($ VSub_Name "$BUILD") (/) ($ VSub_Number "$2"))}
                    )
                    (C {(dienow)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [1972]
        )
      spids: [1968 1971]
    )
    (FuncDef
      name: check_for_base_arch
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ARCH"))} {(KW_Bang "!") (Lit_Other "=")} 
                      {(DQ ($ VSub_Name "$ARCH_NAME"))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(link_arch_name)} 
                      (BracedWordTree
                        parts: [
                          ($ VSub_Name "$STAGE_NAME")
                          (-)
                          (BracedAltPart
                            words: [{(DQ ($ VSub_Name "$ARCH"))} {(DQ ($ VSub_Name "$ARCH_NAME"))}]
                          )
                        ]
                      )
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-e)} 
                          {($ VSub_Name "$STAGE_NAME") (-) (DQ ($ VSub_Name "$ARCH")) (.tar.gz)} {(Lit_Other "]")}
                        )
                        (C {(link_arch_name)} 
                          (BracedWordTree
                            parts: [
                              ($ VSub_Name "$STAGE_NAME")
                              (-)
                              (BracedAltPart
                                words: [{(DQ ($ VSub_Name "$ARCH"))} {(DQ ($ VSub_Name "$ARCH_NAME"))}]
                              )
                              (.tar.gz)
                            ]
                          )
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other "[")} {(-e)} 
                              {
                                (DQ ($ VSub_Name "$BUILD") (/) ($ VSub_Name "$STAGE_NAME") (-) 
                                  ($ VSub_Name "$ARCH")
                                )
                              } {(Lit_Other "]")}
                            )
                          ]
                          action: [
                            (C {(announce)} 
                              {
                                (DQ ("Using existing ") (${ VSub_Name STAGE_NAME) (-) 
                                  ($ VSub_Name "$ARCH")
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [-1 2141]
                        )
                      ]
                      else_action: [
                        (AndOr
                          children: [
                            (C {(mkdir)} {(-p)} 
                              {
                                (DQ ($ VSub_Name "$BUILD") (/) ($ VSub_Name "$STAGE_NAME") (-) 
                                  ($ VSub_Name "$ARCH")
                                )
                              }
                            )
                            (C {(dienow)})
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      spids: [2162 2182]
                    )
                  ]
                  spids: [-1 2073]
                )
              ]
              spids: [-1 2185]
            )
          ]
          spids: [2043]
        )
      spids: [2039 2042]
    )
    (FuncDef
      name: create_stage_tarball
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(rmdir)} {(DQ ($ VSub_Name "$WORK"))}]
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[2208])]
            )
            (AndOr
              children: [(C {(cd)} {(DQ ($ VSub_Name "$BUILD"))}) (C {(dienow)})]
              op_id: Op_DPipe
            )
            (C {(link_arch_name)} 
              (BracedWordTree
                parts: [
                  ($ VSub_Name "$STAGE_NAME")
                  (-)
                  (BracedAltPart
                    words: [{($ VSub_Name "$ARCH")} {($ VSub_Name "$ARCH_NAME")}]
                  )
                ]
              )
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$NO_STAGE_TARBALLS"))} 
                      {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (C {(echo)} {(-n)} {(creating)} 
                      {(DQ ($ VSub_Name "$STAGE_NAME") (-) (${ VSub_Name ARCH)) (.tar.gz)}
                    )
                    (Pipeline
                      children: [
                        (BraceGroup
                          children: [
                            (AndOr
                              children: [
                                (C {(tar)} {(czvf)} 
                                  {(DQ ($ VSub_Name "$STAGE_NAME") (-) (${ VSub_Name ARCH)) 
                                    (.tar.gz)
                                  } {(DQ ($ VSub_Name "$STAGE_NAME") (-) (${ VSub_Name ARCH))}
                                )
                                (C {(dienow)})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [2274]
                        )
                        (C {(dotprogress)})
                      ]
                      negated: False
                    )
                    (C {(link_arch_name)} 
                      (BracedWordTree
                        parts: [
                          ($ VSub_Name "$STAGE_NAME")
                          (-)
                          (BracedAltPart
                            words: [{($ VSub_Name "$ARCH")} {($ VSub_Name "$ARCH_NAME")}]
                          )
                          (.tar.gz)
                        ]
                      )
                    )
                  ]
                  spids: [-1 2254]
                )
              ]
              spids: [-1 2322]
            )
          ]
          spids: [2194]
        )
      spids: [2190 2193]
    )
    (FuncDef
      name: hosttools_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:X) op:Equal spids:[2343])]
              spids: [2341]
            )
            (C {(echo)} {(-n)} {(DQ ($ VSub_Name "$HOSTTOOLS"))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:X) op:Equal rhs:{(1)} spids:[2356])]
              spids: [2356]
            )
            (While
              cond: [
                (C {(Lit_Other "[")} {(-e)} 
                  {(DQ ($ VSub_Name "$HOSTTOOLS") (/fallback-) ($ VSub_Name "$X"))} {(Lit_Other "]")}
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(-n)} 
                      {(DQ (":") ($ VSub_Name "$HOSTTOOLS") (/fallback-) ($ VSub_Name "$X"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:X)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Plus
                                    left: (ArithWord w:{($ VSub_Name "$X")})
                                    right: (ArithWord w:{(Lit_Digits 1)})
                                  )
                                spids: [2391 2395]
                              )
                            }
                          spids: [2390]
                        )
                      ]
                      spids: [2390]
                    )
                  ]
                  spids: [2375 2398]
                )
            )
          ]
          spids: [2338]
        )
      spids: [2334 2337]
    )
    (FuncDef
      name: image_filesystem
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("make ") ($ VSub_Name "$SYSIMAGE_TYPE") (" ") ($ VSub_Number "$2"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYSIMAGE_TYPE"))} 
                          {(Lit_Other "=") (Lit_Other "=")} {(DQ (cpio))} {(Lit_Other "]")}
                        )
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYSIMAGE_TYPE"))} 
                          {(Lit_Other "=") (Lit_Other "=")} {(DQ (rootfs))} {(Lit_Other "]")}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(extract_package)} {(linux)})
                        (AndOr
                          children: [
                            (C {($ VSub_Name "$CC")} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(package_cache)} {($ VSub_Name "$PACKAGE")})]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [2482 2486]
                                  ) (/usr/gen_init_cpio.c)
                                )
                              } {(-o)} {(DQ ($ VSub_Name "$WORK")) (/my_gen_init_cpio)}
                            )
                            (C {(dienow)})
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (Pipeline
                          children: [
                            (C {(DQ ($ VSub_Name "$WORK")) (/my_gen_init_cpio)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (AndOr
                                          children: [
                                            (C 
                                              {(DQ ($ VSub_Name "$SOURCES")) 
                                                (/toys/gen_initramfs_list.sh)
                                              } {(DQ ($ VSub_Number "$1"))}
                                            )
                                            (C {(dienow)})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                        (AndOr
                                          children: [
                                            (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} 
                                              {(DQ ($ VSub_Number "$1")) (/init)} {(Lit_Other "]")}
                                            )
                                            (C {(echo)} {(DQ ("slink /init /sbin/init.sh 755 0 0"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                        (AndOr
                                          children: [
                                            (C {(Lit_Other "[")} {(KW_Bang "!")} {(-d)} 
                                              {(DQ ($ VSub_Number "$1")) (/dev)} {(Lit_Other "]")}
                                            )
                                            (C {(echo)} {(DQ ("dir /dev 755 0 0"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                        (C {(echo)} {(DQ ("nod /dev/console 660 0 0 c 5 1"))})
                                      ]
                                    )
                                  left_token: <Left_ProcSubIn "<(">
                                  spids: [2508 2577]
                                )
                              }
                            )
                            (SimpleCommand
                              words: [{(gzip)} {(-9)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(DQ ($ VSub_Number "$2") (.cpio.gz))}
                                  spids: [2585]
                                )
                              ]
                            )
                          ]
                          negated: False
                        )
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(echo)} {(Initramfs)} {(generated.)})
                  ]
                  spids: [-1 2465]
                )
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYSIMAGE_TYPE"))} 
                          {(Lit_Other "=") (Lit_Other "=")} {(DQ (ext2))} {(Lit_Other "]")}
                        )
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYSIMAGE_TYPE"))} 
                          {(Lit_Other "=") (Lit_Other "=")} {(DQ (ext3))} {(Lit_Other "]")}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$SYSIMAGE_HDA_MEGS"))} 
                          {(Lit_Other "]")}
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:SYSIMAGE_HDA_MEGS)
                              op: Equal
                              rhs: {(64)}
                              spids: [2664]
                            )
                          ]
                          spids: [2664]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BLOCKS)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Star
                                    left: (ArithWord w:{(Lit_Digits 1024)})
                                    right: 
                                      (ArithBinary
                                        op_id: Arith_Slash
                                        left: 
                                          (ArithBinary
                                            op_id: Arith_Star
                                            left: 
                                              (ArithWord
                                                w: 
                                                  {
                                                    (CommandSubPart
                                                      command_list: 
                                                        (CommandList
                                                          children: [
                                                            (Pipeline
                                                              children: [
                                                                (C {(du)} {(-m)} {(-s)} 
                                                                  {(DQ ($ VSub_Number "$1"))}
                                                                )
                                                                (C {(awk)} {(SQ <"{print $1}">)})
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                        )
                                                      left_token: <Left_CommandSub "$(">
                                                      spids: [2684 2702]
                                                    )
                                                  }
                                              )
                                            right: (ArithWord w:{(Lit_Digits 12)})
                                          )
                                        right: (ArithWord w:{(Lit_Digits 10)})
                                      )
                                  )
                                spids: [2679 2709]
                              )
                            }
                          spids: [2678]
                        )
                      ]
                      spids: [2678]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {($ VSub_Name "$BLOCKS")} {(-lt)} {(4096)} {(Lit_Other "]")})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BLOCKS)
                              op: Equal
                              rhs: {(4096)}
                              spids: [2724]
                            )
                          ]
                          spids: [2724]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:FILE)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$2") (.) ($ VSub_Name "$SYSIMAGE_TYPE"))}
                          spids: [2728]
                        )
                      ]
                      spids: [2728]
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ("/dev d 755 0 0 - - - - -"))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ ($ VSub_Name "$WORK") (/devs))}
                              spids: [2743]
                            )
                          ]
                        )
                        (AndOr
                          children: [
                            (SimpleCommand
                              words: [{(echo)} {(DQ ("/dev/console c 640 0 0 5 1 0 0 -"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {(DQ ($ VSub_Name "$WORK") (/devs))}
                                  spids: [2759]
                                )
                              ]
                            )
                            (AndOr
                              children: [
                                (C {(genext2fs)} {(-z)} {(-D)} {(DQ ($ VSub_Name "$WORK") (/devs))} {(-d)} 
                                  {(DQ ($ VSub_Number "$1"))} {(-b)} {($ VSub_Name "$BLOCKS")} {(-i)} {(1024)} {(DQ ($ VSub_Name "$FILE"))}
                                )
                                (AndOr
                                  children: [
                                    (C {(rm)} {(DQ ($ VSub_Name "$WORK") (/devs))})
                                    (C {(dienow)})
                                  ]
                                  op_id: Op_DPipe
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} 
                                  {(DQ ($ VSub_Name "$SYSIMAGE_HDA_MEGS"))} {(Lit_Other "]")}
                                )
                                (C {(Lit_Other "[")} 
                                  {
                                    (ArithSubPart
                                      anode: 
                                        (ArithBinary
                                          op_id: Arith_Slash
                                          left: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(stat)} {(-c)} {(Lit_Other "%") (s)} 
                                                            {(DQ ($ VSub_Name "$FILE"))}
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [2847 2858]
                                                  )
                                                }
                                            )
                                          right: 
                                            (ArithBinary
                                              op_id: Arith_Star
                                              left: (ArithWord w:{(Lit_Digits 1024)})
                                              right: (ArithWord w:{(Lit_Digits 1024)})
                                            )
                                        )
                                      spids: [2846 2869]
                                    )
                                  } {(-lt)} {(DQ ($ VSub_Name "$SYSIMAGE_HDA_MEGS"))} {(Lit_Other "]")}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (C {(echo)} {(resizing)} {(image)} {(to)} {($ VSub_Name "$SYSIMAGE_HDA_MEGS")})
                            (AndOr
                              children: [
                                (C {(resize2fs)} {(DQ ($ VSub_Name "$FILE"))} 
                                  {(${ VSub_Name SYSIMAGE_HDA_MEGS) (M)}
                                )
                                (C {(dienow)})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 2880]
                        )
                      ]
                      spids: [-1 2910]
                    )
                    (AndOr
                      children: [
                        (C {(tune2fs)} {(-c)} {(0)} {(-i)} {(0)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYS_IMAGE_TYPE"))} 
                                          {(Lit_Other "=")} {(DQ (ext3))} {(Lit_Other "]")}
                                        )
                                        (C {(echo)} {(-j)})
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [2924 2944]
                            )
                          } {(DQ ($ VSub_Name "$FILE"))}
                        )
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(echo)} {($ VSub_Name "$SYSIMAGE_TYPE")} {(generated)})
                  ]
                  spids: [2605 2640]
                )
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SYSIMAGE_TYPE"))} 
                      {(Lit_Other "=") (Lit_Other "=")} {(DQ (squashfs))} {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(mksquashfs)} {(DQ ($ VSub_Number "$1"))} {(DQ ($ VSub_Number "$2") (.sqf))} 
                          {(-noappend)} {(-all-root)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name FORK>
                              suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(-no-progress)})
                              spids: [2999 3003]
                            )
                          }
                        )
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [2963 2981]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Unknown image type ") ($ VSub_Name "$SYSIMAGE_TYPE"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[3020])]
                )
                (C {(dienow)})
              ]
              spids: [3010 3027]
            )
          ]
          spids: [2411]
        )
      spids: [2407 2410]
    )
  ]
)