(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {(SQ <xmlsec>)}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {(SQ <1.2.22>)}
          spids: [11]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<4>}
          spids: [16]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'Provides a C based implementation for XML Signature Syntax and Processing and XML Encryption Syntax and Processing.'
                >
              )
            }
          spids: [19]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://github.com/lsh123/'> (${ Id.VSub_Name pkgname) <'/'>)}
          spids: [24]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <MIT>)}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [47]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (${ Id.VSub_Name depends_dev) 
                <' libxml2-dev libxslt-dev libressl-dev autoconf automake libtool'>
              )
            }
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [57]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:options)
          op: assign_op.Equal
          rhs: {(DQ <libtool>)}
          spids: [59]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name pkgname) <'-dev '> (${ Id.VSub_Name pkgname) <-doc>)}
          spids: [64]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (${ Id.VSub_Name url) <'/archive/'> (${ Id.VSub_Name pkgname) <-> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: (suffix_op.PatSub pat:{<.>} replace:{<_>} replace_mode:Id.Lit_Slash)
                ) <'.tar.gz\n'> <'\tlibressl.patch'>
              )
            }
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (${ Id.VSub_Name srcdir) <'/'> (${ Id.VSub_Name pkgname) <-> (${ Id.VSub_Name pkgname) 
                <-> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: (suffix_op.PatSub pat:{<.>} replace:{<_>} replace_mode:Id.Lit_Slash)
                )
              )
            }
          spids: [98]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ (${ Id.VSub_Name builddir))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<default_prepare>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<'./autogen.sh'>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ (${ Id.VSub_Name builddir))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<'./configure'>} 
                  {<--build> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CBUILD'))} {<--host> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CHOST'))} 
                  {<--prefix> <Id.Lit_Equals '='> (SQ <'/usr'>)} {<--disable-static>} {<--enable-pkgconfig>} {<--with-openssl> <Id.Lit_Equals '='> <'/usr'>} 
                  {<--with-default-crypto> <Id.Lit_Equals '='> (SQ <openssl>)}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DPipe]
              children: [
                (C {<cd>} {(DQ (${ Id.VSub_Name builddir))})
                (C {<make>} {<-k>} {<check>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DPipe]
              children: [
                (C {<cd>} {(DQ (${ Id.VSub_Name builddir))})
                (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ (${ Id.VSub_Name pkgdir))} {<install>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DPipe]
              children: [
                (C {<install>} {<-m755>} {<-d>} 
                  {(DQ (${ Id.VSub_Name pkgdir) <'/usr/share/licenses/'> (${ Id.VSub_Name pkgname))}
                )
                (C {<install>} {<-m644>} {(SQ <COPYING>)} 
                  {
                    (DQ (${ Id.VSub_Name pkgdir) <'/usr/share/licenses/'> (${ Id.VSub_Name pkgname) 
                      <'/'>
                    )
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:md5sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'b0bdaeee4cb39bfe56f2d28bae17faa8  xmlsec-1_2_22.tar.gz\n'> 
                <'6fdbe893a933da04e8842a46df2e695f  libressl.patch'>
              )
            }
          spids: [356]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha256sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'f04da7bb6e20e9b9b7a39bb64cfad6836c665cfa6e14f6316fc24fcac6cbac06  xmlsec-1_2_22.tar.gz\n'
                > <'2dd03f3e3c9ea256012a1b000d82e774f1bcac5bb7adc6bcb86d9cfbf36bc2cb  libressl.patch'>
              )
            }
          spids: [362]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'f03b2dd9fdd9152e4a13466bf71018a2ef5290425019d7576a6f9e9e40bd30b9e6c1895a1ba65cc819dd56a86ea1c6c47142250c6e0695d5c02d4e0322bd8b67  xmlsec-1_2_22.tar.gz\n'
                > 
                <
'fabc3a3713bc3b7060ca607dbffc094edd31b8e25acefd26706635b38abadbdcc171a4abcb48f1c79876e548bc1370996d92ba718ebd898ce5d73522c2897a69  libressl.patch'
                >
              )
            }
          spids: [368]
        )
      ]
    )
  ]
)