(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(SQ <'@VERSION@'>)} spids:[8])]
      spids: [8]
    )
    (AndOr ops:[Op_DPipe] children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)}) (C {(true)})])
    (C {(export)} {(PATH)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DEBOOTSTRAP_DIR)
                          op: Equal
                          rhs: {(/debootstrap)}
                          spids: [69]
                        )
                      ]
                      spids: [69]
                    )
                  ]
                  spids: [16777215 66]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DEBOOTSTRAP_DIR)
                      op: Equal
                      rhs: {(/usr/share/debootstrap)}
                      spids: [76]
                    )
                  ]
                  spids: [76]
                )
              ]
              spids: [73 80]
            )
          ]
          spids: [16777215 52]
        )
      ]
      spids: [16777215 82]
    )
    (C {(.)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)})
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(C)} spids:[96])]
      spids: [96]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:USE_COMPONENTS) op:Equal rhs:{(main)} spids:[99])]
      spids: [99]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:KEYRING) op:Equal rhs:{(DQ )} spids:[102])]
      spids: [102]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:DISABLE_KEYRING) op:Equal rhs:{(DQ )} spids:[106])]
      spids: [106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FORCE_KEYRING) op:Equal rhs:{(DQ )} spids:[110])]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VARIANT) op:Equal rhs:{(DQ )} spids:[114])]
      spids: [114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MERGED_USR) op:Equal rhs:{(DQ (no))} spids:[118])]
      spids: [118]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(DQ )} spids:[123])]
      spids: [123]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOST_ARCH) op:Equal rhs:{(DQ )} spids:[127])]
      spids: [127]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOST_OS) op:Equal rhs:{(DQ )} spids:[131])]
      spids: [131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:KEEP_DEBOOTSTRAP_DIR) op:Equal rhs:{(DQ )} spids:[135])]
      spids: [135]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION)
          op: Equal
          rhs: {(DQ )}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SECOND_STAGE_ONLY) op:Equal rhs:{(DQ )} spids:[143])]
      spids: [143]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PRINT_DEBS) op:Equal rhs:{(DQ )} spids:[147])]
      spids: [147]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHROOTDIR) op:Equal rhs:{(DQ )} spids:[151])]
      spids: [151]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAKE_TARBALL) op:Equal rhs:{(DQ )} spids:[155])]
      spids: [155]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXTRACTOR_OVERRIDE) op:Equal rhs:{(DQ )} spids:[159])]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:UNPACK_TARBALL) op:Equal rhs:{(DQ )} spids:[163])]
      spids: [163]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ADDITIONAL) op:Equal rhs:{(DQ )} spids:[167])]
      spids: [167]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXCLUDE) op:Equal rhs:{(DQ )} spids:[171])]
      spids: [171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERBOSE) op:Equal rhs:{(DQ )} spids:[175])]
      spids: [175]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CERTIFICATE) op:Equal rhs:{(DQ )} spids:[179])]
      spids: [179]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHECKCERTIF) op:Equal rhs:{(DQ )} spids:[183])]
      spids: [183]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PRIVATEKEY) op:Equal rhs:{(DQ )} spids:[187])]
      spids: [187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEF_MIRROR)
          op: Equal
          rhs: {(DQ ('http://deb.debian.org/debian'))}
          spids: [192]
        )
      ]
      spids: [192]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEF_HTTPS_MIRROR)
          op: Equal
          rhs: {(DQ ('https://deb.debian.org/debian'))}
          spids: [197]
        )
      ]
      spids: [197]
    )
    (C {(export)} {(LANG)} {(USE_COMPONENTS)})
    (C {(umask)} {(022)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RESOLVE_DEPS) op:Equal rhs:{(true)} spids:[225])]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHAT_TO_DO)
          op: Equal
          rhs: {(DQ ('finddebs dldebs first_stage second_stage'))}
          spids: [229]
        )
      ]
      spids: [229]
    )
    (FuncDef
      name: am_doing_phase
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[248])]
                  spids: [246]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: x
              iter_words: [{(DQ ($ VSub_At '$@'))}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (' ') ($ VSub_Name '$WHAT_TO_DO') (' '))})
                                    (C {(grep)} {(-q)} {(DQ (' ') ($ VSub_Name '$x') (' '))})
                                  ]
                                  negated: F
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Sentence
                              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [16777215 289]
                        )
                      ]
                      spids: [16777215 296]
                    )
                  ]
                  spids: [263 299]
                )
              spids: [257 261]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [239]
        )
      spids: [234 238]
    )
    (FuncDef
      name: usage_err
      body: 
        (BraceGroup
          children: [
            (C {(info)} {(USAGE1)} {(DQ ('usage: [OPTION]... <suite> <target> [<mirror> [<script>]]'))})
            (C {(info)} {(USAGE2)} 
              {
                (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [336 341]
                  ) (" --help' for more information.")
                )
              }
            )
            (C {(error)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [317]
        )
      spids: [313 316]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Usage: ') 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [366 371]
                  ) (' [OPTION]... <suite> <target> [<mirror> [<script>]]')
                )
              }
            )
            (C {(echo)} {(DQ ('Bootstrap a Debian base system into a target directory.'))})
            (C {(echo)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 431
                  stdin_parts: [
                    ('      --help                 display this help and exit\n')
                    ('      --version              display version information and exit\n')
                    ("      --verbose              don't turn off the output of wget\n")
                    ('\n')
                    (
"      --download-only        download packages, but don't perform installation\n"
                    )
                    ('      --print-debs           print the packages to be installed, and exit\n')
                    ('\n')
                    (
'      --arch=A               set the architecture to install (use if no dpkg)\n'
                    )
                    ('                               [ --arch=powerpc ]\n')
                    ('\n')
                    (
'      --include=A,B,C        adds specified names to the list of base packages\n'
                    )
                    ('      --exclude=A,B,C        removes specified packages from the list\n')
                    (
'      --components=A,B,C     use packages from the listed components of the\n'
                    )
                    ('                             archive\n')
                    ('      --variant=X            use variant X of the bootstrap scripts\n')
                    (
'                             (currently supported variants: buildd, fakechroot,\n'
                    )
                    ('                              minbase)\n')
                    ('      --merged-usr           make /{bin,sbin,lib}/ symlinks to /usr/\n')
                    ('      --keyring=K            check Release files against keyring K\n')
                    ('      --no-check-gpg         avoid checking Release file signatures\n')
                    ('      --force-check-gpg      force checking Release file signatures\n')
                    (
'                             (also disables automatic fallback to HTTPS in case\n'
                    )
                    ('                             of a missing keyring), aborting otherwise\n')
                    (
"      --no-resolve-deps      don't try to resolve dependencies automatically\n"
                    )
                    ('\n')
                    ('      --unpack-tarball=T     acquire .debs from a tarball instead of http\n')
                    (
'      --make-tarball=T       download .debs and create a tarball (tgz format)\n'
                    )
                    ('      --second-stage-target=DIR\n')
                    (
'                             Run second stage in a subdirectory instead of root\n'
                    )
                    ('                               (can be used to create a foreign chroot)\n')
                    ('                               (requires --second-stage)\n')
                    ('      --extractor=TYPE       override automatic .deb extractor selection\n')
                    ('                               (supported: ')
                    ($ VSub_Name '$EXTRACTORS_SUPPORTED')
                    (')\n')
                    (
'      --debian-installer     used for internal purposes by debian-installer\n'
                    )
                    ('      --private-key=file     read the private key from file\n')
                    (
'      --certificate=file     use the client certificate stored in file (PEM)\n'
                    )
                    (
'      --no-check-certificate do not check certificate against certificate authorities\n'
                    )
                  ]
                )
              ]
            )
          ]
          spids: [359]
        )
      spids: [355 358]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PKGDETAILS'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(NO_PKGDETAILS)} 
              {
                (DQ 
                  (
'No pkgdetails available; either install perl, or build pkgdetails.c from the base-installer source package'
                  )
                )
              }
            )
          ]
          spids: [16777215 452]
        )
      ]
      spids: [16777215 465]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (WhileUntil
              keyword: <KW_While while>
              cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Number '$1'))}
                      arms: [
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [
                            (C {(usage)})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [508 509 520 16777215]
                        )
                        (case_arm
                          pat_list: [{(--version)}]
                          action: [
                            (C {(echo)} {(DQ ('debootstrap ') ($ VSub_Name '$VERSION'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [523 524 540 16777215]
                        )
                        (case_arm
                          pat_list: [{(--debian-installer)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (Subshell
                                              child: 
                                                (SimpleCommand
                                                  words: [{(echo)} {(-n)} {(DQ )}]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_GreatAnd '>&'>
                                                      fd: 16777215
                                                      arg_word: {(3)}
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '2>'>
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                              spids: [551 561]
                                            )
                                          ]
                                          negated: T
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(ARG_DIBYHAND)} 
                                      {
                                        (DQ 
                                          (
"If running debootstrap by hand, don't use --debian-installer"
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 567]
                                )
                              ]
                              spids: [16777215 581]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [584]
                                )
                              ]
                              spids: [584]
                            )
                            (C {(shift)})
                          ]
                          spids: [543 544 591 16777215]
                        )
                        (case_arm
                          pat_list: [{(--foreign)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PRINT_DEBS'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHAT_TO_DO)
                                          op: Equal
                                          rhs: {(DQ ('finddebs dldebs first_stage'))}
                                          spids: [619]
                                        )
                                      ]
                                      spids: [619]
                                    )
                                  ]
                                  spids: [16777215 616]
                                )
                              ]
                              spids: [16777215 625]
                            )
                            (C {(shift)})
                          ]
                          spids: [594 595 631 16777215]
                        )
                        (case_arm
                          pat_list: [{(--second-stage)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ (second_stage))}
                                  spids: [638]
                                )
                              ]
                              spids: [638]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SECOND_STAGE_ONLY)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [644]
                                )
                              ]
                              spids: [644]
                            )
                            (C {(shift)})
                          ]
                          spids: [634 635 651 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--second-stage-target)}
                            {(--second-stage-target) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(STAGE2ONLY)} 
                                      {(DQ ('option %s only applies in the second stage'))} {(DQ ($ VSub_Number '$1'))}
                                    )
                                  ]
                                  spids: [16777215 682]
                                )
                              ]
                              spids: [16777215 700]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--second-stage-target))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHROOTDIR)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [732]
                                        )
                                      ]
                                      spids: [732]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 729]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--second-stage-target=')}
                                                  )
                                                spids: [755 759]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHROOTDIR)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--second-stage-target=')}
                                                    )
                                                  spids: [770 774]
                                                )
                                              )
                                            }
                                          spids: [768]
                                        )
                                      ]
                                      spids: [768]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [743 765]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument: %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [781 799]
                            )
                          ]
                          spids: [654 660 802 16777215]
                        )
                        (case_arm
                          pat_list: [{(--print-debs)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs printdebs kill_target'))}
                                  spids: [809]
                                )
                              ]
                              spids: [809]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PRINT_DEBS)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [815]
                                )
                              ]
                              spids: [815]
                            )
                            (C {(shift)})
                          ]
                          spids: [805 806 822 16777215]
                        )
                        (case_arm
                          pat_list: [{(--download-only)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs dldebs'))}
                                  spids: [829]
                                )
                              ]
                              spids: [829]
                            )
                            (C {(shift)})
                          ]
                          spids: [825 826 838 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--make-tarball)}
                            {(--make-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs dldebs maketarball kill_target'))}
                                  spids: [850]
                                )
                              ]
                              spids: [850]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--make-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:MAKE_TARBALL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [885]
                                        )
                                      ]
                                      spids: [885]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 882]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--make-tarball=')}
                                                  )
                                                spids: [908 912]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:MAKE_TARBALL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--make-tarball=')}
                                                    )
                                                  spids: [923 927]
                                                )
                                              )
                                            }
                                          spids: [921]
                                        )
                                      ]
                                      spids: [921]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [896 918]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [934 952]
                            )
                          ]
                          spids: [841 847 955 16777215]
                        )
                        (case_arm
                          pat_list: [{(--resolve-deps)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESOLVE_DEPS)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [966]
                                )
                              ]
                              spids: [966]
                            )
                            (C {(shift)})
                          ]
                          spids: [958 959 973 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-resolve-deps)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESOLVE_DEPS)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [980]
                                )
                              ]
                              spids: [980]
                            )
                            (C {(shift)})
                          ]
                          spids: [976 977 987 16777215]
                        )
                        (case_arm
                          pat_list: [{(--keep-debootstrap-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:KEEP_DEBOOTSTRAP_DIR)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [994]
                                )
                              ]
                              spids: [994]
                            )
                            (C {(shift)})
                          ]
                          spids: [990 991 1001 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--arch)}
                            {(--arch) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ARCH)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1042]
                                        )
                                      ]
                                      spids: [1042]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1039]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--arch=')}
                                                  )
                                                spids: [1065 1069]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ARCH)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--arch=')}
                                                    )
                                                  spids: [1080 1084]
                                                )
                                              )
                                            }
                                          spids: [1078]
                                        )
                                      ]
                                      spids: [1078]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1053 1075]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1091 1109]
                            )
                          ]
                          spids: [1004 1010 1112 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--extractor)}
                            {(--extractor) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXTRACTOR_OVERRIDE)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1153]
                                        )
                                      ]
                                      spids: [1153]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1150]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--extractor=')}
                                                  )
                                                spids: [1176 1180]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXTRACTOR_OVERRIDE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--extractor=')}
                                                    )
                                                  spids: [1191 1195]
                                                )
                                              )
                                            }
                                          spids: [1189]
                                        )
                                      ]
                                      spids: [1189]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1164 1186]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1202 1220]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(valid_extractor)} 
                                          {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(type)}
                                                        {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {(/dev/null)}
                                                        )
                                                        (Redir
                                                          op: <Redir_GreatAnd '2>&'>
                                                          fd: 2
                                                          arg_word: {(1)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: T
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(error)} {(1)} {(MISSINGEXTRACTOR)} 
                                              {(DQ ('The selected extractor cannot be found: %s'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                            )
                                          ]
                                          spids: [16777215 1252]
                                        )
                                      ]
                                      spids: [16777215 1270]
                                    )
                                  ]
                                  spids: [16777215 1232]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} 
                                  {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                )
                              ]
                              spids: [1273 1291]
                            )
                          ]
                          spids: [1115 1121 1294 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--unpack-tarball)}
                            {(--unpack-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:UNPACK_TARBALL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1335]
                                        )
                                      ]
                                      spids: [1335]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1332]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--unpack-tarball=')}
                                                  )
                                                spids: [1358 1362]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:UNPACK_TARBALL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--unpack-tarball=')}
                                                    )
                                                  spids: [1373 1377]
                                                )
                                              )
                                            }
                                          spids: [1371]
                                        )
                                      ]
                                      spids: [1371]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1346 1368]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1384 1402]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(NOTARBALL)} 
                                      {(DQ ('%s: No such file or directory'))} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}
                                    )
                                  ]
                                  spids: [16777215 1421]
                                )
                              ]
                              spids: [16777215 1439]
                            )
                          ]
                          spids: [1297 1303 1442 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--include)}
                            {(--include) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ADDITIONAL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1482]
                                        )
                                      ]
                                      spids: [1482]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1479]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--include=')}
                                                  )
                                                spids: [1505 1509]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ADDITIONAL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--include=')}
                                                    )
                                                  spids: [1520 1524]
                                                )
                                              )
                                            }
                                          spids: [1518]
                                        )
                                      ]
                                      spids: [1518]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1493 1515]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1533 1551]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ADDITIONAL)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$ADDITIONAL'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1556 1572]
                                        )
                                      )
                                    }
                                  spids: [1554]
                                )
                              ]
                              spids: [1554]
                            )
                          ]
                          spids: [1445 1451 1576 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--exclude)}
                            {(--exclude) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXCLUDE)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1616]
                                        )
                                      ]
                                      spids: [1616]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1613]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--exclude=')}
                                                  )
                                                spids: [1639 1643]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXCLUDE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--exclude=')}
                                                    )
                                                  spids: [1654 1658]
                                                )
                                              )
                                            }
                                          spids: [1652]
                                        )
                                      ]
                                      spids: [1652]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1627 1649]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1667 1685]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:EXCLUDE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$EXCLUDE'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1690 1706]
                                        )
                                      )
                                    }
                                  spids: [1688]
                                )
                              ]
                              spids: [1688]
                            )
                          ]
                          spids: [1579 1585 1710 16777215]
                        )
                        (case_arm
                          pat_list: [{(--verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:VERBOSE)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [1717]
                                )
                              ]
                              spids: [1717]
                            )
                            (C {(export)} {(VERBOSE)})
                            (C {(shift)} {(1)})
                          ]
                          spids: [1713 1714 1731 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--components)}
                            {(--components) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:USE_COMPONENTS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1771]
                                        )
                                      ]
                                      spids: [1771]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1768]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--components=')}
                                                  )
                                                spids: [1794 1798]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:USE_COMPONENTS)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--components=')}
                                                    )
                                                  spids: [1809 1813]
                                                )
                                              )
                                            }
                                          spids: [1807]
                                        )
                                      ]
                                      spids: [1807]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1782 1804]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1822 1840]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USE_COMPONENTS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$USE_COMPONENTS'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ ('|'))})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1845 1861]
                                        )
                                      )
                                    }
                                  spids: [1843]
                                )
                              ]
                              spids: [1843]
                            )
                          ]
                          spids: [1734 1740 1865 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--variant)}
                            {(--variant) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:VARIANT)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1905]
                                        )
                                      ]
                                      spids: [1905]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 1902]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--variant=')}
                                                  )
                                                spids: [1928 1932]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:VARIANT)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--variant=')}
                                                    )
                                                  spids: [1943 1947]
                                                )
                                              )
                                            }
                                          spids: [1941]
                                        )
                                      ]
                                      spids: [1941]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1916 1938]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1956 1974]
                            )
                          ]
                          spids: [1868 1874 1977 16777215]
                        )
                        (case_arm
                          pat_list: [{(--merged-usr)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MERGED_USR)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1984]
                                )
                              ]
                              spids: [1984]
                            )
                            (C {(shift)})
                          ]
                          spids: [1980 1981 1991 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-merged-usr)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MERGED_USR)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [1998]
                                )
                              ]
                              spids: [1998]
                            )
                            (C {(shift)})
                          ]
                          spids: [1994 1995 2005 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--keyring)}
                            {(--keyring) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (SimpleCommand
                                              words: [{(gpgv)} {(--version)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                )
                                                (Redir
                                                  op: <Redir_GreatAnd '2>&'>
                                                  fd: 2
                                                  arg_word: {(1)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: T
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(NEEDGPGV)} 
                                      {
                                        (DQ 
                                          (
'gpgv not installed, but required for Release verification'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 2032]
                                )
                              ]
                              spids: [16777215 2046]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--keyring))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:KEYRING)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [2077]
                                        )
                                      ]
                                      spids: [2077]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 2074]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--keyring=')}
                                                  )
                                                spids: [2100 2104]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:KEYRING)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--keyring=')}
                                                    )
                                                  spids: [2115 2119]
                                                )
                                              )
                                            }
                                          spids: [2113]
                                        )
                                      ]
                                      spids: [2113]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2088 2110]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2128 2146]
                            )
                          ]
                          spids: [2008 2014 2149 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-check-gpg)}]
                          action: [
                            (C {(shift)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:DISABLE_KEYRING)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2161]
                                )
                              ]
                              spids: [2161]
                            )
                          ]
                          spids: [2152 2153 2165 16777215]
                        )
                        (case_arm
                          pat_list: [{(--force-check-gpg)}]
                          action: [
                            (C {(shift)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FORCE_KEYRING)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2177]
                                )
                              ]
                              spids: [2177]
                            )
                          ]
                          spids: [2168 2169 2181 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--certificate)}
                            {(--certificate) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CERTIFICATE)
                                          op: Equal
                                          rhs: {(DQ ('--certificate=') ($ VSub_Number '$2'))}
                                          spids: [2221]
                                        )
                                      ]
                                      spids: [2221]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 2218]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--certificate=')}
                                                  )
                                                spids: [2245 2249]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CERTIFICATE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('--certificate=') 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--certificate=')}
                                                    )
                                                  spids: [2261 2265]
                                                )
                                              )
                                            }
                                          spids: [2258]
                                        )
                                      ]
                                      spids: [2258]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2233 2255]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2275 2294]
                            )
                          ]
                          spids: [2184 2190 2297 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(--private-key)}
                            {(--private-key) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PRIVATEKEY)
                                          op: Equal
                                          rhs: {(DQ ('--private-key=') ($ VSub_Number '$2'))}
                                          spids: [2337]
                                        )
                                      ]
                                      spids: [2337]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [16777215 2334]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--private-key=')}
                                                  )
                                                spids: [2361 2365]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PRIVATEKEY)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('--private-key=') 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--private-key=')}
                                                    )
                                                  spids: [2377 2381]
                                                )
                                              )
                                            }
                                          spids: [2374]
                                        )
                                      ]
                                      spids: [2374]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2349 2371]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2391 2410]
                            )
                          ]
                          spids: [2300 2306 2413 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-check-certificate)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHECKCERTIF)
                                  op: Equal
                                  rhs: {(DQ (--no-check-certificate))}
                                  spids: [2420]
                                )
                              ]
                              spids: [2420]
                            )
                            (C {(shift)})
                          ]
                          spids: [2416 2417 2429 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (C {(error)} {(1)} {(BADARG)} {(DQ ('unrecognized or invalid option %s'))} 
                              {(DQ ($ VSub_Number '$1'))}
                            )
                          ]
                          spids: [2432 2434 2452 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [2455 2456 2462 16777215]
                        )
                      ]
                      spids: [499 505 2465]
                    )
                  ]
                  spids: [496 2468]
                )
            )
          ]
          spids: [16777215 487]
        )
      ]
      spids: [16777215 2470]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$DISABLE_KEYRING'))} {(-a)} {(-n)} 
                  {(DQ ($ VSub_Name '$FORCE_KEYRING'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(BADARG)} 
              {
                (DQ 
                  (
'Both --no-check-gpg and --force-check-gpg specified, please pick one (at most)'
                  )
                )
              }
            )
          ]
          spids: [16777215 2498]
        )
      ]
      spids: [16777215 2511]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                  {(DQ (true))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SUITE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2539 2544]
                      )
                    }
                  spids: [2538]
                )
              ]
              spids: [2538]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2548 2553]
                      )
                    }
                  spids: [2547]
                )
              ]
              spids: [2547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:VARIANT)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2572 2577]
                              )
                            }
                          spids: [2571]
                        )
                      ]
                      spids: [2571]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SUPPORTED_VARIANTS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$VARIANT'))}
                          spids: [2580]
                        )
                      ]
                      spids: [2580]
                    )
                  ]
                  spids: [16777215 2568]
                )
              ]
              spids: [16777215 2586]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$CHROOTDIR'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:TARGET) op:Equal rhs:{(/)} spids:[2605])]
                      spids: [2605]
                    )
                  ]
                  spids: [16777215 2602]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGET)
                      op: Equal
                      rhs: {($ VSub_Name '$CHROOTDIR')}
                      spids: [2612]
                    )
                  ]
                  spids: [2612]
                )
              ]
              spids: [2609 2616]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SCRIPT)
                  op: Equal
                  rhs: {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite-script)}
                  spids: [2619]
                )
              ]
              spids: [2619]
            )
          ]
          spids: [16777215 2535]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')})
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} 
                  {(DQ ('You must specify a suite and a target.'))}
                )
              ]
              spids: [16777215 2651]
            )
          ]
          spids: [16777215 2665]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:SUITE)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$1'))}
              spids: [2668]
            )
          ]
          spids: [2668]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TARGET)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$2'))}
              spids: [2674]
            )
          ]
          spids: [2674]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:USER_MIRROR)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$3'))}
              spids: [2680]
            )
          ]
          spids: [2680]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TARGET)
              op: Equal
              rhs: 
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name TARGET>
                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                      spids: [2688 2692]
                    )
                  )
                }
              spids: [2686]
            )
          ]
          spids: [2686]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name TARGET>
                            suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                            spids: [2701 2705]
                          )
                        )
                      } {(Lit_Other '=')} {(DQ (${ VSub_Name TARGET))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name TARGET>
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VOp1_Percent
                                        arg_word: {(Lit_Slash /) ('*')}
                                      )
                                    spids: [2727 2732]
                                  )
                                )
                              } {(Lit_Other '=')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGET)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [(C {(pwd)})]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [2754 2756]
                                                  ) (/) ($ VSub_Name '$TARGET')
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2750 2760]
                                    )
                                  )
                                }
                              spids: [2748]
                            )
                          ]
                          spids: [2748]
                        )
                      ]
                      spids: [16777215 2745]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGET)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Sentence
                                          child: 
                                            (C {(cd)} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name TARGET>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VOp1_Percent
                                                        arg_word: {(Lit_Slash /) ('*')}
                                                      )
                                                    spids: [2773 2778]
                                                  )
                                                )
                                              }
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [2785 2787]
                                              ) (/) 
                                              (BracedVarSub
                                                token: <VSub_Name TARGET>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_DPound
                                                    arg_word: {('*') (Lit_Slash /)}
                                                  )
                                                spids: [2789 2794]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [2769 2796]
                                )
                              )
                            }
                          spids: [2767]
                        )
                      ]
                      spids: [2767]
                    )
                  ]
                  spids: [2764 2800]
                )
              ]
              spids: [16777215 2719]
            )
          ]
          spids: [16777215 2803]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:SCRIPT)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))}
              spids: [2807]
            )
          ]
          spids: [2807]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')})
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other ']')}
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SCRIPT)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))}
                      spids: [2849]
                    )
                  ]
                  spids: [2849]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SUPPORTED_VARIANTS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$VARIANT'))}
                      spids: [2861]
                    )
                  ]
                  spids: [2861]
                )
              ]
              spids: [16777215 2846]
            )
          ]
          spids: [16777215 2867]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$4'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                      {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SCRIPT)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$4'))}
                      spids: [2890]
                    )
                  ]
                  spids: [2890]
                )
              ]
              spids: [16777215 2887]
            )
          ]
          spids: [16777215 2896]
        )
      ]
      spids: [2623 2898]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(in_path)} {(dpkg)})
                    (SimpleCommand
                      words: [{(dpkg)} {(--print-architecture)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/dev/null)}
                        )
                        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                      ]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2930 2934]
                      )
                    }
                  spids: [2929]
                )
              ]
              spids: [2929]
            )
          ]
          spids: [16777215 2926]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(in_path)} {(udpkg)})
                    (SimpleCommand
                      words: [{(udpkg)} {(--print-architecture)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/dev/null)}
                        )
                        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                      ]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2961 2965]
                      )
                    }
                  spids: [2960]
                )
              ]
              spids: [2960]
            )
          ]
          spids: [2936 2957]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2983 2988]
                      )
                    }
                  spids: [2982]
                )
              ]
              spids: [2982]
            )
          ]
          spids: [2967 2979]
        )
      ]
      spids: [16777215 2990]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_OS)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$HOST_ARCH'))}
          spids: [2992]
        )
      ]
      spids: [2992]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(uname)})])
                    left_token: <Left_Backtick '`'>
                    spids: [3018 3020]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Linux)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(linux)}
                          spids: [3029]
                        )
                      ]
                      spids: [3029]
                    )
                  ]
                  spids: [3025 3026 3033 16777215]
                )
                (case_arm
                  pat_list: [{(GNU/kFreeBSD)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(kfreebsd)}
                          spids: [3040]
                        )
                      ]
                      spids: [3040]
                    )
                  ]
                  spids: [3036 3037 3044 16777215]
                )
                (case_arm
                  pat_list: [{(GNU)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(hurd)}
                          spids: [3051]
                        )
                      ]
                      spids: [3051]
                    )
                  ]
                  spids: [3047 3048 3055 16777215]
                )
                (case_arm
                  pat_list: [{(FreeBSD) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(freebsd)}
                          spids: [3063]
                        )
                      ]
                      spids: [3063]
                    )
                  ]
                  spids: [3058 3060 3067 16777215]
                )
              ]
              spids: [3016 3022 3070]
            )
          ]
          spids: [16777215 3013]
        )
      ]
      spids: [16777215 3072]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH)
                  op: Equal
                  rhs: {($ VSub_Name '$HOST_ARCH')}
                  spids: [3091]
                )
              ]
              spids: [3091]
            )
          ]
          spids: [16777215 3088]
        )
      ]
      spids: [16777215 3094]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')})
                    (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})]
          spids: [16777215 3122]
        )
      ]
      spids: [16777215 3136]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} 
                      {(DQ (kfreebsd))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} 
                      {(DQ (freebsd))} {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (ForEach
              iter_name: module
              iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name '$module'))}]
                          redirects: [
                            (Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                            (Redir
                              op: <Redir_GreatAnd '2>&'>
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (C {(warning)} {(SANITYCHECK)} 
                          {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_Name '$module'))}
                        )
                      ]
                    )
                  ]
                  spids: [3190 3223]
                )
              spids: [3180 3188]
            )
          ]
          spids: [16777215 3172]
        )
      ]
      spids: [16777215 3225]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other '=')} {(DQ (/))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:CHROOT_CMD) op:Equal rhs:{(DQ )} spids:[3248])]
              spids: [3248]
            )
          ]
          spids: [16777215 3245]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:CHROOT_CMD)
              op: Equal
              rhs: {(DQ ('chroot ') ($ VSub_Name '$TARGET'))}
              spids: [3255]
            )
          ]
          spids: [3255]
        )
      ]
      spids: [3252 3261]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SHA_SIZE'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(256)} spids:[3280])]
              spids: [3280]
            )
          ]
          spids: [16777215 3277]
        )
      ]
      spids: [16777215 3283]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (Pipeline
                      children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})]
                      negated: T
                    )
                    (Pipeline
                      children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})]
                      negated: T
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(1)} spids:[3316])]
              spids: [3316]
            )
          ]
          spids: [16777215 3313]
        )
      ]
      spids: [16777215 3319]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD)
          op: Equal
          rhs: {(DQ (SHA) ($ VSub_Name '$SHA_SIZE'))}
          spids: [3321]
        )
      ]
      spids: [3321]
    )
    (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(in_path)} {(id)})
                            (C {(Lit_Other '[')} 
                              {
                                (CommandSubPart
                                  command_list: (CommandList children:[(C {(id)} {(-u)})])
                                  left_token: <Left_Backtick '`'>
                                  spids: [3365 3369]
                                )
                              } {(-ne)} {(0)} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ('debootstrap can only run as root'))})]
                  spids: [16777215 3378]
                )
              ]
              spids: [16777215 3392]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name '$TARGET'))})]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(error)} {(1)} {(NOEXEC)} 
                      {
                        (DQ ("Cannot install into target '") ($ VSub_Name '$TARGET') 
                          ("' mounted with noexec or nodev")
                        )
                      }
                    )
                  ]
                  spids: [16777215 3410]
                )
              ]
              spids: [16777215 3426]
            )
          ]
          spids: [16777215 3352]
        )
      ]
      spids: [16777215 3428]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$SCRIPT'))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ('No such script: %s'))} {(DQ ($ VSub_Name '$SCRIPT'))})
          ]
          spids: [16777215 3446]
        )
      ]
      spids: [16777215 3463]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})]
          spids: [16777215 3487]
        )
      ]
      spids: [16777215 3499]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} 
                  {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(3)})]
            )
          ]
          spids: [16777215 3540]
        )
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(2)})]
            )
          ]
          spids: [3556 3563]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(exec)}]
          redirects: [(Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})]
        )
        (SimpleCommand
          words: [{(exec)}]
          redirects: [
            (Redir
              op: <Redir_DGreat '>>'>
              fd: 16777215
              arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))}
            )
          ]
        )
        (SimpleCommand
          words: [{(exec)}]
          redirects: [(Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
        )
      ]
      spids: [3579 3614]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                                spids: [3640 3644]
                              )
                            )
                          } {(Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(error)} {(1)} {(TARPATH)} {(DQ ('Tarball must be given a complete path'))})
                  ]
                  spids: [16777215 3656]
                )
              ]
              spids: [16777215 3670]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tar)})
                                spids: [3678 3682]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Subshell
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))})
                            (C {(tar)} {(-xf)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))})
                          ]
                        )
                      spids: [3698 3714]
                    )
                  ]
                  spids: [16777215 3695]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tgz)})
                                spids: [3722 3726]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Subshell
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))})
                            (Pipeline
                              children: [
                                (C {(zcat)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))})
                                (C {(tar)} {(-xf)} {(-)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      spids: [3742 3764]
                    )
                  ]
                  spids: [3717 3739]
                )
              ]
              else_action: [
                (C {(error)} {(1)} {(NOTTAR)} {(DQ ('Unknown tarball: must be either .tar or .tgz'))})
              ]
              spids: [3767 3781]
            )
          ]
          spids: [16777215 3632]
        )
      ]
      spids: [16777215 3783]
    )
    (C {(.)} {(DQ ($ VSub_Name '$SCRIPT'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                  {(DQ (true))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MIRRORS)
                  op: Equal
                  rhs: {(null) (Lit_Other ':')}
                  spids: [3817]
                )
              ]
              spids: [3817]
            )
          ]
          spids: [16777215 3814]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:MIRRORS)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$DEF_MIRROR'))}
              spids: [3824]
            )
          ]
          spids: [3824]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER_MIRROR'))} 
                      {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MIRRORS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$USER_MIRROR'))}
                      spids: [3850]
                    )
                  ]
                  spids: [3850]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MIRRORS)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name MIRRORS>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                              spids: [3858 3862]
                            )
                          )
                        }
                      spids: [3856]
                    )
                  ]
                  spids: [3856]
                )
              ]
              spids: [16777215 3847]
            )
          ]
          spids: [16777215 3866]
        )
      ]
      spids: [3821 3868]
    )
    (C {(export)} {(MIRRORS)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(false)} spids:[3876])]
      spids: [3876]
    )
    (ForEach
      iter_name: v
      iter_words: [{($ VSub_Name '$SUPPORTED_VARIANTS')}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(doing_variant)} {($ VSub_Name '$v')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ok)
                              op: Equal
                              rhs: {(true)}
                              spids: [3900]
                            )
                          ]
                          spids: [3900]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 3898]
                )
              ]
              spids: [16777215 3904]
            )
          ]
          spids: [3888 3906]
        )
      spids: [3884 3886]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (Pipeline children:[(C {($ VSub_Name '$ok')})] negated:T)
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})]
          spids: [16777215 3915]
        )
      ]
      spids: [16777215 3928]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$FINDDEBS_NEEDS_INDICES'))} 
                              {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} 
                              {(DQ (true))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(download_indices)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GOT_INDICES)
                          op: Equal
                          rhs: {(true)}
                          spids: [3986]
                        )
                      ]
                      spids: [3986]
                    )
                  ]
                  spids: [16777215 3980]
                )
              ]
              spids: [16777215 3990]
            )
            (C {(work_out_debs)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(without)} 
                                {(DQ ($ VSub_Name '$base') (' ') ($ VSub_Name '$ADDITIONAL'))} {(DQ ($ VSub_Name '$EXCLUDE'))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3999 4011]
                      )
                    }
                  spids: [3998]
                )
              ]
              spids: [3998]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} 
                          {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:requiredX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name '$required')})
                                                      (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [4037 4061]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4034 4062]
                              )
                            }
                          spids: [4033]
                        )
                      ]
                      spids: [4033]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name '$base')})
                                                      (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [4069 4093]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4066 4094]
                              )
                            }
                          spids: [4065]
                        )
                      ]
                      spids: [4065]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseN)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$baseX'))} 
                                        {(DQ ($ VSub_Name '$requiredX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4099 4109]
                              )
                            }
                          spids: [4098]
                        )
                      ]
                      spids: [4098]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseU)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$baseX'))} 
                                        {(DQ ($ VSub_Name '$baseN'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4113 4123]
                              )
                            }
                          spids: [4112]
                        )
                      ]
                      spids: [4112]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseU'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(REDUNDANTBASE)} 
                              {(DQ ('Found packages in base already in required: %s'))} {(DQ ($ VSub_Name '$baseU'))}
                            )
                          ]
                          spids: [16777215 4144]
                        )
                      ]
                      spids: [16777215 4160]
                    )
                    (C {(info)} {(RESOLVEREQ)} {(DQ ('Resolving dependencies of required packages...'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:required)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(resolve_deps)} {($ VSub_Name '$requiredX')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4174 4178]
                              )
                            }
                          spids: [4173]
                        )
                      ]
                      spids: [4173]
                    )
                    (C {(info)} {(RESOLVEBASE)} {(DQ ('Resolving dependencies of base packages...'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(resolve_deps)} {($ VSub_Name '$baseX')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4191 4195]
                              )
                            }
                          spids: [4190]
                        )
                      ]
                      spids: [4190]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$base'))} 
                                        {(DQ ($ VSub_Name '$required'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4199 4209]
                              )
                            }
                          spids: [4198]
                        )
                      ]
                      spids: [4198]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:requiredX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$required'))} 
                                        {(DQ ($ VSub_Name '$requiredX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4214 4224]
                              )
                            }
                          spids: [4213]
                        )
                      ]
                      spids: [4213]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$base'))} 
                                        {(DQ ($ VSub_Name '$baseX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4228 4238]
                              )
                            }
                          spids: [4227]
                        )
                      ]
                      spids: [4227]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$requiredX'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(NEWREQUIRED)} 
                              {(DQ ('Found additional required dependencies: %s'))} {(DQ ($ VSub_Name '$requiredX'))}
                            )
                          ]
                          spids: [16777215 4258]
                        )
                      ]
                      spids: [16777215 4274]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseX'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(NEWBASE)} {(DQ ('Found additional base dependencies: %s'))} 
                              {(DQ ($ VSub_Name '$baseX'))}
                            )
                          ]
                          spids: [16777215 4294]
                        )
                      ]
                      spids: [16777215 4310]
                    )
                  ]
                  spids: [16777215 4030]
                )
              ]
              spids: [16777215 4313]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:all_debs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))}
                  spids: [4317]
                )
              ]
              spids: [4317]
            )
          ]
          spids: [16777215 3942]
        )
      ]
      spids: [16777215 4324]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)]
          action: [(C {(echo)} {(DQ ($ VSub_Name '$all_debs'))})]
          spids: [16777215 4334]
        )
      ]
      spids: [16777215 4343]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$GOT_INDICES'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(download_indices)})]
                  spids: [16777215 4374]
                )
              ]
              spids: [16777215 4380]
            )
            (C {(download)} {($ VSub_Name '$all_debs')})
          ]
          spids: [16777215 4353]
        )
      ]
      spids: [16777215 4387]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(maketarball)}) terminator:<Op_Semi ';'>)]
          action: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(cd)} {($ VSub_Name '$TARGET')})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)})
                  ]
                )
              redirects: [
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {($ VSub_Name '$MAKE_TARBALL')}
                )
              ]
              spids: [4400 4416]
            )
          ]
          spids: [16777215 4397]
        )
      ]
      spids: [16777215 4421]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(first_stage)}) terminator:<Op_Semi ';'>)]
          action: [
            (C {(choose_extractor)})
            (C {(first_stage_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (Pipeline children:[(C {(am_doing_phase)} {(second_stage)})] negated:T)
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ ($ VSub_Number '$0'))} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}
                    )
                    (C {(cp)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/functions))}
                    )
                    (C {(cp)} {($ VSub_Name '$SCRIPT')} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite-script))}
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$ARCH'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/arch))}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$SUITE'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite))}
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} 
                          {(Lit_Other ']')}
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ($ VSub_Name '$VARIANT'))}]
                          redirects: [
                            (Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/variant))}
                            )
                          ]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$required'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/required))}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$base'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/base))}
                        )
                      ]
                    )
                    (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))})
                  ]
                  spids: [16777215 4463]
                )
              ]
              spids: [16777215 4591]
            )
          ]
          spids: [16777215 4431]
        )
      ]
      spids: [16777215 4593]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(second_stage)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                          {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:required)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/required)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4626 4631]
                                )
                              )
                            }
                          spids: [4624]
                        )
                      ]
                      spids: [4624]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/base)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4637 4642]
                                )
                              )
                            }
                          spids: [4635]
                        )
                      ]
                      spids: [4635]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:all_debs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))}
                          spids: [4646]
                        )
                      ]
                      spids: [4646]
                    )
                  ]
                  spids: [16777215 4621]
                )
              ]
              spids: [16777215 4654]
            )
            (C {(second_stage_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))})]
                  spids: [16777215 4697]
                )
              ]
              spids: [16777215 4710]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name MIRRORS>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_Pound
                                    arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)}
                                  )
                                spids: [4718 4724]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$MIRRORS'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(setup_apt_sources)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name MIRRORS>
                            suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')})
                            spids: [4743 4747]
                          )
                        )
                      }
                    )
                    (C {(mv_invalid_to)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name MIRRORS>
                            suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')})
                            spids: [4754 4758]
                          )
                        )
                      }
                    )
                  ]
                  spids: [16777215 4737]
                )
              ]
              else_action: [
                (C {(setup_apt_sources)} {(DQ ($ VSub_Name '$DEF_MIRROR'))})
                (C {(mv_invalid_to)} {(DQ ($ VSub_Name '$DEF_MIRROR'))})
              ]
              spids: [4762 4779]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                                  {(Lit_Other '=')} {(true)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(cp)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} 
                              {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))}
                            )
                          ]
                          spids: [16777215 4815]
                        )
                      ]
                      else_action: [
                        (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} 
                          {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))}
                        )
                      ]
                      spids: [4831 4867]
                    )
                  ]
                  spids: [16777215 4797]
                )
              ]
              spids: [16777215 4870]
            )
            (C {(sync)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                          {(Lit_Other '=')} {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-x)} 
                                  {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(chmod)} {(644)} 
                              {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}
                            )
                          ]
                          spids: [16777215 4909]
                        )
                      ]
                      spids: [16777215 4922]
                    )
                  ]
                  spids: [16777215 4892]
                )
              ]
              else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})]
              spids: [4925 4938]
            )
          ]
          spids: [16777215 4603]
        )
      ]
      spids: [16777215 4940]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(kill_target)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(info)} {(KILLTARGET)} {(DQ ('Deleting target directory'))})
                    (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET'))})
                  ]
                  spids: [16777215 4969]
                )
              ]
              spids: [16777215 4990]
            )
          ]
          spids: [16777215 4950]
        )
      ]
      spids: [16777215 4992]
    )
  ]
)