(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<zoneminder>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<1.30.4>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_crud)
          op: assign_op.Equal
          rhs: {<c3976f1478c681b0bbc132ec3a3e82c3984eeed5>}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Video camera surveillance system'>)}
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://www.zoneminder.com/'>)}
          spids: [26]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <x86_64>)}
          spids: [31]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <'GPL2+'>)}
          spids: [36]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_php)
          op: assign_op.Equal
          rhs: {<php5>}
          spids: [41]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'ffmpeg perl perl-archive-zip perl-date-manip perl-dbd-mysql\n'> 
                <'         perl-dbi perl-device-serialport perl-libwww\n'> <'         perl-lwp-protocol-https perl-mailtools perl-mime-lite\n'> 
                <'         perl-mime-tools perl-php-serialization perl-sys-mmap\n'> <'         perl-time-hires '> ($ Id.VSub_DollarName '$_php') <' '> (${ Id.VSub_Name _php) <'-pdo_mysql '> 
                (${ Id.VSub_Name _php) <'-sockets procps sudo\n'> <'         zip'>
              )
            }
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'bash bzip2-dev cmake curl-dev ffmpeg-dev gnutls-dev libgcrypt-dev\n'> 
                <'             libjpeg-turbo-dev mariadb-dev pcre-dev perl-dev '> (${ Id.VSub_Name _php) <'-cli\n'> <'             polkit-dev vlc-dev x264-dev gzip'>
              )
            }
          spids: [64]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$pkgname') <-doc>}
          spids: [75]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <zoneminder-> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.gz::https://github.com/ZoneMinder/ZoneMinder/archive/'> (${ Id.VSub_Name pkgver) <'.tar.gz\n'> <'\tcrud-'> ($ Id.VSub_DollarName '$_crud') 
                <'.tar.gz::https://github.com/FriendsOfCake/crud/archive/'> ($ Id.VSub_DollarName '$_crud') <'.tar.gz\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'.initd\n'> 
                <'\tmusl-fix.patch'>
              )
            }
          spids: [79]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_builddir)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$srcdir') <'/ZoneMinder-'> ($ Id.VSub_DollarName '$pkgver')}
          spids: [122]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<i>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:i)
                  op: assign_op.Equal
                  rhs: {<'web/api/app/Plugin/Crud'>}
                  spids: [147]
                )
              ]
            )
            (C {<rmdir>} {($ Id.VSub_DollarName '$i')})
            (C {<ln>} {<-s>} 
              {($ Id.VSub_DollarName '$srcdir') <'/crud-'> ($ Id.VSub_DollarName '$_crud')} {($ Id.VSub_DollarName '$i')}
            )
            (command.ForEach
              iter_name: i
              iter_words: [{($ Id.VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.patch>}]
                          action: [
                            (command.Sentence
                              child: (C {<msg>} {($ Id.VSub_DollarName '$i')})
                              terminator: <Id.Op_Semi _>
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch>} {<-p1>} {<-i>} 
                                  {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> 
                                    ($ Id.VSub_DollarName '$i')
                                  }
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                            )
                          ]
                          spids: [187 189 213 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<'utils/zmeditconfigdata.sh'>} {<ZM_CHECK_FOR_UPDATES>} {<no>})
            (C {<'utils/zmeditconfigdata.sh'>} {<ZM_LOG_LEVEL_FILE>} {<0>})
            (C {<'utils/zmeditconfigdata.sh'>} {<ZM_LOG_LEVEL_SYSLOG>} {<-5>})
            (C {<'utils/zmeditconfigdata.sh'>} {<ZM_PATH_ZMS>} {<'/cgi-bin/zm/nph-zms'>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<cmake>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> <'/usr'>} 
                  {<-DZM_CGIDIR> <Id.Lit_Equals '='> <'/usr/share/webapps/'> 
                    ($ Id.VSub_DollarName '$pkgname') <'/cgi-bin'>
                  } {<-DZM_LOGDIR> <Id.Lit_Equals '='> <'/var/log/zoneminder'>} 
                  {<-DZM_RUNDIR> <Id.Lit_Equals '='> <'/var/run/zoneminder'>} {<-DZM_SOCKDIR> <Id.Lit_Equals '='> <'/var/run/zoneminder'>} 
                  {<-DZM_TMPDIR> <Id.Lit_Equals '='> <'/var/lib/zoneminder/temp'>} 
                  {<-DZM_WEBDIR> <Id.Lit_Equals '='> <'/usr/share/webapps/'> 
                    ($ Id.VSub_DollarName '$pkgname') <'/htdocs'>
                  } {<.>}
                )
                (C {<make>})
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))})
            (C {<local>} {<dir>})
            (C {<make>} {<install>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))})
            (C {<find>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))} {<-name>} {<perllocal.pod>} {<-delete>})
            (C {<install>} {<-D>} {<zmlinkcontent.sh>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/sbin/zmlinkcontent.sh'>}
            )
            (C {<install>} {<-D>} {<-m>} {<755>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$pkgname') <.initd>)} {(DQ ($ Id.VSub_DollarName '$pkgdir') <'/etc/init.d/'> ($ Id.VSub_DollarName '$pkgname'))}
            )
            (C {<chmod>} {<640>} {(DQ ($ Id.VSub_DollarName '$pkgdir') <'/etc/zm.conf'>)})
            (C {<install>} {<-g>} {<wheel>} {<-m>} {<2750>} {<-d>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/log/'> ($ Id.VSub_DollarName '$pkgname')}
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/www/localhost/htdocs'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/www/localhost/cgi-bin'>}
            )
            (C {<ln>} {<-sf>} {<'/usr/share/webapps/zoneminder/htdocs'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/www/localhost/htdocs/zm'>}
            )
            (C {<ln>} {<-sf>} {<'/usr/share/webapps/zoneminder/cgi-bin'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/var/www/localhost/cgi-bin/zm'>}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'8cc8cb693540765fc91298761d1f332a179f55e27a3a0b394624d36ef89d181bb47785cdbaf8bcea5cf04eb43ceb5e8575adc5bb424b598c0739b70188934981  zoneminder-1.30.4.tar.gz\n'
                > 
                <
'f665741a1fbcca5e48ab8eddaa4686b23426aed7b22d68fdfa6c951fb6ce7dbbcfce5f1807e30a18fbc8fd4e3a8028a5687db17a070d05301d93d49f67952e44  crud-c3976f1478c681b0bbc132ec3a3e82c3984eeed5.tar.gz\n'
                > 
                <
'ae02daacc41e2b32ca0da5cf407c05447a5ce8e0cf035421111856511dc1075da75d9da32f8f013940c631215a62f3133860b35225bda405230b94a6b097c865  zoneminder.initd\n'
                > 
                <
'34a18a6db3ebc5bfba0b40894e85112ad50d0caedf4e69f23ec98dedcba03fe223d5f3dc1ad3c76269b9cb48d60464e1674e0571a52d840f95c3adeac42d601f  musl-fix.patch'
                >
              )
            }
          spids: [484]
        )
      ]
    )
  ]
)