(command.CommandList
  children: [
    (C {<default_mirror>} {<http> <Id.Lit_Colon ':'> <'//old-releases.ubuntu.com/ubuntu'>})
    (C {<mirror_style>} {<release>})
    (C {<download_style>} {<apt>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LIBC)
          op: assign_op.Equal
          rhs: {<libc6>}
          spids: [15]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} 
                          {<Id.Lit_Equals '='>} {(DQ <alpha>)} {<Id.Lit_RBracket ']'>}
                        )
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} 
                          {<Id.Lit_Equals '='>} {(DQ <ia64>)} {<Id.Lit_RBracket ']'>}
                        )
                      ]
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LIBC)
                  op: assign_op.Equal
                  rhs: {(DQ <libc6.1>)}
                  spids: [54]
                )
              ]
            )
          ]
          spids: [18 51]
        )
      ]
    )
    (command.ShFunction
      name: work_out_debs
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:required)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        <
'base-files base-passwd bash bsdutils build-essential coreutils debianutils diff dpkg dselect e2fslibs e2fsprogs fakeroot findutils gcc-3.3-base grep gzip hostname initscripts libacl1 libattr1 libblkid1 libc6 libcap1 libcomerr2 libdb1-compat libdb3 libgcc1 libncurses5 libpam-modules libpam-runtime libpam0g libss2 libstdc++5 libuuid1 login lsb-base mawk mount ncurses-base ncurses-bin passwd perl-base pkgstriptranslations python-minimal python2.4-minimal sed slang1a-utf8 sysv-rc sysvinit tar util-linux zlib1g'
                        >
                      )
                    }
                  spids: [70]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:base)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        <
'apt binutils cpio cpp cpp-3.3 dpkg-dev g++ g++-3.3 gcc gcc-3.3 libc6-dev libdb4.2 libgdbm3 libstdc++5-3.3-dev linux-kernel-headers make patch perl perl-modules'
                        >
                      )
                    }
                  spids: [77]
                )
              ]
            )
            (command.ShFunction
              name: without_package
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<echo>} {(DQ ($ Id.VSub_Number '$2'))})
                        (C {<tr>} {(SQ <' '>)} {(SQ <'\\n'>)})
                        (C {<grep>} {<-v>} {(DQ <'^'> ($ Id.VSub_Number '$1') <Id.Lit_Dollar '$'>)})
                        (C {<tr>} {(SQ <'\\n'>)} {(SQ <' '>)})
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.ShFunction
              name: subst_package
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<echo>} {(DQ ($ Id.VSub_Number '$3'))})
                        (C {<tr>} {(SQ <' '>)} {(SQ <'\\n'>)})
                        (C {<sed>} 
                          {
                            (DQ <'s/^'> ($ Id.VSub_Number '$1') <Id.Lit_Dollar '$'> <'/'> 
                              ($ Id.VSub_Number '$2') <'/'>
                            )
                          }
                        )
                        (C {<tr>} {(SQ <'\\n'>)} {(SQ <' '>)})
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$ARCH')}
              arms: [
                (case_arm pat_list:[{(DQ <amd64>)}] spids:[201 204 207 -1])
                (case_arm pat_list:[{(DQ <i386>)}] spids:[210 213 216 -1])
                (case_arm pat_list:[{(DQ <powerpc>)}] spids:[219 222 225 -1])
                (case_arm
                  pat_list: [{(DQ <ia64>)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:required)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<subst_package>} {(DQ <libc6>)} {(DQ <libc6.1>)} 
                                      {(DQ ($ Id.VSub_DollarName '$required'))}
                                    )
                                )
                              )
                            }
                          spids: [234]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<subst_package>} {(DQ <libc6-dev>)} {(DQ <libc6.1-dev>)} 
                                      {(DQ ($ Id.VSub_DollarName '$base'))}
                                    )
                                )
                              )
                            }
                          spids: [254]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$base') <' libunwind7 libunwind7-dev'>)}
                          spids: [274]
                        )
                      ]
                    )
                  ]
                  spids: [228 231 281 -1]
                )
                (case_arm
                  pat_list: [{(DQ <alpha>)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:required)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<subst_package>} {(DQ <libc6>)} {(DQ <libc6.1>)} 
                                      {(DQ ($ Id.VSub_DollarName '$required'))}
                                    )
                                )
                              )
                            }
                          spids: [295]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<subst_package>} {(DQ <libc6-dev>)} {(DQ <libc6.1-dev>)} 
                                      {(DQ ($ Id.VSub_DollarName '$base'))}
                                    )
                                )
                              )
                            }
                          spids: [315]
                        )
                      ]
                    )
                  ]
                  spids: [289 292 335 -1]
                )
                (case_arm pat_list:[{<Id.Lit_Star '*'>}] spids:[338 339 346 -1])
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: install_debs
      body: (BraceGroup children:[(C {<first_stage_install>}) (C {<second_stage_install>})])
    )
    (command.ShFunction
      name: first_stage_install
      body: 
        (BraceGroup
          children: [
            (C {<extract>} {($ Id.VSub_DollarName '$required')})
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg'>)})
            (command.Simple
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)}
                )
              ]
              do_fork: T
            )
            (command.Simple
              words: [{<echo>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/available'>)}
                )
              ]
              do_fork: T
            )
            (C {<setup_etc>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<echo>} {(SQ <'# UNCONFIGURED FSTAB FOR BASE SYSTEM'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (C {<chown>} {<0> <Id.Lit_Colon ':'> <0>} 
                          {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<chmod>} {<644>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)})
                  ]
                  spids: [416 432]
                )
              ]
            )
            (C {<setup_devices>})
            (command.ShFunction
              name: x_feign_install
              body: 
                (BraceGroup
                  children: [
                    (C {<local>} {<Id.Lit_VarLike 'pkg='> (DQ ($ Id.VSub_Number '$1'))})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'deb='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<debfor>} {($ Id.VSub_DollarName '$pkg')})
                          )
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'ver='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (C {<extract_deb_field>} 
                                {
                                  (DQ ($ Id.VSub_DollarName '$TARGET') <'/'> 
                                    ($ Id.VSub_DollarName '$deb')
                                  )
                                } {<Version>}
                              )
                          )
                        )
                      }
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info'>)})
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'Package: '> ($ Id.VSub_DollarName '$pkg') <'\n'> <'Version: '> 
                            ($ Id.VSub_DollarName '$ver') <'\n'> <'Status: install ok installed'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)}
                        )
                      ]
                      do_fork: T
                    )
                    (C {<touch>} 
                      {
                        (DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info/'> 
                          (${ Id.VSub_Name pkg) <.list>
                        )
                      }
                    )
                  ]
                )
            )
            (C {<x_feign_install>} {<dpkg>})
          ]
        )
    )
    (command.ShFunction
      name: second_stage_install
      body: 
        (BraceGroup
          children: [
            (command.ShFunction
              name: x_core_install
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<smallyes>} {(SQ )})
                        (C {<in_target>} {<dpkg>} {<--force-depends>} {<--install>} 
                          {
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: (C {<debfor>} {(DQ ($ Id.VSub_At '$@'))})
                            )
                          }
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.ShFunction
              name: p
              body: 
                (BraceGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:baseprog)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: {($ Id.VSub_DollarName '$baseprog')}
                                      right: 
                                        {
                                          (braced_var_sub
                                            token: <Id.VSub_Number 1>
                                            suffix_op: 
                                              (suffix_op.Unary
                                                tok: <Id.VTest_ColonHyphen ':-'>
                                                arg_word: {<1>}
                                              )
                                          )
                                        }
                                    )
                                )
                              )
                            }
                          spids: [633]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:DEBIAN_FRONTEND)
                  op: assign_op.Equal
                  rhs: {<noninteractive>}
                  spids: [654]
                )
              ]
            )
            (C {<export>} {<DEBIAN_FRONTEND>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:baseprog)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [664]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:bases)
                  op: assign_op.Equal
                  rhs: {<40>}
                  spids: [668]
                )
              ]
            )
            (C {<setup_proc>})
            (C {<in_target>} {<'/sbin/ldconfig'>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<INSTCORE>} {(DQ <'Installing core packages...'>)})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<ln>} {<-sf>} {<mawk>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)})
            (C {<x_core_install>} {<base-files>} {<base-passwd>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {<dpkg>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<ln>} {<-sf>} {<'/usr/share/zoneinfo/UTC'>} 
                      {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)}
                    )
                  ]
                  spids: [774 790]
                )
              ]
            )
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {($ Id.VSub_DollarName '$LIBC')})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {<perl-base>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<rm>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)})
            (C {<x_core_install>} {<mawk>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<UNPACKREQ>} {(DQ <'Unpacking required packages...'>)})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (C {<repeatn>} {<5>} {<in_target_failmsg>} {<UNPACK_REQ_FAIL_FIVE>} 
                  {
                    (DQ 
                      <
'Failure while unpacking required packages.  This will be attempted up to five times.'
                      >
                    )
                  } {(DQ )} {<dpkg>} {<--force-depends>} {<--unpack>} 
                  {
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<debfor>} {($ Id.VSub_DollarName '$required')})
                    )
                  }
                )
              ]
              negated: F
            )
            (command.Sentence child:(C {<p>} {<10>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<CONFREQ>} {(DQ <'Configuring required packages...'>)})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)} 
              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)}
            )
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'#!/bin/sh\n'> <'echo\n'> <'echo '> 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'Warning: Fake start-stop-daemon called, doing nothing'> 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)}
                )
              ]
              do_fork: T
            )
            (C {<chmod>} {<755>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)})
            (C {<setup_dselect_method>} {<apt>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (C {<in_target_failmsg>} {<CONF_REQ_FAIL>} 
                  {(DQ <'Failure while configuring required packages.'>)} {(DQ )} {<dpkg>} {<--configure>} {<--pending>} {<--force-configure-any>} {<--force-depends>}
                )
              ]
              negated: F
            )
            (command.Sentence child:(C {<p>} {<10>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<INSTCORE>} {(DQ <'Installing base packages...'>)})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (C {<repeatn>} {<5>} {<in_target_failmsg>} {<INST_BASE_FAIL_FIVE>} 
                  {
                    (DQ 
                      <
'Failure while installing base packages.  This will be re-attempted up to five times.'
                      >
                    )
                  } {(DQ )} {<dpkg>} {<--force-auto-select>} {<--force-overwrite>} {<--force-confold>} {<--skip-same-version>} 
                  {<--unpack>} 
                  {
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<debfor>} {($ Id.VSub_DollarName '$base')})
                    )
                  }
                )
              ]
              negated: F
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (C {<repeatn>} {<5>} {<in_target_failmsg>} {<CONF_BASE_FAIL_FIVE>} 
                  {(DQ <'Failure while configuring base packages.  This will be attempted 5 times.'>)} {(DQ )} {<dpkg>} {<--force-confold>} {<--skip-same-version>} {<--configure>} {<-a>}
                )
              ]
              negated: F
            )
            (command.Sentence child:(C {<p>} {<9>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)} 
              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)}
            )
            (C {<progress>} {($ Id.VSub_DollarName '$bases')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<BASESUCCESS>} {(DQ <'Base system installed successfully.'>)})
          ]
        )
    )
  ]
)