(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-ne)} {(2)} {(Lit_Other "]")})]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("usage: ") ($ VSub_Number "$0") (" ")) (SQ <"$ARCH $CONTROL_IMAGE">)}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[37])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 23]
        )
      ]
      spids: [-1 45]
    )
    (ForEach
      iter_name: i
      iter_words: [
        (BracedWordTree
          parts: [
            (build/)
            (BracedAltPart words:[{(root-filesystem)}{(native-compiler)}])
            (-)
            (DQ ($ VSub_Number "$1"))
          ]
        )
        {(DQ ($ VSub_Number "$2"))}
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} {(DQ ($ VSub_Name "$i"))} 
                      {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("No ") ($ VSub_Name "$i"))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[101])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 91]
                )
              ]
              spids: [-1 110]
            )
          ]
          spids: [73 112]
        )
      spids: [57 -1]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other "[")} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(id)} {(-u)})])
                  left_token: <Left_Backtick "`">
                  spids: [119 123]
                )
              } {(-ne)} {(0)} {(Lit_Other "]")}
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("Not root"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[139])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 131]
        )
      ]
      spids: [-1 147]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$CHROOT"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:CHROOT)
              op: Equal
              rhs: {(DQ (build/chroot-) ($ VSub_Number "$1"))}
              spids: [166]
            )
          ]
          spids: [166]
        )
      ]
      op_id: Op_DAmp
    )
    (C {(trap)} {(SQ <"more/zapchroot.sh \"$CHROOT\"">)} {(EXIT)})
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$CHROOT"))} {(Lit_Other "]")})]
          action: [
            (AndOr
              children: [(C {(more/zapchroot.sh)} {(DQ ($ VSub_Name "$CHROOT"))}) (C {(exit)} {(1)})]
              op_id: Op_DPipe
            )
          ]
          spids: [-1 192]
        )
      ]
      spids: [-1 207]
    )
    (AndOr
      children: [
        (C {(cp)} {(-lan)} {(DQ (build/root-filesystem-) ($ VSub_Number "$1") (/.))} 
          {(DQ ($ VSub_Name "$CHROOT"))}
        )
        (C {(exit)} {(1)})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(cp)} {(-lan)} {(DQ (build/native-compiler-) ($ VSub_Number "$1") (/.))} 
          {(DQ ($ VSub_Name "$CHROOT"))}
        )
        (C {(exit)} {(1)})
      ]
      op_id: Op_DPipe
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")})]
          action: [
            (AndOr
              children: [
                (C {(mount)} {(-o)} {(bind)} {(DQ ($ VSub_Number "$2"))} 
                  {(DQ ($ VSub_Name "$CHROOT") (/mnt))}
                )
                (AndOr
                  children: [
                    (C {(mount)} {(-o)} {(remount) (Lit_Comma ",") (ro)} 
                      {(DQ ($ VSub_Name "$CHROOT") (/mnt))}
                    )
                    (C {(exit)} {(1)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 269]
        )
      ]
      else_action: [
        (AndOr
          children: [
            (C {(mount)} {(-o)} {(loop)} {(DQ ($ VSub_Number "$2"))} {(DQ ($ VSub_Name "$CHROOT") (/mnt))})
            (C {(exit)} {(1)})
          ]
          op_id: Op_DPipe
        )
      ]
      spids: [308 332]
    )
    (SimpleCommand
      words: [{(chroot)} {(DQ ($ VSub_Name "$CHROOT"))} {(/sbin/init.sh)}]
      more_env: [
        (env_pair name:CPUS val:{(1)} spids:[339])
        (env_pair name:HOST val:{(DQ ($ VSub_Number "$1"))} spids:[342])
      ]
    )
  ]
)