(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<ruby2.2>}
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgname)
          op: assign_op.Equal
          rhs: {<ruby>}
          spids: [45]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_majorver)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgname>
                suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<ruby>})
              )
            }
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$_majorver') <.8>)}
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgver)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgver>
                suffix_op: (suffix_op.PatSub pat:{<_>} replace:{<->} replace_mode:Id.Undefined_Tok)
              )
            }
          spids: [61]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_abiver)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$_majorver') <.0>)}
          spids: [70]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'An object-oriented language for quick and easy programming'>)}
          spids: [79]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://www.ruby-lang.org/en/'>)}
          spids: [84]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [89]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <Ruby>)}
          spids: [94]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [99]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ <gmp-dev>)}
          spids: [103]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$depends_dev') 
                <' zlib-dev libressl-dev gdbm-dev db-dev readline-dev\n'> <'\tlibffi-dev coreutils yaml-dev autoconf'>
              )
            }
          spids: [108]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-doc '> ($ Id.VSub_DollarName '$pkgname') 
                <'-dev '> ($ Id.VSub_DollarName '$pkgname') <'-irb::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') 
                <'-rdoc::noarch '> ($ Id.VSub_DollarName '$pkgname') <'-rake::noarch '> ($ Id.VSub_DollarName '$pkgname') 
                <'-bigdecimal::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-io-console:io_console '> ($ Id.VSub_DollarName '$pkgname') 
                <'-minitest::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-json '> ($ Id.VSub_DollarName '$pkgname') <'-libs\n'> <'\t'>
              )
            }
          spids: [115]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'ftp://ftp.ruby-lang.org/pub/ruby/'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VOp1_Percent '%'>
                      arg_word: {<.> <Id.Lit_Other '*'>}
                    )
                ) <'/'> ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$_pkgver') <.tar.bz2>
              )
            }
          spids: [143]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:options)
          op: assign_op.Equal
          rhs: {(DQ <'!fhs'>)}
          spids: [159]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$_pkgname') <-> 
                ($ Id.VSub_DollarName '$_pkgver')
              )
            }
          spids: [164]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_gemdir)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/lib/ruby/gems/'> ($ Id.VSub_DollarName '$_abiver'))}
          spids: [174]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_rubydir)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/lib/ruby/'> ($ Id.VSub_DollarName '$_abiver'))}
          spids: [180]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_chost)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (braced_var_sub
                  token: <Id.VSub_Name CHOST>
                  suffix_op: 
                    (suffix_op.PatSub
                      pat: {<-alpine->}
                      replace: {<->}
                      replace_mode: Id.Undefined_Tok
                    )
                )
              )
            }
          spids: [186]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$CARCH'))}
      arms: [
        (case_arm
          pat_list: [{<x86>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_arch)
                  op: assign_op.Equal
                  rhs: {(DQ <i386>)}
                  spids: [210]
                )
              ]
            )
          ]
          spids: [207 208 214 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_arch)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$CARCH'))}
                  spids: [220]
                )
              ]
            )
          ]
          spids: [217 218 224 -1]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<default_prepare>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<autoconf>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} 
              {<Id.Lit_VarLike 'CFLAGS='> 
                (DQ ($ Id.VSub_DollarName '$CFLAGS') <' -fno-omit-frame-pointer -fno-strict-aliasing'>)
              }
            )
            (C {<export>} 
              {<Id.Lit_VarLike 'CPPFLAGS='> 
                (DQ ($ Id.VSub_DollarName '$CPPFLAGS') 
                  <' -fno-omit-frame-pointer -fno-strict-aliasing'>
                )
              }
            )
            (C {<export>} {<Id.Lit_VarLike 'INSTALL='> <install>})
            (C {<export>} {<Id.Lit_VarLike 'ac_cv_func_isnan='> <yes>})
            (C {<export>} {<Id.Lit_VarLike 'ac_cv_func_isinf='> <yes>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<'./configure'>} {<--build> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CBUILD')} 
                  {<--host> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CHOST')} {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--sysconfdir> <Id.Lit_Equals '='> <'/etc'>} 
                  {<--mandir> <Id.Lit_Equals '='> <'/usr/share/man'>} {<--infodir> <Id.Lit_Equals '='> <'/usr/share/info'>} 
                  {<--with-sitedir> <Id.Lit_Equals '='> (SQ <'/usr/local/lib/site_ruby'>)} 
                  {<--with-search-path> <Id.Lit_Equals '='> 
                    (DQ <'/usr/lib/site_ruby/'> 
                      (word_part.EscapedLiteral
                        token: <Id.Lit_EscapedChar '\\$'>
                      ) <'(ruby_ver)/'> ($ Id.VSub_DollarName '$_arch') <-linux>
                    )
                  } {<--enable-pthread>} {<--disable-rpath>} {<--enable-shared>} {<--with-mantype> <Id.Lit_Equals '='> <man>} 
                  {<--program-suffix> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$_majorver')} {<--with-soname> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$pkgname')}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<make>} {<test>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
                  {<install>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-d>} 
                              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/local'>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'f='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))})
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<find>} {<'usr/local'>} {<-type>} {<f>})
                              ]
                            )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$f'))} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<error>} {(DQ <'Found files in /usr/local:'>)})
                            (C {<echo>} {(DQ ($ Id.VSub_DollarName '$f'))})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<1>}
                            )
                          ]
                          spids: [516 529]
                        )
                      ]
                    )
                  ]
                  spids: [477 491]
                )
              ]
            )
            (C {<install>} {<-Dm644>} {<COPYING>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/licenses/'> 
                ($ Id.VSub_DollarName '$pkgname') <'/COPYING'>
              }
            )
          ]
        )
    )
    (command.ShFunction
      name: rake
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Ruby based make-like utility'>)}
                  spids: [580]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [586]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<_mvgem>} {<rake>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<_mv>} {<'usr/bin/rake'> ($ Id.VSub_DollarName '$_majorver')})
          ]
        )
    )
    (command.ShFunction
      name: irb
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'The Interactive Ruby'>)}
                  spids: [619]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:replaces)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [625]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [631]
                )
              ]
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))})
            (C {<_mv>} {<'usr/bin/irb'> ($ Id.VSub_DollarName '$_majorver')} 
              {<'usr/lib/ruby/'> ($ Id.VSub_DollarName '$_abiver') <'/irb'> <Id.Lit_Star '*'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: rdoc
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Ruby documentation tool'>)}
                  spids: [667]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$pkgname') <' '> ($ Id.VSub_DollarName '$pkgname') 
                        <'-json '> ($ Id.VSub_DollarName '$pkgname') <-io-console>
                      )
                    }
                  spids: [673]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<_mvgem>} {<rdoc>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<_mv>} {<'usr/bin/ri'> ($ Id.VSub_DollarName '$_majorver')} 
              {<'usr/bin/rdoc'> ($ Id.VSub_DollarName '$_majorver')}
            )
          ]
        )
    )
    (command.ShFunction
      name: bigdecimal
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Ruby arbitrary-precision floating point decimal arithmetic'>)}
                  spids: [716]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [722]
                )
              ]
            )
            (C {<_mvgem>} {<bigdecimal>})
          ]
        )
    )
    (command.ShFunction
      name: io_console
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Ruby simple console IO library'>)}
                  spids: [743]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [749]
                )
              ]
            )
            (C {<_mvgem>} {<io-console>})
            (C {<_mv>} {($ Id.VSub_DollarName '$_rubydir') <'/io'>} 
              {($ Id.VSub_DollarName '$_rubydir') <'/'> ($ Id.VSub_DollarName '$_chost') 
                <'/io/console.so'>
              }
            )
          ]
        )
    )
    (command.ShFunction
      name: minitest
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Ruby suite of testing facilities'>)}
                  spids: [783]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [789]
                )
              ]
            )
            (C {<_mvgem>} {<minitest>})
          ]
        )
    )
    (command.ShFunction
      name: json
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'JSON implementation as a Ruby extension in C'>)}
                  spids: [810]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [816]
                )
              ]
            )
            (C {<_mvgem>} {<json>})
          ]
        )
    )
    (command.ShFunction
      name: libs
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Libraries necessary to run Ruby'>)}
                  spids: [837]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [843]
                )
              ]
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr'>})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/lib'>} 
              {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: _mv
      body: 
        (BraceGroup
          children: [
            (command.Sentence child:(C {<local>} {<i>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: i
              iter_words: [{(DQ ($ Id.VSub_At '$@'))}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/'> 
                        (braced_var_sub
                          token: <Id.VSub_Name i>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VOp1_Percent '%'>
                              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                            )
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> (${ Id.VSub_Name i)} 
                          {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/'> 
                            (braced_var_sub
                              token: <Id.VSub_Name i>
                              suffix_op: 
                                (suffix_op.Unary
                                  tok: <Id.VOp1_Percent '%'>
                                  arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                                )
                            ) <'/'>
                          }
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<1>}
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: _mvgem
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))})
            (command.Sentence child:(C {<local>} {<path>}) terminator:<Id.Op_Semi _>)
            (command.ForEach
              iter_name: path
              iter_words: [
                {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> (${ Id.VSub_Number 1) <.rb>}
                {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> (${ Id.VSub_Number 1)}
                {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> ($ Id.VSub_DollarName '$_chost') <'/'> 
                  (${ Id.VSub_Number 1)
                }
                {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/gems/'> (${ Id.VSub_Number 1) <-> 
                  <Id.Lit_Star '*'>
                }
                {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/specifications/'> (${ Id.VSub_Number 1) <-> 
                  <Id.Lit_Star '*'>
                }
                {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/specifications/default/'> 
                  (${ Id.VSub_Number 1) <-> <Id.Lit_Star '*'>
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                          {(DQ ($ Id.VSub_DollarName '$pkgdir') <'/'> ($ Id.VSub_DollarName '$path'))} {<Id.Lit_RBracket ']'>}
                        )
                        (C {<_mv>} {(DQ ($ Id.VSub_DollarName '$path'))})
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'aa1c65f76a51a57d9059a38a13a823112b53850a9e7d6f72c3f3e38d381412014521049f7065c1b00877501b3b554235135d0f308045c2a9da133c766f5b9e46  ruby-2.2.8.tar.bz2'
                >
              )
            }
          spids: [1069]
        )
      ]
    )
  ]
)