(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ipfw)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_realver) op:Equal rhs:{(20130607)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {(3.0_git) (${ VSub_Name _realver)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('BSD ipfw firewall and dummynet suite (linux-grsec modules)'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://info.iet.unipi.it/~luigi/dummynet/'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ (bsd-compat-headers))}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[50])]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://info.iet.unipi.it/~luigi/doc/') (${ VSub_Name _realver) (-) 
                (${ VSub_Name pkgname) ('3.tgz\n') ('\tno-sysctl.patch\n') ('\ttype-correctness.patch\n') ('\tremove-werror.patch')
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[68])]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir') (/ipfw3-2012))}
          spids: [73]
        )
      ]
      spids: [73]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[88])]
              spids: [86]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$source')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name '$i')})
                              terminator: <Op_Semi ';'>
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$i')}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [117 119 143 -1]
                        )
                      ]
                      spids: [110 114 146]
                    )
                  ]
                  spids: [107 149]
                )
              spids: [103 105]
            )
          ]
          spids: [83]
        )
      spids: [79 82]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [(C {(cd)} {(DQ ($ VSub_Name '$_builddir'))}) (C {(make)} {(ipfw)})]
          spids: [158]
        )
      spids: [154 157]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir') (/usr/sbin))})
            (C {(install)} {(-D)} {(-m755)} {(ipfw/ipfw)} {(DQ ($ VSub_Name '$pkgdir') (/usr/sbin/ipfw))})
          ]
          spids: [179]
        )
      spids: [175 178]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('004e65e6d545a89c4dcc3e741e287444  20130607-ipfw3.tgz\n') 
                ('77b842449998afdbce62cedca529f7f0  no-sysctl.patch\n') ('a5fd21099c3733d52164189e30abf5ce  type-correctness.patch\n') 
                ('e136911cde9e86b7ddcda4fe4af766ab  remove-werror.patch')
              )
            }
          spids: [215]
        )
      ]
      spids: [215]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64  20130607-ipfw3.tgz\n'
                ) ('b7f3b61af1a6dd88dc01662ef524da886d1f2c4684bdfe023cb6ffe2e9da63de  no-sysctl.patch\n') 
                (
'ed1e32908b748c0fed5e3eaf5d07cd7df7b67e01fe051796d1b0ca290455009d  type-correctness.patch\n'
                ) ('c8fd8b2fdb25ebe639e7312d6dfd70d3320cd6d43357bb40e9361f05c9de7620  remove-werror.patch')
              )
            }
          spids: [223]
        )
      ]
      spids: [223]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec  20130607-ipfw3.tgz\n'
                ) 
                (
'e32f7bcff5b36b0405f678d3144472f8d7c76321a66a71b4515e266c35dc99378a358fd8f92eab748988e9c94fccb03f61a86acfa43b1a550a14c79a9f059715  no-sysctl.patch\n'
                ) 
                (
'653d9cc30cedf012cfda8835750b05123e208e61aad5692c6b1714708fbfdc5d04f89e2b7c7a99819cdb607703bdad4507a613bbca6e16f3a439877a320a5b16  type-correctness.patch\n'
                ) 
                (
'51a1092842c2a1f81c67de8893620ef52c62669141174539d39bb2d88c814327aa6b2900df4d5022aecdd0f9d50e552e9d989cea3bf58945ffcf2a946c9c12dc  remove-werror.patch'
                )
              )
            }
          spids: [231]
        )
      ]
      spids: [231]
    )
  ]
)