diff options
author | EuAndreh <eu@euandre.org> | 2023-03-29 07:43:28 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2023-03-29 09:03:33 -0300 |
commit | 08a26600584190fd3e740f51ccfcbb2263a48780 (patch) | |
tree | 15d4afa254764f0b20aa155f947b2a29bc5373ce | |
parent | .envrc: Do not "set -eu" so one can manually source it (diff) | |
download | package-repository-08a26600584190fd3e740f51ccfcbb2263a48780.tar.gz package-repository-08a26600584190fd3e740f51ccfcbb2263a48780.tar.xz |
Use abuild(1) to build ".apk" packages
-rw-r--r-- | .envrc | 2 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | paku.lock | 10 | ||||
-rw-r--r-- | src/alpine/git-permalink-0-1-0/APKBUILD | 31 | ||||
-rw-r--r-- | src/alpine/git-permalink-0-2-0/APKBUILD | 31 | ||||
-rw-r--r-- | src/alpine/guile-heredoc/APKBUILD | 31 | ||||
-rw-r--r-- | src/alpine/remembering-0-1-2/APKBUILD | 31 | ||||
-rw-r--r-- | src/alpine/td/APKBUILD | 31 | ||||
-rwxr-xr-x | src/bin/paku.in | 159 | ||||
-rw-r--r-- | src/secrets/eu@euandre.org.rsa.gpg | 69 | ||||
-rw-r--r-- | src/secrets/eu@euandre.org.rsa.pub | 14 |
12 files changed, 328 insertions, 91 deletions
@@ -1,3 +1,5 @@ #!/bin/sh export PATH="$PWD/src/bin:$PATH" +export PACKAGER_PRIVKEY="$PWD"/src/secrets/eu@euandre.org.rsa +export ABUILD_APK_INDEX_OPTS='--allow-untrusted' @@ -8,3 +8,4 @@ /.paku/ /public/ /src/bin/paku +/src/secrets/ @@ -92,7 +92,8 @@ alpine.sentinel: alpine.mk touch $@ alpine.mk: paku.lock - paku alpine > $@ + mkdir -p src/alpine + paku alpine src/alpine > $@ homebrew: Formula @@ -126,7 +127,8 @@ upload: public clean: src/bin/paku rm -rf "`paku -C datadir`" rm -rf \ - $(derived-assets) result* *.mk *.sentinel *.out.txt + $(derived-assets) result* *.mk *.sentinel *.out.txt \ + src/secrets/*.rsa check-shellcheck: @@ -165,9 +167,8 @@ check-debian-x86_64-deb: check-debian: check-debian-x86_64-deb -# FIXME: add -x check-alpine-x86_64-apk: - sh tests/vm-check.sh -H alpine-x86_64-headless -r $(HTTP-REMOTE) -t apk -- -k "`paku -C maintainer.email`" + sh tests/vm-check.sh -x -H alpine-x86_64-headless -r $(HTTP-REMOTE) -t apk -- -k "`paku -C maintainer.email`" check-alpine: check-alpine-x86_64-apk @@ -34,10 +34,12 @@ "native-inputs": [], "inputs": [], "version": "v0.1.0", + "date": "2021-06-13", "label": "0-1-0", "sha256": "252c98e349fed8df180ace540675b69a811ff56a9f06fa505eb475e047648a1f", "sha256guix": "07waci3y0xdlbr8gl1lzdbsiz0csnrshcm6f18cdzn7y97irhb15", "sha256nix": "1jb0rgcj5b4bkm5gds3l0dymf3gd644r2njmirs9345vf54if45y", + "sha512": "4d508704333c7c19432a5e021e561e5fe96175631230b09a672cfca984c55ee83dc55e82f4c29e7666db55997ddff59e54fc1d3c4cd72f78dc688fd1dd68a091", "url": "https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.1.0.tar.xz", "base-url": "https://euandre.org/s/git-permalink", "homepage": "https://euandre.org/s/git-permalink/", @@ -59,10 +61,12 @@ "native-inputs": [], "inputs": [], "version": "v0.2.0", + "date": "2021-06-19", "label": "0-2-0", "sha256": "9ea6562812f6127771bc2b86919ea63056fcc0f5c1e556875855c924ee8b1183", "sha256guix": "10qiigp29jamb23mdrf1yp0gqmihlsg931ibpiqpf4pn28l5d9ly", "sha256nix": "1bzx4gdfc87jfshaqifxpc3llp2j98wkzjjslzwbrqn59jzakxc9", + "sha512": "c75da25709b6b074812d34dfa5371a6dd53d31f1ce2828c594cf3c62bdd90b421d14f5733782fcaed178db830236eeb87a8ae2fb90e773270222ae64750625d0", "url": "https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.2.0.tar.xz", "base-url": "https://euandre.org/s/git-permalink", "homepage": "https://euandre.org/s/git-permalink/", @@ -84,10 +88,12 @@ "native-inputs": [], "inputs": [], "version": "v0.1.2", + "date": "2021-01-26", "label": "0-1-2", "sha256": "bbf0fd451d3de3b09a01cfbcc74482741463f9d8ac73ba6024e538c203b1dfeb", "sha256guix": "1syzn41w4f754ihblwxcv3wn653lh92cgg6g06db1qrx3m2zvw5v", "sha256nix": "1mrkyfcgz77hw7mpgqrnsaws9qng2awf8flslzf1s1gikk3zljns", + "sha512": "9611c50963e9db2a2732e07e64d4435ececff291bd2302ffca93fbe596144a97cb06b1f464385de19151841b44e0bf151cc92ce28eb01d836e3dfcca05170999", "url": "https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.xz", "base-url": "https://euandre.org/s/remembering", "homepage": "https://euandre.org/s/remembering/", @@ -109,10 +115,12 @@ "native-inputs": [], "inputs": [], "version": "4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8", + "date": "2022-03-27", "label": "latest", "sha256": "a25561ae8062788bfb79df2de5f26e5f1100638fbeabff934490cdf0a9dde105", "sha256guix": "01g1vnlz1kch8j9zzaxyixih04azdvrfabfzg7xqny32h2p62md2", "sha256nix": "1xqr2vc270jydk508pbkhcchmbg74w4bf83ch2d85nqja14r64n9", + "sha512": "59071e6fbe3a70a8c0b435a050f274f768e1476759e8645d960e5f1a12d88f9eab6765b3ecc7a2696a9205f454d6d3ae5a080d63b133b3574baeb48f048a1952", "url": "https://euandre.org/git/td/snapshot/td-4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8.tar.xz", "base-url": "https://euandre.org/s/td", "homepage": "https://euandre.org/s/td/", @@ -145,10 +153,12 @@ ], "type": "latest", "version": "065435cdce609604e33b879b9be3e81ab89f3e7b", + "date": "2022-11-16", "label": "latest", "sha256": "4d6e5171f36d48ab2341cc9e3346262f9ec7c9f0fd3d88ec6e204ef2160821f8", "sha256guix": "1y1110bg4ki0dvn8hggxy34wg7ig4r3377nc84isnj3dydqm2vjd", "sha256nix": "179qq17mgi4kakhj9w1dk26afljh5yad4j9ih9d8wms70x6h211m", + "sha512": "09071e6fbe3a70a8c0b435a050f274f768e1476759e8645d960e5f1a12d88f9eab6765b3ecc7a2696a9205f454d6d3ae5a080d63b133b3574baeb48f048a1952", "url": "https://euandre.org/git/guile-heredoc/snapshot/guile-heredoc-065435cdce609604e33b879b9be3e81ab89f3e7b.tar.xz", "base-url": "https://euandre.org/s/guile-heredoc", "homepage": "https://euandre.org/s/guile-heredoc/", diff --git a/src/alpine/git-permalink-0-1-0/APKBUILD b/src/alpine/git-permalink-0-1-0/APKBUILD new file mode 100644 index 0000000..a6a2191 --- /dev/null +++ b/src/alpine/git-permalink-0-1-0/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: EuAndreh <eu@euandre.org> +pkgname='git-permalink' +pkgver='v0.1.0' +pkgrel='0' +pkgdesc='Git extension to generate web permalinks of files in a repository' +url='https://euandre.org/s/git-permalink/' +arch='noarch' +license='AGPL-3.0-or-later' +depends='' +makedepends='' +checkdepends='' +install='' +subpackages='git-permalink-doc' +source='https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.1.0.tar.xz' +builddir="$srcdir/git-permalink-v0.1.0" + +build() { + make PREFIX=/usr +} + +check() { + make check +} + +package() { + make install DESTDIR="$pkgdir" PREFIX=/usr +} + +sha512sums=' +4d508704333c7c19432a5e021e561e5fe96175631230b09a672cfca984c55ee83dc55e82f4c29e7666db55997ddff59e54fc1d3c4cd72f78dc688fd1dd68a091 git-permalink-v0.1.0.tar.xz +' diff --git a/src/alpine/git-permalink-0-2-0/APKBUILD b/src/alpine/git-permalink-0-2-0/APKBUILD new file mode 100644 index 0000000..7779a1d --- /dev/null +++ b/src/alpine/git-permalink-0-2-0/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: EuAndreh <eu@euandre.org> +pkgname='git-permalink' +pkgver='v0.2.0' +pkgrel='0' +pkgdesc='Git extension to generate web permalinks of files in a repository' +url='https://euandre.org/s/git-permalink/' +arch='noarch' +license='AGPL-3.0-or-later' +depends='' +makedepends='' +checkdepends='' +install='' +subpackages='git-permalink-doc' +source='https://euandre.org/git/git-permalink/snapshot/git-permalink-v0.2.0.tar.xz' +builddir="$srcdir/git-permalink-v0.2.0" + +build() { + make PREFIX=/usr +} + +check() { + make check +} + +package() { + make install DESTDIR="$pkgdir" PREFIX=/usr +} + +sha512sums=' +c75da25709b6b074812d34dfa5371a6dd53d31f1ce2828c594cf3c62bdd90b421d14f5733782fcaed178db830236eeb87a8ae2fb90e773270222ae64750625d0 git-permalink-v0.2.0.tar.xz +' diff --git a/src/alpine/guile-heredoc/APKBUILD b/src/alpine/guile-heredoc/APKBUILD new file mode 100644 index 0000000..a276952 --- /dev/null +++ b/src/alpine/guile-heredoc/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: EuAndreh <eu@euandre.org> +pkgname='guile-heredoc' +pkgver='0.0.1_git20221116' +pkgrel='0' +pkgdesc='Guile heredoc syntax' +url='https://euandre.org/s/guile-heredoc/' +arch='noarch' +license='AGPL-3.0-or-later' +depends='' +makedepends='' +checkdepends='' +install='' +subpackages='guile-heredoc-doc' +source='https://euandre.org/git/guile-heredoc/snapshot/guile-heredoc-065435cdce609604e33b879b9be3e81ab89f3e7b.tar.xz' +builddir="$srcdir/guile-heredoc-065435cdce609604e33b879b9be3e81ab89f3e7b" + +build() { + make PREFIX=/usr +} + +check() { + make check +} + +package() { + make install DESTDIR="$pkgdir" PREFIX=/usr +} + +sha512sums=' +09071e6fbe3a70a8c0b435a050f274f768e1476759e8645d960e5f1a12d88f9eab6765b3ecc7a2696a9205f454d6d3ae5a080d63b133b3574baeb48f048a1952 guile-heredoc-065435cdce609604e33b879b9be3e81ab89f3e7b.tar.xz +' diff --git a/src/alpine/remembering-0-1-2/APKBUILD b/src/alpine/remembering-0-1-2/APKBUILD new file mode 100644 index 0000000..3295a98 --- /dev/null +++ b/src/alpine/remembering-0-1-2/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: EuAndreh <eu@euandre.org> +pkgname='remembering' +pkgver='v0.1.2' +pkgrel='0' +pkgdesc='Add memory to dmenu, fzf and similar tools' +url='https://euandre.org/s/remembering/' +arch='noarch' +license='AGPL-3.0-or-later' +depends='' +makedepends='' +checkdepends='' +install='' +subpackages='remembering-doc' +source='https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.xz' +builddir="$srcdir/remembering-v0.1.2" + +build() { + make PREFIX=/usr +} + +check() { + make check +} + +package() { + make install DESTDIR="$pkgdir" PREFIX=/usr +} + +sha512sums=' +9611c50963e9db2a2732e07e64d4435ececff291bd2302ffca93fbe596144a97cb06b1f464385de19151841b44e0bf151cc92ce28eb01d836e3dfcca05170999 remembering-v0.1.2.tar.xz +' diff --git a/src/alpine/td/APKBUILD b/src/alpine/td/APKBUILD new file mode 100644 index 0000000..3112b35 --- /dev/null +++ b/src/alpine/td/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: EuAndreh <eu@euandre.org> +pkgname='td' +pkgver='0.0.1_git20220327' +pkgrel='0' +pkgdesc='Minimalistic bug tracker CLI' +url='https://euandre.org/s/td/' +arch='noarch' +license='AGPL-3.0-or-later' +depends='' +makedepends='' +checkdepends='' +install='' +subpackages='td-doc' +source='https://euandre.org/git/td/snapshot/td-4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8.tar.xz' +builddir="$srcdir/td-4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8" + +build() { + make PREFIX=/usr +} + +check() { + make check +} + +package() { + make install DESTDIR="$pkgdir" PREFIX=/usr +} + +sha512sums=' +59071e6fbe3a70a8c0b435a050f274f768e1476759e8645d960e5f1a12d88f9eab6765b3ecc7a2696a9205f454d6d3ae5a080d63b133b3574baeb48f048a1952 td-4a8a7a2662c94b2581f587e9a4b81feba4f5e7d8.tar.xz +' diff --git a/src/bin/paku.in b/src/bin/paku.in index e7c43f3..b7b06d7 100755 --- a/src/bin/paku.in +++ b/src/bin/paku.in @@ -477,7 +477,7 @@ sub emit_debian() { \$(DIR)/debian/public-key.asc debian.out.txt debian.out.txt: - \@printf '\$(DIR)/debian/\\n' > \$\@ + \@printf '\$(DIR)/debian/*\\n' > \$\@ \$(DIR)/debian/Packages: \$(debs) @@ -501,79 +501,74 @@ sub emit_debian() { } sub emit_alpine() { + my $d = $ARGV[0] or die 'Missing "src/alpine/" directory'; my $json = load_json(); + for my $pkg (@{$json->{packages}}) { + my $date = $pkg->{date} =~ s/-//gr; + my $ver = $pkg->{label} eq 'latest' ? "0.0.1_git$date" : $pkg->{version}; + my $dir = "$d/$pkg->{name}" . ( + $pkg->{label} eq 'latest' ? '' : "-$pkg->{label}" + ); + mkdir "$dir"; + open(my $fh, '>', "$dir/APKBUILD"); + print $fh <<~EOF; + # Maintainer: $pkg->{maintainer} + pkgname='$pkg->{name}' + pkgver='$ver' + pkgrel='0' + pkgdesc='$pkg->{description}' + url='$pkg->{homepage}' + arch='noarch' + license='$pkg->{license}' + depends='' + makedepends='' + checkdepends='' + install='' + subpackages='$pkg->{name}-doc' + source='$pkg->{url}' + builddir="\$srcdir/$pkg->{name}-$pkg->{version}" + + build() { + make PREFIX=/usr + } + + check() { + make check + } + + package() { + make install DESTDIR="\$pkgdir" PREFIX=/usr + } + + sha512sums=' + $pkg->{sha512} $pkg->{fname} + ' + EOF + close $fh; + } my @apks = (); my @targets = (); for my $pkg (@{$json->{packages}}) { - push @targets, <<~EOF; - \$(DIR)/tarballs/$pkg->{fname}: - mkdir -p \$(\@D) - wget -O \$\@ \\ - '$pkg->{url}' - - \$(DIR)/checkouts/$pkg->{name}-$pkg->{version}: \$(DIR)/tarballs/$pkg->{fname} - mkdir -p \$(\@D) - tar -C \$(\@D) -xf \$(DIR)/tarballs/$pkg->{fname} - touch \$\@ - - EOF - - next if $pkg->{architectures} ne 'any'; + my $date = $pkg->{date} =~ s/-//gr; + my $ver = $pkg->{label} eq 'latest' ? "0.0.1_git$date" : $pkg->{version}; - my $deb_name = "$pkg->{name}_" . ( - $pkg->{label} eq 'latest' ? 'latest' : $pkg->{version} - ) . "_all.deb"; - my $deb_path = "\$(DIR)/debian/$deb_name"; - - push @apks, "\t$deb_path \\\n"; + my $recipe_dir = "src/alpine/$pkg->{name}" . ( + $pkg->{label} eq 'latest' ? '' : "-$pkg->{label}" + ) . '/'; + my $apk_name = "$pkg->{name}-$ver-r0.apk"; + my $apk_path = "\$(DIR)/alpine/REPODEST/alpine/x86_64/$apk_name"; - my $ver = $pkg->{label} eq 'latest' ? '0.' . $pkg->{version} . '.latest' : $pkg->{version}; - $ver =~ s/^v//; + push @apks, "\t$apk_path \\\n"; push @targets, <<~EOF; - \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}/DEBIAN: \$(DIR)/checkouts/$pkg->{name}-$pkg->{version} - \$(MAKE) \\ - -C \$(DIR)/checkouts/$pkg->{name}-$pkg->{version} \\ - install \\ - PREFIX=/usr \\ - DESTDIR="\$\$PWD"/\$(\@D) - mkdir -p \$\@ - touch \$\@ - - \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}/DEBIAN/control: \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}/DEBIAN - printf '' > \$\@ - printf 'Package: $pkg->{name}\\n' >> \$\@ - printf 'Version: $ver\\n' >> \$\@ - printf 'Section: custom\\n' >> \$\@ - printf 'Depends:\\n' >> \$\@ - printf 'Priority: optional\\n' >> \$\@ - printf 'Architecture: all\\n' >> \$\@ - printf 'Essential: no\\n' >> \$\@ - - printf 'Maintainer: ' >> \$\@ - printf '$pkg->{"maintainer-b64"}' | base64 -d >> \$\@ - printf '\\n' >> \$\@ - - printf 'Description: ' >> \$\@ - printf '$pkg->{"description-b64"}' | base64 -d >> \$\@ - printf '\\n' >> \$\@ - - printf '$pkg->{'long-description-b64'}' | \\ - base64 -d | \\ - sed 's|^\$\$|.|' | \\ - sed 's|^| |' >> \$\@ - printf '\\n' >> \$\@ - - \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}.deb: \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}/DEBIAN/control - dpkg-deb --build \$(DIR)/builddirs/$pkg->{name}-$pkg->{version} - - $deb_path: \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}.deb - mkdir -p \$(\@D) - cp \$(DIR)/builddirs/$pkg->{name}-$pkg->{version}.deb \$\@ - + $apk_path: $recipe_dir/APKBUILD + cd $recipe_dir && abuild \\ + -s \$\$OLDPWD/\$(DIR)/alpine/SRCDEST \\ + -P \$\$OLDPWD/\$(DIR)/alpine/REPODEST \\ + sanitycheck clean fetch verify unpack build check rootpkg index clean EOF } @@ -583,42 +578,32 @@ sub emit_alpine() { .POSIX: DIR = $json->{datadir} + RSAKEY = $json->{maintainer}{email} + apks = \\ EOF - # print @apks, "\n"; + print @apks, "\n"; print "\n\n"; print <<~EOF; - RSAKEY = '$json->{maintainer}{email}' - - - all: \$(DIR)/alpine/public/x86_64/APKINDEX.tar.gz \$(DIR)/alpine/public/\$(RSAKEY).rsa.pub - - public-dir: - \@printf '\$(DIR)/alpine/public' + all: \$(apks) \$(DIR)/alpine/REPODEST/alpine/\$(RSAKEY).rsa.pub alpine.out.txt + alpine.out.txt: + \@printf '\$(DIR)/alpine/REPODEST/alpine/*\\n' > \$\@ - \$(DIR)/alpine/x86_64/APKINDEX: \$(apks) - mkdir -p \$(\@D) # FIXME - touch \$\@ + \$(apks): src/secrets/\$(RSAKEY).rsa - \$(DIR)/alpine/x86_64/DESCRIPTION: \$(DIR)/alpine/x86_64/APKINDEX - echo xablau > \$\@ - - \$(DIR)/alpine/public/x86_64/APKINDEX.tar.gz: \$(DIR)/alpine/x86_64/APKINDEX \\ - \$(DIR)/alpine/x86_64/DESCRIPTION - mkdir -p \$(\@D) # FIXME - tar -C \$(DIR)/alpine/x86_64 -cvf \$\@ APKINDEX DESCRIPTION - - - \$(DIR)/alpine/public/\$(RSAKEY).rsa.pub: \$(apks) - mkdir -p \$(\@D) # FIXME - gpg --export-ssh-key \$(RSAKEY) | ssh-keygen -f/dev/stdin -e -m pem > \$\@ + \$(DIR)/alpine/REPODEST/alpine/\$(RSAKEY).rsa.pub: src/secrets/\$(RSAKEY).rsa + mkdir -p \$(\@D) + cp src/secrets/\$(RSAKEY).rsa.pub \$\@ + src/secrets/\$(RSAKEY).rsa: src/secrets/\$(RSAKEY).rsa.gpg + gpg -d -o \$\@ \$\@.gpg + chmod 400 \$\@ EOF - # print @targets; + print @targets; } sub pascal_case($s) { diff --git a/src/secrets/eu@euandre.org.rsa.gpg b/src/secrets/eu@euandre.org.rsa.gpg new file mode 100644 index 0000000..eac229e --- /dev/null +++ b/src/secrets/eu@euandre.org.rsa.gpg @@ -0,0 +1,69 @@ +-----BEGIN PGP MESSAGE----- + +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 +=LrOJ +-----END PGP MESSAGE----- diff --git a/src/secrets/eu@euandre.org.rsa.pub b/src/secrets/eu@euandre.org.rsa.pub new file mode 100644 index 0000000..8988ec8 --- /dev/null +++ b/src/secrets/eu@euandre.org.rsa.pub @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6GlUBiBFJj0oZcHf1h/F +fapiLpmfBE1W4D5AQ/7WlSSYhlof54iL4iQGTsS2plTNC6a6nSBNGMskO7mpg5Na +jgnOoAAgOXi5jOix3l3QCdBlImI9TVumyRMKyIOzjS4nnitdyZdovLkxuKXU9akV +fKHNR9yGeAfbY4SPS+SC9kTyQyBvljiO5NhUeN6tFyD+QidIFjty/uBX+xGhSRc2 +7Jh0+FsLe5etGYUGV3b1z9KjQBlBbhhgTOJuj3nGQtFau7mjkmdI0o3Ve87O2+Is +poPFbrVTJc8s5XKm5OmkJm/C//ZvUQE4zXPpwe8/VORwfqRxfWeQxjNOqZGK3I4I +bdR+eyo2pEDMTdNvImsucdCP9TGPgsoCFe4i8QAKn3zMns5TVwoFjVfkH0+MZdX5 +AnwZfp6JJNLcod1+jNIpiQXP1QRb5voboEjcB4HjEtT9N2l7URdDb/qMEe+k0w+y +hIjqzySBO1ty0MgD4SLAtMCS2ZSetQuIBGgdPmluvFhyKA/EgjAEvJi/Bujv0oou +zPOleJpp8CRnwCm3nuSKpIc1DYk75URWXAh7VK/Onxsf8kptuv2Ft3hGIy7NBSx3 +Sco0WYxLnCmRlu8sQs1XUfkyeUhOitLiq17+nFbm+yxAVjIGOOJVENYSSrrhqEAI +RS6IjDqkNRR7KOx4D2/TCjMCAwEAAQ== +-----END PUBLIC KEY----- |