(CommandList
  children: [
    (C {(INCLUDE)} {(unique-port.sh)})
    (C {(INCLUDE)} {(make-hdb.sh)})
    (AndOr
      children: [(C {(source)} {(./run-emulator.sh)} {(--norun)}) (C {(exit)} {(1)})]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$QEMU_MEMORY"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:QEMU_MEMORY) rhs:{(256)} spids:[78])]
          spids: [78]
        )
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:QEMU_EXTRA)
          rhs: {(DQ ("-m ") ($ VSub_Name "$QEMU_MEMORY") (" ") ($ VSub_Name "$QEMU_EXTRA"))}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HDA"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:HDA) rhs:{(toolchain.sqf)} spids:[102])]
          spids: [102]
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HDBMEGS"))} {(KW_Bang "!") (Lit_Other "=")} 
              {(DQ (0))} {(Lit_Other "]")}
            )
          action: 
            (CommandList
              children: [
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HDB"))} {(Lit_Other "]")})
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LeftVar name:HDB) rhs:{(hdb.img)} spids:[142])]
                      spids: [142]
                    )
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} {(DQ ($ VSub_Name "$HDB"))} 
                          {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HDBMEGS"))} 
                                  {(Lit_Other "]")}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LeftVar name:HDBMEGS)
                                      rhs: {(2048)}
                                      spids: [186]
                                    )
                                  ]
                                  spids: [186]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (C {(make_hdb)})
                          ]
                        )
                      spids: [-1 161]
                    )
                  ]
                  spids: [-1 194]
                )
              ]
            )
          spids: [-1 127]
        )
      ]
      spids: [-1 196]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:DISTCC_PATH)
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [{(which)} {($ VSub_Name "$ARCH") (-cc)}]
                          redirects: [
                            (Redirect
                              op_id: Redir_Great
                              arg_word: {(/dev/null)}
                              fd: 2
                              spids: [218]
                            )
                          ]
                        )
                        (C {(sed)} {(SQ <"s@\\(.*\\)/.*@\\1@">)})
                      ]
                      negated: False
                    )
                  spids: [212 228]
                )
              )
            }
          spids: [210]
        )
      ]
      spids: [210]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$DISTCC_PATH"))} {(Lit_Other "]")})
          action: 
            (ForEach
              iter_name: i
              iter_words: [
                {(Lit_LBrace "{") (DQ (CommandSubPart command_list:(C {(pwd)}) spids:[255257]) (/)) 
                  (Lit_Comma ",") (DQ (CommandSubPart command_list:(C {(pwd)}) spids:[262264]) (/../)) (Lit_Comma ",") 
                  (DQ ($ VSub_Name "$HOME")) (/) (Lit_RBrace "}") (Lit_LBrace "{") (Lit_Comma ",") (simple-) (Lit_RBrace "}") (cross-compiler-) 
                  (DQ ($ VSub_Name "$ARCH")) (/bin)
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  child: 
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-f)} 
                          {(DQ ($ VSub_Name "$i") (/) ($ VSub_Name "$ARCH") (-cc))} {(Lit_Other "]")}
                        )
                        (AndOr
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:DISTCC_PATH)
                                  rhs: {(DQ ($ VSub_Name "$i"))}
                                  spids: [302]
                                )
                              ]
                              spids: [302]
                            )
                            (C {(break)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  spids: [284 312]
                )
              spids: [252 -1]
            )
          spids: [-1 244]
        )
      ]
      spids: [-1 314]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} 
          {(DQ (CommandSubPart command_list:(C {(which)} {(distccd)}) spids:[322326]))} {(Lit_Other "]")}
        )
        (AndOr
          children: [
            (C {(Lit_Other "[")} {(-e)} {(../host/distccd)} {(Lit_Other "]")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:PATH)
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$PATH") (":") 
                        (CommandSubPart
                          command_list: (C {(pwd)})
                          spids: [348 350]
                        ) (/../host)
                      )
                    }
                  spids: [344]
                )
              ]
              spids: [344]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(-z)} 
              {(DQ (CommandSubPart command_list:(C {(which)} {(distccd)}) spids:[362366]))} {(Lit_Other "]")}
            )
          action: (C {(echo)} {(SQ <"No distccd in $PATH, acceleration disabled.">)})
          spids: [-1 371]
        )
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$DISTCC_PATH"))} {(Lit_Other "]")})
          action: 
            (C {(echo)} 
              {(DQ ("No ") ($ VSub_Name "$ARCH") ("-cc in ")) (SQ <"$PATH">) 
                (DQ (", acceleration disabled."))
              }
            )
          spids: [380 392]
        )
      ]
      else_action: 
        (CommandList
          children: [
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ (distcc_links))})
                (ForEach
                  iter_name: i
                  iter_words: [
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Sentence
                                command: (C {(cd)} {(DQ ($ VSub_Name "$DISTCC_PATH"))})
                                terminator: <Op_Semi ";">
                              )
                              (Pipeline
                                children: [
                                  (C {(ls)} {($ VSub_Name "$ARCH") (-) (Lit_Other "*")})
                                  (C {(sed)} {(DQ ("s/^") ($ VSub_Name "$ARCH") (-//))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        spids: [439 463]
                      )
                    }
                  ]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      child: 
                        (C {(ln)} {(-sf)} 
                          {
                            (DQ ($ VSub_Name "$DISTCC_PATH") (/) ($ VSub_Name "$ARCH") (-) 
                              ($ VSub_Name "$i")
                            )
                          } {(DQ (distcc_links/) ($ VSub_Name "$i"))}
                        )
                      spids: [466 487]
                    )
                  spids: [438 -1]
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: 
                    (C {(Lit_Other "[")} {(-e)} 
                      {(DQ ($ VSub_Name "$DISTCC_PATH") (/) ($ VSub_Name "$ARCH") (-rawgcc))} {(Lit_Other "]")}
                    )
                  action: 
                    (ForEach
                      iter_name: i
                      iter_words: [
                        {(cc)}
                        {(gcc)}
                        {(g) (Lit_Other "+") (Lit_Other "+")}
                        {(c) (Lit_Other "+") (Lit_Other "+")}
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          child: 
                            (C {(ln)} {(-sf)} 
                              {(DQ ($ VSub_Name "$DISTCC_PATH") (/) ($ VSub_Name "$ARCH") (-rawgcc))} {(distcc_links/) ($ VSub_Name "$i")}
                            )
                          spids: [528 546]
                        )
                      spids: [514 -1]
                    )
                  spids: [-1 506]
                )
              ]
              spids: [-1 549]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:PORT)
                  rhs: {(CommandSubPart command_list:(C {(unique_port)}) spids:[572574])}
                  spids: [571]
                )
              ]
              spids: [571]
            )
            (If
              arms: [
                (if_arm
                  cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$CPUS"))} {(Lit_Other "]")})
                  action: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LeftVar name:CPUS) rhs:{(3)} spids:[621])]
                      spids: [621]
                    )
                  spids: [-1 590]
                )
              ]
              spids: [-1 625]
            )
            (Sentence
              command: 
                (SimpleCommand
                  words: [
                    {(DQ (CommandSubPart command_list:(C {(which)} {(distccd)}) spids:[637641]))}
                    {(--no-detach)}
                    {(--daemon)}
                    {(--listen)}
                    {(127.0.0.1)}
                    {(-a)}
                    {(127.0.0.1)}
                    {(-p)}
                    {($ VSub_Name "$PORT")}
                    {(--jobs)}
                    {($ VSub_Name "$CPUS")}
                    {(--log-stderr)}
                    {(--verbose)}
                  ]
                  redirects: [(Redirect op_id:Redir_Great arg_word:{(distccd.log)} fd:2 spids:[672])]
                  more_env: [
                    (env_pair
                      name: PATH
                      val: 
                        {
                          (DQ (CommandSubPart command_list:(C {(pwd)}) spids:[630632]) (/distcc_links))
                        }
                      spids: [628]
                    )
                  ]
                )
              terminator: <Op_Amp "&">
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:DISTCC_PID)
                  rhs: {(DQ (CommandSubPart command_list:(C {(jobs)} {(-p)}) spids:[681685]))}
                  spids: [679]
                )
              ]
              spids: [679]
            )
            (C {(trap)} {(DQ ("kill ") ($ VSub_Name "$DISTCC_PID"))} {(EXIT)})
            (C {(disown)} {($ VSub_Name "$DISTCC_PID")})
            (C {(echo)} 
              {(DQ ("distccd pid ") ($ VSub_Name "$DISTCC_PID") (" port ") ($ VSub_Name "$PORT"))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:KERNEL_EXTRA)
                  rhs: 
                    {
                      (DQ ("DISTCC_HOSTS=10.0.2.2:") ($ VSub_Name "$PORT") (/) ($ VSub_Name "$CPUS") 
                        (" ") ($ VSub_Name "$KERNEL_EXTRA")
                      )
                    }
                  spids: [729]
                )
              ]
              spids: [729]
            )
          ]
        )
      spids: [409 739]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$CPUS"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:CPUS) rhs:{(1)} spids:[754])]
          spids: [754]
        )
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:KERNEL_EXTRA)
          rhs: {(DQ ("CPUS=") ($ VSub_Name "$CPUS") (" ") ($ VSub_Name "$KERNEL_EXTRA"))}
          spids: [757]
        )
      ]
      spids: [757]
    )
    (C {(trap)} {(DQ ("pkill -P") ($ VSub_Dollar "$$"))} {(EXIT)})
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$HDC"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LeftVar name:QEMU_EXTRA)
              rhs: {(DQ ("-hdc ") ($ VSub_Name "$HDC") (" ") ($ VSub_Name "$QEMU_EXTRA"))}
              spids: [798]
            )
          ]
          spids: [798]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$HDB"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LeftVar name:QEMU_EXTRA)
              rhs: {(DQ ("-hdb ") ($ VSub_Name "$HDB") (" ") ($ VSub_Name "$QEMU_EXTRA"))}
              spids: [820]
            )
          ]
          spids: [820]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$HDA"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LeftVar name:QEMU_EXTRA)
              rhs: {(DQ ("-hda ") ($ VSub_Name "$HDA") (" ") ($ VSub_Name "$QEMU_EXTRA"))}
              spids: [842]
            )
          ]
          spids: [842]
        )
      ]
      op_id: Op_DAmp
    )
    (C {(run_emulator)})
  ]
)