(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(websocketd)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.2.10)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Full duplex messaging between web browsers and servers"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://websocketd.com/"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev") (" go go-tools"))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[49])]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!strip"))} spids:[59])]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://dev.alpinelinux.org/archive/") ($ VSub_Name "$pkgname") (/) 
                ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [64]
        )
      ]
      spids: [64]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_disturl)
          op: Equal
          rhs: {(DQ ("dev.alpinelinux.org:/archive/") ($ VSub_Name "$pkgname") (/))}
          spids: [76]
        )
      ]
      spids: [76]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_gourl)
          op: Equal
          rhs: {(DQ (github.com/joewalnes/websocketd))}
          spids: [83]
        )
      ]
      spids: [83]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir")) (/src/) ($ VSub_Name "$_gourl")}
          spids: [88]
        )
      ]
      spids: [88]
    )
    (FuncDef
      name: snapshot
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [(C {(abuild)} {(clean)}) (C {(abuild)} {(deps)})]
              op_id: Op_DAmp
            )
            (C {(export)} {(Lit_VarLike "GOPATH=") (DQ ($ VSub_Name "$srcdir"))})
            (C {(msg)} {(DQ ("Checking out v") (${ VSub_Name pkgver) (" tag"))})
            (AndOr
              children: [
                (C {(git)} {(clone)} {(-q)} {(--branch)} {(v) (${ VSub_Name pkgver)} 
                  {(https) (Lit_Other ":") (//) ($ VSub_Name "$_gourl")} {($ VSub_Name "$_builddir")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {($ VSub_Name "$_builddir")})
            (AndOr
              children: [
                (C {(go)} {(get)} {(-v)} {(-d)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name "$srcdir"))})
            (AndOr
              children: [
                (C {(tar)} {(zcf)} {($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (.tar.gz)} 
                  {(src)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(rsync)} {(--progress)} {(-La)} 
                  {($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (.tar.gz)} {($ VSub_Name "$_disturl")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(cd)} {($ VSub_Name "$startdir")}) (C {(abuild)} {(undeps)})]
              op_id: Op_DAmp
            )
          ]
          spids: [100]
        )
      spids: [96 99]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[250])]
              spids: [248]
            )
            (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: [279 281 305 -1]
                        )
                      ]
                      spids: [272 276 308]
                    )
                  ]
                  spids: [269 311]
                )
              spids: [265 267]
            )
          ]
          spids: [245]
        )
      spids: [241 244]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(export)} {(Lit_VarLike "GOPATH=") (DQ ($ VSub_Name "$srcdir"))})
            (AndOr
              children: [
                (C {(go)} {(fix)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(go)} {(build)} {(-v)} {(-ldflags)} {(DQ ("-X main.version ") ($ VSub_Name "$pkgver"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [320]
        )
      spids: [316 319]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(install)} {(-Dm)} {(0755)} {($ VSub_Name "$pkgname")} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) ($ VSub_Name "$pkgname")}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man8)})
            (AndOr
              children: [
                (SimpleCommand
                  words: [{(gzip)} {(-c)} {(release/websocketd.man)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man8/websocketd.man.gz)}
                      spids: [428]
                    )
                  ]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [381]
        )
      spids: [377 380]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("226b6f6125a6cf8d747ecd5fb619913a  websocketd-0.2.10.tar.gz"))}
          spids: [446]
        )
      ]
      spids: [446]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"cecaf94886021f305db659fc2919cd2226ece6e382fc8182fc214c9c24deadc3  websocketd-0.2.10.tar.gz"
                )
              )
            }
          spids: [451]
        )
      ]
      spids: [451]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"b02a5d4cc4e448571e370db0713ebab83c905beab5b38738aed812eefd4cd8bbe5f8454aa6d36e78295ebf1e995fba41b06fe1d78fb2e6d2eb1f31229bcdcc09  websocketd-0.2.10.tar.gz"
                )
              )
            }
          spids: [456]
        )
      ]
      spids: [456]
    )
  ]
)