(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_flavor)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name FLAVOR>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(vanilla)})
                spids: [8 12]
              )
            }
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkg)
          op: Equal
          rhs: {(linux-) ($ VSub_Name '$_flavor')}
          spids: [14]
        )
      ]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.9.54)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_ver) op:Equal rhs:{(0.0.20171011)} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(2)} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_toolsrel) op:Equal rhs:{(0)} spids:[37])]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_name) op:Equal rhs:{(wireguard)} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kapkbuild)
          op: Equal
          rhs: {(../../linux-) (${ VSub_Name _flavor) (/APKBUILD)}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$_kapkbuild')} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(.)} {($ VSub_Name '$_kapkbuild')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgname)
                  op: Equal
                  rhs: {($ VSub_Name '$_name') (-) ($ VSub_Name '$_flavor')}
                  spids: [73]
                )
              ]
              spids: [73]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_kver'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$pkgver'))} {(Lit_Other ']')}
                )
                (C {(die)} {(DQ ('please update _kver to ') ($ VSub_Name '$pkgver'))})
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_kpkgrel'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$pkgrel'))} {(Lit_Other ']')}
                )
                (C {(die)} {(DQ ('please update _kpkgrel to ') ($ VSub_Name '$pkgrel'))})
              ]
            )
          ]
          spids: [16777215 65]
        )
      ]
      spids: [16777215 128]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkgver)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$_kver') (-r) ($ VSub_Name '$_kpkgrel'))}
          spids: [131]
        )
      ]
      spids: [131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_toolsver)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$_ver') (-r) ($ VSub_Name '$toolsrel'))}
          spids: [138]
        )
      ]
      spids: [138]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_abi_release)
          op: Equal
          rhs: {(${ VSub_Name _kver)}
          spids: [145]
        )
      ]
      spids: [145]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(${ VSub_Name _name) (-) (${ VSub_Name _flavor)}
          spids: [151]
        )
      ]
      spids: [151]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {($ VSub_Name '$_kver')}
          spids: [160]
        )
      ]
      spids: [160]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgrel)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Plus
                    left: (ArithWord w:{($ VSub_Name '$_kpkgrel')})
                    right: (ArithWord w:{($ VSub_Name '$_mypkgrel')})
                  )
                spids: [164 171]
              )
            }
          spids: [163]
        )
      ]
      spids: [163]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ ('Next generation secure network tunnel: kernel modules for ') 
                ($ VSub_Name '$_flavor')
              )
            }
          spids: [173]
        )
      ]
      spids: [173]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(SQ <all>)} spids:[179])]
      spids: [179]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(SQ <'https://www.wireguard.com'>)}
          spids: [184]
        )
      ]
      spids: [184]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPLv2))} spids:[189])]
      spids: [189]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ (${ VSub_Name _kpkg) ('=') (${ VSub_Name _kpkgver))}
          spids: [194]
        )
      ]
      spids: [194]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ('linux-vanilla-dev=') ($ VSub_Name '$_kpkgver') (' libmnl-dev'))}
          spids: [205]
        )
      ]
      spids: [205]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install_if)
          op: Equal
          rhs: 
            {
              (DQ ('wireguard-tools=') ($ VSub_Name '$_toolsver') (' linux-vanilla=') 
                ($ VSub_Name '$_kpkgver')
              )
            }
          spids: [212]
        )
      ]
      spids: [212]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ('!check'))} spids:[220])]
      spids: [220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('https://git.zx2c4.com/WireGuard/snapshot/WireGuard-') ($ VSub_Name '$_ver') 
                (.tar.xz)
              )
            }
          spids: [225]
        )
      ]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/WireGuard-) ($ VSub_Name '$_ver')}
          spids: [232]
        )
      ]
      spids: [232]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(unset)} {(LDFLAGS)})
            (C {(make)} {(-C)} {(src/)} 
              {(Lit_VarLike 'KERNELDIR=') (/lib/modules/) (${ VSub_Name _abi_release) (/build)} {(module)}
            )
          ]
          spids: [244]
        )
      spids: [240 243]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir') (/src))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(EmptyPart)} spids:[303])]
              spids: [301]
            )
            (ForEach
              iter_name: module
              iter_words: [{(Lit_Other '*') (.ko)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(install)} {(-v)} {(-D)} {(-m644)} {(${ VSub_Name module)} 
                      {
                        (DQ ($ VSub_Name '$pkgdir') (/lib/modules/) ($ VSub_Name '$_abi_release') 
                          (/extra/) (${ VSub_Name module)
                        )
                      }
                    )
                  ]
                  spids: [316 344]
                )
              spids: [311 314]
            )
          ]
          spids: [289]
        )
      spids: [285 288]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'7ec5959becf96d214b0b6a0f2c638c986c7b330ce24c323a77f06a2ab853affb85c3cc6ab54d01ece525aef9bfd627bf4b69f21167ee86b16442659d202fcd77  WireGuard-0.0.20171011.tar.xz'
                )
              )
            }
          spids: [349]
        )
      ]
      spids: [349]
    )
  ]
)