(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:{(hardened)})
                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) (-) (${ VSub_Name _kpkgrel) (-) (${ VSub_Name _flavor)}
          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: [159]
        )
      ]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {($ VSub_Name '$_kver')}
          spids: [168]
        )
      ]
      spids: [168]
    )
    (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: [172 179]
              )
            }
          spids: [171]
        )
      ]
      spids: [171]
    )
    (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: [181]
        )
      ]
      spids: [181]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: {(SQ <'x86 x86_64 armhf'>)}
          spids: [187]
        )
      ]
      spids: [187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(SQ <'https://www.wireguard.com'>)}
          spids: [192]
        )
      ]
      spids: [192]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPLv2))} spids:[197])]
      spids: [197]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ (linux-) (${ VSub_Name _flavor) ('=') (${ VSub_Name _kpkgver))}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ (linux-) (${ VSub_Name _flavor) ('-dev=') ($ VSub_Name '$_kpkgver') (' libmnl-dev'))
            }
          spids: [214]
        )
      ]
      spids: [214]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install_if)
          op: Equal
          rhs: 
            {
              (DQ ('wireguard-tools=') ($ VSub_Name '$_toolsver') (' linux-hardened=') 
                ($ VSub_Name '$_kpkgver')
              )
            }
          spids: [225]
        )
      ]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ('!check'))} spids:[233])]
      spids: [233]
    )
    (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: [238]
        )
      ]
      spids: [238]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:provides)
          op: Equal
          rhs: {(DQ (${ VSub_Name _name) ('-grsec=') (${ VSub_Name _kver) (-r) (${ VSub_Name pkgrel))}
          spids: [245]
        )
      ]
      spids: [245]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/WireGuard-) ($ VSub_Name '$_ver')}
          spids: [260]
        )
      ]
      spids: [260]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(make)} {(-C)} {(src/)} 
              {(Lit_VarLike 'KERNELDIR=') (/lib/modules/) (${ VSub_Name _abi_release) (/build)} {(module)}
            )
          ]
          spids: [272]
        )
      spids: [268 271]
    )
    (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:[326])]
              spids: [324]
            )
            (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: [339 367]
                )
              spids: [334 337]
            )
          ]
          spids: [312]
        )
      spids: [308 311]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'7ec5959becf96d214b0b6a0f2c638c986c7b330ce24c323a77f06a2ab853affb85c3cc6ab54d01ece525aef9bfd627bf4b69f21167ee86b16442659d202fcd77  WireGuard-0.0.20171011.tar.xz'
                )
              )
            }
          spids: [372]
        )
      ]
      spids: [372]
    )
  ]
)