(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(uwsgi)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.0.15)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("uWSGI application container server"))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://projects.unbit.it/uwsgi/"))}
          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 (GPL2))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (mailcap))} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install)
          op: Equal
          rhs: {(DQ (uwsgi.pre-install))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (uwsgi))} spids:[51])]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (uwsgi))} spids:[56])]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ ("\n") ("\tattr-dev\n") ("\tcurl-dev\n") ("\tgeoip-dev\n") ("\tjansson-dev\n") 
                ("\tlibcap-dev\n") ("\tlinux-headers\n") ("\tlinux-pam-dev\n") ("\tlibxml2-dev\n") ("\tlibxslt-dev\n") ("\tlua5.2-dev\n") 
                ("\tpaxmark\n") ("\tpcre-dev\n") ("\tpostgresql-dev\n") ("\tpython\n") ("\tpython2-dev\n") ("\tpython3-dev\n") 
                ("\tzeromq-dev\n") ("\tzlib-dev\n") ("\t")
              )
            }
          spids: [61]
        )
      ]
      spids: [61]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://projects.unbit.it/downloads/uwsgi-") (${ VSub_Name pkgver) (".tar.gz\n") 
                ("\tuwsgi.initd\n") ("\tuwsgi.ini\n") ("\treadme.emperor\n") ("\talpine.buildconf\n") ("\tmusl-fix-python.patch\n") ("\t")
              )
            }
          spids: [85]
        )
      ]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))}
          spids: [100]
        )
      ]
      spids: [100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_plugins)
          op: Equal
          rhs: 
            {
              (DQ ("\n") ("\talarm_curl\n") ("\tcache\n") ("\tcarbon\n") ("\tcgi\n") 
                ("\tcheaper_backlog2\n") ("\tcheaper_busyness\n") ("\tcorerouter\n") ("\tcurl_cron\n") ("\tdumbloop\n") ("\tdummy\n") ("\techo\n") 
                ("\temperor_amqp\n") ("\temperor_pg\n") ("\temperor_zeromq\n") ("\tfastrouter\n") ("\tforkptyrouter\n") ("\tgeoip\n") 
                ("\tgevent\n") ("\tgraylog2\n") ("\thttp\n") ("\tlegion_cache_fetch\n") ("\tlogcrypto\n") ("\tlogfile\n") ("\tlogpipe\n") 
                ("\tlogsocket\n") ("\tlogzmq\n") ("\tlua\n") ("\tmsgpack\n") ("\tnagios\n") ("\tnotfound\n") ("\tpam\n") ("\tping\n") 
                ("\tpty\n") ("\tpython\n") ("\trawrouter\n") ("\tredislog\n") ("\trouter_basicauth\n") ("\trouter_cache\n") 
                ("\trouter_expires\n") ("\trouter_hash\n") ("\trouter_http\n") ("\trouter_memcached\n") ("\trouter_metrics\n") 
                ("\trouter_radius\n") ("\trouter_redirect\n") ("\trouter_redis\n") ("\trouter_rewrite\n") ("\trouter_static\n") 
                ("\trouter_uwsgi\n") ("\trpc\n") ("\trrdtool\n") ("\trsyslog\n") ("\tsignal\n") ("\tspooler\n") ("\tsslrouter\n") 
                ("\tstats_pusher_file\n") ("\tstats_pusher_socket\n") ("\tstats_pusher_statsd\n") ("\tsymcall\n") ("\tsyslog\n") 
                ("\ttransformation_chunked\n") ("\ttransformation_gzip\n") ("\ttransformation_offload\n") ("\ttransformation_template\n") 
                ("\ttransformation_tofile\n") ("\ttuntap\n") ("\tugreen\n") ("\twebdav\n") ("\txslt\n") ("\tzabbix\n") ("\tzergpool\n") ("\t")
              )
            }
          spids: [116]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_plugins3)
          op: Equal
          rhs: {(DQ ("gevent:gevent3 python:python3"))}
          spids: [199]
        )
      ]
      spids: [199]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[205])]
      spids: [205]
    )
    (ForEach
      iter_name: _p
      iter_words: [{($ VSub_Name "$_plugins")} {($ VSub_Name "$_plugins3")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$subpackages") (" uwsgi-") 
                        (BracedVarSub
                          token: <VSub_Name _p>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*:")})
                          spids: [227 231]
                        ) (":_plugin")
                      )
                    }
                  spids: [223]
                )
              ]
              spids: [223]
            )
          ]
          spids: [220 235]
        )
      spids: [214 218]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_desc_gevent)
          op: Equal
          rhs: {(DQ ("uWSGI plugin for gevent (Python 2)"))}
          spids: [238]
        )
      ]
      spids: [238]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_desc_gevent3)
          op: Equal
          rhs: {(DQ ("uWSGI plugin for gevent (Python 3)"))}
          spids: [243]
        )
      ]
      spids: [243]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_desc_python)
          op: Equal
          rhs: {(DQ ("uWSGI plugin for Python 2"))}
          spids: [248]
        )
      ]
      spids: [248]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_desc_python3)
          op: Equal
          rhs: {(DQ ("uWSGI plugin for Python 3"))}
          spids: [253]
        )
      ]
      spids: [253]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cp)} {(DQ ($ VSub_Name "$srcdir")) (/alpine.buildconf)} {(buildconf/alpine.ini)})
          ]
          spids: [264]
        )
      spids: [260 263]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(msg)} {(DQ ("Building core"))})
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(python2)} {(uwsgiconfig.py)} {(--build)} {(alpine)}]
                  more_env: [(env_pair name:CC val:{(DQ (gcc))} spids:[314])]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(export)} {(Lit_VarLike "UWSGICONFIG_LUAPC=") (DQ (lua5.2))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:item) op:Equal spids:[346])]
              spids: [344]
            )
            (ForEach
              iter_name: item
              iter_words: [{($ VSub_Name "$_plugins")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(_build)} {(python)} {(DQ ($ VSub_Name "$item"))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [358 376]
                )
              spids: [354 356]
            )
            (ForEach
              iter_name: item
              iter_words: [{($ VSub_Name "$_plugins3")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(_build)} {(python3)} {(DQ ($ VSub_Name "$item"))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [388 406]
                )
              spids: [384 386]
            )
          ]
          spids: [292]
        )
      spids: [288 291]
    )
    (FuncDef
      name: _build
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:python)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [420]
                )
              ]
              spids: [418]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:plugin)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(":*")})
                          spids: [430 434]
                        )
                      )
                    }
                  spids: [428]
                )
              ]
              spids: [426]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:myname)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*:")})
                          spids: [442 446]
                        )
                      )
                    }
                  spids: [440]
                )
              ]
              spids: [438]
            )
            (C {(msg)} 
              {
                (DQ ("Building ") ($ VSub_Name "$plugin") (" plugin (") ($ VSub_Name "$myname") (")"))
              }
            )
            (C {($ VSub_Name "$python")} {(uwsgiconfig.py)} {(--plugin)} 
              {(plugins/) ($ VSub_Name "$plugin")} {(alpine)} {($ VSub_Name "$myname")}
            )
          ]
          spids: [415]
        )
      spids: [411 414]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(install)} {(-m)} {(755)} {(-D)} {(uwsgi)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/uwsgi)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m)} {(644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/readme.emperor)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/etc/uwsgi/conf.d/readme.emperor)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m)} {(644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/uwsgi.ini)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/etc/uwsgi/uwsgi.ini)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m)} {(755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/uwsgi.initd)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/uwsgi)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(install)} {(-m)} {(775)} {(-d)} {(-o)} {(root)} {(-g)} {(uwsgi)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/var/log/uwsgi)}
            )
            (C {(paxmark)} {(-em)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/uwsgi)})
          ]
          spids: [482]
        )
      spids: [478 481]
    )
    (FuncDef
      name: _plugin
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Pound
                              arg_word: {($ VSub_Name "$pkgname") (-)}
                            )
                          spids: [649 654]
                        )
                      )
                    }
                  spids: [647]
                )
              ]
              spids: [645]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:desc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(eval)} 
                                  {
                                    (DQ ("echo ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                                      (_desc_) ($ VSub_Name "$name")
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [662 671]
                        )
                      )
                    }
                  spids: [660]
                )
              ]
              spids: [658]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name desc>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonHyphen
                              arg_word: {(DQ ("uWSGI plugin ") ($ VSub_Name "$name"))}
                            )
                          spids: [677 684]
                        )
                      )
                    }
                  spids: [675]
                )
              ]
              spids: [675]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (uwsgi))}
                  spids: [688]
                )
              ]
              spids: [688]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:requires)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(sed)}
                                      {(SQ <"$a print(\" \".join(REQUIRES))">)}
                                      {(plugins/) ($ VSub_Name "$name") (/uwsgiplugin.py)}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [719]
                                      )
                                    ]
                                  )
                                  (SimpleCommand
                                    words: [{(python3)}]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [726]
                                      )
                                    ]
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [706 728]
                      )
                    }
                  spids: [705]
                )
              ]
              spids: [703]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:req) op:Equal spids:[734])]
                  spids: [732]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: req
              iter_words: [{($ VSub_Name "$requires")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name "$_plugins"))})
                                    (C {(grep)} {(-qw)} {(DQ ($ VSub_Name "$req"))})
                                  ]
                                  negated: False
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:depends)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$depends") (" ") ($ VSub_Name "$pkgname") (-) 
                                        ($ VSub_Name "$req")
                                      )
                                    }
                                  spids: [771]
                                )
                              ]
                              spids: [771]
                            )
                          ]
                          spids: [-1 768]
                        )
                      ]
                      else_action: [
                        (C {(error)} 
                          {
                            (DQ ("There's no subpackage for requirement ") ($ VSub_Name "$req") ("!"))
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [781 798]
                    )
                  ]
                  spids: [746 801]
                )
              spids: [742 744]
            )
            (AndOr
              children: [
                (C {(install)} {(-m)} {(755)} {(-D)} {(${ VSub_Name name) (_plugin.so)} 
                  {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/uwsgi/) (${ VSub_Name name) (_plugin.so)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [642]
        )
      spids: [638 641]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"cb3ce7dc9eb9806151b04b04dc80ac7204cb4ddadf295eea98d5ebbf3a8c02f4b0bfb9a0490997c5edf427e39d3073a2d5b4fe7bd8ec458b30c0aab8e1da9bef  uwsgi-2.0.15.tar.gz\n"
                ) 
                (
"63137d45437e00deb970d66e2abddf7f235636b748f6cf545f54ff5557066c2a71db5c4a3bab2edceb4e65d3d7fac887f1f4c0e77658127e02b64d3026780b4c  uwsgi.initd\n"
                ) 
                (
"370202e143d0e041a2e36905346080d3ca592c9a74705a8c4e142a1307d22b921c10e673d683ca284ea27d184474ed86edd7723a6e590d35a562ad7cf6afa529  uwsgi.ini\n"
                ) 
                (
"2798c9d2e49e29292ffe6a5a29b866301c78d5f322fc5d07dfa9569efdaa5220237a5f6744652fbdd957be29311ddaff190541333f042cbf0e907dfa98ce3e2a  readme.emperor\n"
                ) 
                (
"f3cff00926929a5bb40afafb65fd5228582af35fbf524562282020c4c4ae9c659231b2381f4b3cceb18e8f3f6c888c21bdd8ed4ddcd81e92fbc6a0891800ce38  alpine.buildconf\n"
                ) 
                (
"de68b16b44e554a79c073c9befa10566796316dbf4c375b4d6b633d80b0282694cca233f0a70f3d6570584324f14276826bbeb8f38b550c00087a05f9ba9227f  musl-fix-python.patch"
                )
              )
            }
          spids: [838]
        )
      ]
      spids: [838]
    )
  ]
)