(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<syncthing>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<0.14.35>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Open Source Continuous File Synchronization'>)}
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://syncthing.net/'>)}
          spids: [26]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <'all !s390x !armhf !ppc64le'>)}
          spids: [31]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <MPLv2>)}
          spids: [36]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgusers)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
          spids: [41]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkggroups)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <go>)}
          spids: [51]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <.pre-install>)}
          spids: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-utils>)}
          spids: [62]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.gz::https://github.com/'> ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname') <'/archive/v'> 
                ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'.initd\n'> 
                <'\tonly-test-with-race-when-provided.patch\n'> <'\tenable-generic-build-on-s390x.patch\n'> <'\t'>
              )
            }
          spids: [69]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') <'/src/github.com/'> 
                ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname')
              )
            }
          spids: [90]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<mkdir>} {<-p>} 
              {
                (braced_var_sub
                  token: <Id.VSub_Name builddir>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VOp1_Percent '%'>
                      arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                    )
                )
              }
            )
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <-> 
                ($ Id.VSub_DollarName '$pkgver')
              } {(DQ ($ Id.VSub_DollarName '$builddir')) <'/'>}
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<default_prepare>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} {<Id.Lit_VarLike 'GOPATH='> (DQ ($ Id.VSub_DollarName '$srcdir'))})
            (C {<go>} {<run>} {<build.go>} {<-no-upgrade>} 
              {<-version> <Id.Lit_Equals '='> <v> ($ Id.VSub_DollarName '$pkgver')}
            )
          ]
        )
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} {<Id.Lit_VarLike 'GOPATH='> (DQ ($ Id.VSub_DollarName '$srcdir'))})
            (C {<go>} {<run>} {<build.go>} {<-no-upgrade>} {<test>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<install>} {<-d>} {<-o>} {($ Id.VSub_DollarName '$pkgname')} {<-g>} 
              {($ Id.VSub_DollarName '$pkgname')} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/lib/'> ($ Id.VSub_DollarName '$pkgname')}
            )
            (C {<install>} {<-D>} {<-m755>} 
              {($ Id.VSub_DollarName '$builddir') <'/bin/'> ($ Id.VSub_DollarName '$pkgname')} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> ($ Id.VSub_DollarName '$pkgname')}
            )
            (C {<install>} {<-D>} {<-m755>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <.initd>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/init.d/'> ($ Id.VSub_DollarName '$pkgname')}
            )
          ]
        )
    )
    (command.ShFunction
      name: utils
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Syncthing utilities'>)}
                  spids: [292]
                )
              ]
            )
            (command.ForEach
              iter_name: i
              iter_words: [
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<ls>} {($ Id.VSub_DollarName '$builddir') <'/bin'>})
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$i'))} 
                                          {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$pkgname'))} {<Id.Lit_RBracket ']'>}
                                        )
                                      ]
                                      negated: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<install>} {<-Dm>} {<755>} 
                              {($ Id.VSub_DollarName '$builddir') <'/bin/'> 
                                ($ Id.VSub_DollarName '$i')
                              } {($ Id.VSub_DollarName '$subpkgdir') <'/usr/bin/'> ($ Id.VSub_DollarName '$i')}
                            )
                          ]
                          spids: [315 334]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'2a3de76e7118be6e91b8bc6bc69b10e250755836b378fa762e0feaed280bb2206d2e4552f09fd230d51e246633108fd8cff343ac355742ebb1bd06c2145fe086  syncthing-0.14.35.tar.gz\n'
                > 
                <
'7fe49210180827c28f3ee9a1a95da3884dbef34de9bdc643f4455c9a056adba81f16c1c6ac059e83bee360aea091ace98b8a6f4c4b26a32c450f61f15206d3f5  syncthing.initd\n'
                > 
                <
'3fd2b699e07891ae16c67af56d516ba0fde13d5e5d067dd680fc59f9fc5b2f7c5f685b040841588cca6de1f7fb4b094572e5eb73dda8ab30d4b2994d3f526047  only-test-with-race-when-provided.patch\n'
                > 
                <
'5dec62fc0555e298a1be4aede02dde3b407e8d4adbddc5d82d6dcd2f761f3b3eed7b71de51ab08efd185b84c9706fdb9e26a1086474623eb52b344cc793cf876  enable-generic-build-on-s390x.patch'
                >
              )
            }
          spids: [360]
        )
      ]
    )
  ]
)