(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ("5.1 5.2 5.3"))}
          spids: [3]
        )
      ]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-evdev)} spids:[8])]
      spids: [8]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_rockname) op:Equal rhs:{(evdev)} spids:[11])]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.2.1)} spids:[14])]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[17])]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Lua module for reading input events"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/Tangent128/lua-evdev"))}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ (linux-headers))}
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[49])]
      spids: [49]
    )
    (ForEach
      iter_name: _v
      iter_words: [{($ VSub_Name "$_luaversions")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:makedepends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$makedepends") (" lua") ($ VSub_Name "$_v") (-dev))}
                  spids: [65]
                )
              ]
              spids: [65]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_v") (-) 
                        (BracedVarSub
                          token: <VSub_Name pkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)})
                          spids: [80 84]
                        ) (":_package")
                      )
                    }
                  spids: [74]
                )
              ]
              spids: [74]
            )
          ]
          spids: [62 88]
        )
      spids: [58 60]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/Tangent128/") ($ VSub_Name "$pkgname") (/archive/evdev-) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [90]
        )
      ]
      spids: [90]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-evdev-) ($ VSub_Name "$pkgver"))
            }
          spids: [102]
        )
      ]
      spids: [102]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[131])]
                  spids: [129]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$builddir"))} 
                          {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [143 167]
                )
              spids: [139 141]
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[181])]
                  spids: [179]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name "$_luaversions")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ("Building for Lua ") ($ VSub_Name "$lver") (...))})
                    (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))})
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike "MYCFLAGS=") 
                            (DQ ($ VSub_Name "$CFLAGS") (" ") 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name "$lver")})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [221 228]
                              )
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [193 238]
                )
              spids: [189 191]
            )
          ]
          spids: [176]
        )
      spids: [172 175]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[247])
      spids: [243 246]
    )
    (FuncDef
      name: _package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 3)})
                              length: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [272 278]
                        )
                      )
                    }
                  spids: [270]
                )
              ]
              spids: [268]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (for Lua ") ($ VSub_Name "$lver") (")"))}
                  spids: [282]
                )
              ]
              spids: [282]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$depends") (" lua") ($ VSub_Name "$lver"))}
                  spids: [291]
                )
              ]
              spids: [291]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel") (" lua") ($ VSub_Name "$lver")
                      )
                    }
                  spids: [299]
                )
              ]
              spids: [299]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rockdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpkgdir") (/usr/lib/luarocks/rocks-) ($ VSub_Name "$lver") 
                        (/) ($ VSub_Name "$_rockname") (/) ($ VSub_Name "$pkgver") (-1)
                      )
                    }
                  spids: [313]
                )
              ]
              spids: [311]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:f) op:Equal spids:[339])]
                  spids: [337]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: f
              iter_words: [{(evdev.lua)} {(evdev/constants.lua)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(install)} {(-D)} {($ VSub_Name "$f")} 
                          {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/lua/) ($ VSub_Name "$lver") (/) 
                            ($ VSub_Name "$f")
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [353 377]
                )
              spids: [347 351]
            )
            (C {(install)} {(-D)} {(evdev/core.so)} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/lua/) ($ VSub_Name "$lver") (/evdev/core.so)}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$rockdir"))})
            (SimpleCommand
              words: [{(echo)} {(SQ <"rock_manifest = {}">)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$rockdir")) (/rock_manifest)}
                  spids: [410]
                )
              ]
            )
          ]
          spids: [265]
        )
      spids: [261 264]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("8db10a3079bda7acd20046e0793df678  lua-evdev-2.2.1.tar.gz"))}
          spids: [420]
        )
      ]
      spids: [420]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"8ccec638250a839e8567f55e5c61982396ec81f9e339dbf36ee809cb5375c0ae  lua-evdev-2.2.1.tar.gz"
                )
              )
            }
          spids: [425]
        )
      ]
      spids: [425]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"6d8bfb148013c780f7276c884e297b7d6ea55c0c257ac074c677b0dc6495a6087e0e1cb671d844b22d13c9a4c19c544d22a10f3ded5ad3580ccce33c74690871  lua-evdev-2.2.1.tar.gz"
                )
              )
            }
          spids: [430]
        )
      ]
      spids: [430]
    )
  ]
)