[trunk] -> [testing] 'rust-1:1.64.0-1' add
packagesR/rust/pipeline/head This commit looks good
Details
packagesR/rust/pipeline/head This commit looks good
Details
parent
3609d23044
commit
79e8bce729
@ -0,0 +1,22 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
||||
Date: Thu, 6 May 2021 20:14:58 +0200
|
||||
Subject: [PATCH] bootstrap: Change libexec dir
|
||||
|
||||
---
|
||||
src/bootstrap/dist.rs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
|
||||
index 6291b204e485..d0a193a323a6 100644
|
||||
--- a/src/bootstrap/dist.rs
|
||||
+++ b/src/bootstrap/dist.rs
|
||||
@@ -977,7 +977,7 @@ fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
|
||||
for dirent in fs::read_dir(cargo.parent().unwrap()).expect("read_dir") {
|
||||
let dirent = dirent.expect("read dir entry");
|
||||
if dirent.file_name().to_str().expect("utf8").starts_with("cargo-credential-") {
|
||||
- tarball.add_file(&dirent.path(), "libexec", 0o755);
|
||||
+ tarball.add_file(&dirent.path(), "lib", 0o755);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,22 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
||||
Date: Thu, 6 May 2021 20:13:31 +0200
|
||||
Subject: [PATCH] cargo: Change libexec dir
|
||||
|
||||
---
|
||||
src/cargo/ops/registry/auth.rs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cargo/ops/registry/auth.rs b/src/cargo/ops/registry/auth.rs
|
||||
index 648e051e6dc2..a7b24e07e552 100644
|
||||
--- a/src/cargo/ops/registry/auth.rs
|
||||
+++ b/src/cargo/ops/registry/auth.rs
|
||||
@@ -224,7 +224,7 @@ fn sysroot_credential(
|
||||
.parent()
|
||||
.and_then(|p| p.parent())
|
||||
.ok_or_else(|| format_err!("expected cargo path {}", cargo.display()))?;
|
||||
- let exe = root.join("libexec").join(format!(
|
||||
+ let exe = root.join("lib").join(format!(
|
||||
"cargo-credential-{}{}",
|
||||
cred_name,
|
||||
std::env::consts::EXE_SUFFIX
|
@ -0,0 +1,84 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
||||
Date: Fri, 12 Mar 2021 17:31:56 +0100
|
||||
Subject: [PATCH] compiler: Change LLVM targets
|
||||
|
||||
- Change x86_64-unknown-linux-gnu to use x86_64-pc-linux-gnu
|
||||
- Change i686-unknown-linux-gnu to use i686-pc-linux-gnu
|
||||
|
||||
Reintroduce the aliasing that was removed in 1.52.0 and alias the -pc-
|
||||
triples to the -unknown- triples. This avoids defining proper -pc-
|
||||
targets, as things break when this is done:
|
||||
|
||||
- The crate ecosystem expects the -unknown- targets. Making -pc-
|
||||
rustc's host triple (and thus default target) would break various
|
||||
crates.
|
||||
- Firefox's build breaks when the host triple (from
|
||||
`rustc --version --verbose`) is different from the target triple
|
||||
(from `rustc --print target-list`) that best matches autoconf.
|
||||
---
|
||||
compiler/rustc_session/src/config.rs | 2 +-
|
||||
compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs | 2 +-
|
||||
compiler/rustc_target/src/spec/mod.rs | 9 +++++++++
|
||||
.../rustc_target/src/spec/x86_64_unknown_linux_gnu.rs | 2 +-
|
||||
4 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
|
||||
index 6a8298605a23..89272b760791 100644
|
||||
--- a/compiler/rustc_session/src/config.rs
|
||||
+++ b/compiler/rustc_session/src/config.rs
|
||||
@@ -1820,7 +1820,7 @@ pub fn parse_target_triple(
|
||||
early_error(error_format, &format!("target file {path:?} does not exist"))
|
||||
})
|
||||
}
|
||||
- Some(target) => TargetTriple::TargetTriple(target),
|
||||
+ Some(target) => TargetTriple::from_alias(target),
|
||||
_ => TargetTriple::from_triple(host_triple()),
|
||||
}
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
|
||||
index 765803d16928..75e6df9a8f3a 100644
|
||||
--- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
|
||||
+++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
|
||||
@@ -9,7 +9,7 @@ pub fn target() -> Target {
|
||||
base.stack_probes = StackProbeType::Call;
|
||||
|
||||
Target {
|
||||
- llvm_target: "i686-unknown-linux-gnu".into(),
|
||||
+ llvm_target: "i686-pc-linux-gnu".into(),
|
||||
pointer_width: 32,
|
||||
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
|
||||
f64:32:64-f80:32-n8:16:32-S128"
|
||||
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
|
||||
index f7abeafd38f1..815586e7105d 100644
|
||||
--- a/compiler/rustc_target/src/spec/mod.rs
|
||||
+++ b/compiler/rustc_target/src/spec/mod.rs
|
||||
@@ -2549,6 +2549,15 @@ pub fn from_path(path: &Path) -> Result<Self, io::Error> {
|
||||
Ok(TargetTriple::TargetJson { path_for_rustdoc: canonicalized_path, triple, contents })
|
||||
}
|
||||
|
||||
+ /// Creates a target triple from its alias
|
||||
+ pub fn from_alias(triple: String) -> Self {
|
||||
+ match triple.as_str() {
|
||||
+ "x86_64-pc-linux-gnu" => TargetTriple::from_triple("x86_64-unknown-linux-gnu"),
|
||||
+ "i686-pc-linux-gnu" => TargetTriple::from_triple("i686-unknown-linux-gnu"),
|
||||
+ _ => TargetTriple::TargetTriple(triple),
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/// Returns a string triple for this target.
|
||||
///
|
||||
/// If this target is a path, the file name (without extension) is returned.
|
||||
diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
|
||||
index 956be0353fa3..3f133efef343 100644
|
||||
--- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
|
||||
+++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
|
||||
@@ -15,7 +15,7 @@ pub fn target() -> Target {
|
||||
| SanitizerSet::THREAD;
|
||||
|
||||
Target {
|
||||
- llvm_target: "x86_64-unknown-linux-gnu".into(),
|
||||
+ llvm_target: "x86_64-pc-linux-gnu".into(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
.into(),
|
@ -0,0 +1,24 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
||||
Date: Sat, 6 Nov 2021 22:42:06 +0100
|
||||
Subject: [PATCH] compiler: Use wasm-ld for wasm targets
|
||||
|
||||
We don't ship rust-lld.
|
||||
---
|
||||
compiler/rustc_target/src/spec/wasm_base.rs | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||
index 9216d3e7b65f..75d038a42a69 100644
|
||||
--- a/compiler/rustc_target/src/spec/wasm_base.rs
|
||||
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
|
||||
@@ -89,8 +89,7 @@ macro_rules! args {
|
||||
// arguments just yet
|
||||
limit_rdylib_exports: false,
|
||||
|
||||
- // we use the LLD shipped with the Rust toolchain by default
|
||||
- linker: Some("rust-lld".into()),
|
||||
+ linker: Some("wasm-ld".into()),
|
||||
lld_flavor: LldFlavor::Wasm,
|
||||
linker_is_gnu: false,
|
||||
|
@ -0,0 +1,229 @@
|
||||
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
|
||||
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
# Contributor: Alexander F Rødseth <xyproto@archlinux.org>
|
||||
# Contributor: Daniel Micay <danielmicay@gmail.com>
|
||||
# Contributor: userwithuid <userwithuid@gmail.com>
|
||||
|
||||
pkgbase=rust
|
||||
pkgname=(rust lib32-rust-libs rust-musl rust-wasm rust-src)
|
||||
epoch=1
|
||||
pkgver=1.64.0
|
||||
pkgrel=1
|
||||
pkgdesc="Systems programming language focused on safety, speed and concurrency"
|
||||
url=https://www.rust-lang.org/
|
||||
arch=(x86_64)
|
||||
license=(MIT Apache)
|
||||
options=(!emptydirs !strip !lto)
|
||||
depends=(gcc-libs llvm-libs curl libssh2 gcc)
|
||||
makedepends=(rust llvm libffi lib32-gcc-libs perl python cmake musl ninja
|
||||
wasi-libc lld)
|
||||
checkdepends=(procps-ng gdb)
|
||||
source=(
|
||||
"https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc}
|
||||
0001-cargo-Change-libexec-dir.patch
|
||||
0001-bootstrap-Change-libexec-dir.patch
|
||||
0002-compiler-Change-LLVM-targets.patch
|
||||
0003-compiler-Use-wasm-ld-for-wasm-targets.patch
|
||||
remove-include-linux-fs.h.patch
|
||||
)
|
||||
sha256sums=('b3cd9f481e1a2901bf6f3808d30c69cc4ea80d93c4cc4e2ed52258b180381205'
|
||||
'SKIP'
|
||||
'c901a9bb036c29ca092f7dbc8b447efdd9aa1044a902a88f9d024cb22681dc19'
|
||||
'84ae2843d5ed83e9400e96d5f2d8cf3d1b89809bea76897c2762743460e06a87'
|
||||
'1986e62bd2826eacaadd681e294943d890d75f24fd1f54fbd4015c3c622ac097'
|
||||
'8fa64a2bdfb798184bde1c80d4775889a91d8b2ed076a6ea29ea99df9a2098cc'
|
||||
'34ed866e313e4580130a50118a4410d36fa0159123982521b6ef049439fc32ad')
|
||||
validpgpkeys=(108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE # Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org>
|
||||
474E22316ABF4785A88C6E8EA2C794A986419D8A) # Tom Stellard <tstellar@redhat.com>
|
||||
|
||||
prepare() {
|
||||
cd rustc-$pkgver-src
|
||||
|
||||
# Patch bootstrap and cargo so credential helpers
|
||||
# are in /usr/lib instead of /usr/libexec
|
||||
patch -d src/tools/cargo -Np1 < ../0001-cargo-Change-libexec-dir.patch
|
||||
patch -Np1 -i ../0001-bootstrap-Change-libexec-dir.patch
|
||||
|
||||
# Use our *-pc-linux-gnu targets, making LTO with clang simpler
|
||||
patch -Np1 -i ../0002-compiler-Change-LLVM-targets.patch
|
||||
|
||||
# Use our wasm-ld
|
||||
patch -Np1 -i ../0003-compiler-Use-wasm-ld-for-wasm-targets.patch
|
||||
|
||||
# https://github.com/llvm/llvm-project/issues/56421
|
||||
patch -Np1 -d src/llvm-project < ../remove-include-linux-fs.h.patch
|
||||
|
||||
cat >config.toml <<END
|
||||
changelog-seen = 2
|
||||
profile = "user"
|
||||
|
||||
[llvm]
|
||||
link-shared = true
|
||||
|
||||
[build]
|
||||
target = [
|
||||
"x86_64-unknown-linux-gnu",
|
||||
"i686-unknown-linux-gnu",
|
||||
"x86_64-unknown-linux-musl",
|
||||
"wasm32-unknown-unknown",
|
||||
"wasm32-wasi",
|
||||
]
|
||||
cargo = "/usr/bin/cargo"
|
||||
rustc = "/usr/bin/rustc"
|
||||
rustfmt = "/usr/bin/rustfmt"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src", "rust-demangler"]
|
||||
sanitizers = true
|
||||
profiler = true
|
||||
|
||||
# Generating docs fails with the wasm32-* targets
|
||||
docs = false
|
||||
|
||||
[install]
|
||||
prefix = "/usr"
|
||||
|
||||
[rust]
|
||||
debuginfo-level-std = 2
|
||||
channel = "stable"
|
||||
description = "Arch Linux $pkgbase $epoch:$pkgver-$pkgrel"
|
||||
rpath = false
|
||||
backtrace-on-ice = true
|
||||
remap-debuginfo = true
|
||||
jemalloc = true
|
||||
|
||||
# LLVM crashes when passing an object through ThinLTO twice. This is triggered
|
||||
# when using rust code in cross-language LTO if libstd was built using ThinLTO.
|
||||
# http://blog.llvm.org/2019/09/closing-gap-cross-language-lto-between.html
|
||||
# https://github.com/rust-lang/rust/issues/54872
|
||||
codegen-units-std = 1
|
||||
|
||||
# musl target produces warnings
|
||||
deny-warnings = false
|
||||
|
||||
[dist]
|
||||
compression-formats = ["gz"]
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
cc = "/usr/bin/gcc"
|
||||
cxx = "/usr/bin/g++"
|
||||
ar = "/usr/bin/gcc-ar"
|
||||
ranlib = "/usr/bin/gcc-ranlib"
|
||||
llvm-config = "/usr/bin/llvm-config"
|
||||
|
||||
[target.i686-unknown-linux-gnu]
|
||||
cc = "/usr/bin/gcc"
|
||||
cxx = "/usr/bin/g++"
|
||||
ar = "/usr/bin/gcc-ar"
|
||||
ranlib = "/usr/bin/gcc-ranlib"
|
||||
|
||||
[target.x86_64-unknown-linux-musl]
|
||||
sanitizers = false
|
||||
musl-root = "/usr/lib/musl"
|
||||
|
||||
[target.wasm32-unknown-unknown]
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
|
||||
[target.wasm32-wasi]
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
wasi-root = "/usr/share/wasi-sysroot"
|
||||
END
|
||||
}
|
||||
|
||||
_pick() {
|
||||
local p="$1" f d; shift
|
||||
for f; do
|
||||
d="$srcdir/$p/$f"
|
||||
mkdir -p "$(dirname "$d")"
|
||||
mv "$f" "$d"
|
||||
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
cd rustc-$pkgver-src
|
||||
|
||||
export RUST_BACKTRACE=1
|
||||
|
||||
DESTDIR="$srcdir/dest-rust" python ./x.py install -j "$(nproc)"
|
||||
|
||||
cd ../dest-rust
|
||||
|
||||
# delete unnecessary files, e.g. files only used for the uninstall script
|
||||
rm usr/lib/rustlib/{components,install.log,rust-installer-version,uninstall.sh}
|
||||
rm usr/lib/rustlib/manifest-*
|
||||
|
||||
# rustbuild always installs copies of the shared libraries to /usr/lib,
|
||||
# overwrite them with symlinks to the per-architecture versions
|
||||
mkdir -p usr/lib32
|
||||
ln -srft usr/lib usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/*.so
|
||||
ln -srft usr/lib32 usr/lib/rustlib/i686-unknown-linux-gnu/lib/*.so
|
||||
|
||||
mkdir -p usr/share/bash-completion
|
||||
mv etc/bash_completion.d usr/share/bash-completion/completions
|
||||
|
||||
mkdir -p usr/share/licenses/rust
|
||||
mv -t usr/share/licenses/rust usr/share/doc/rust/{COPYRIGHT,LICENSE*}
|
||||
|
||||
_pick dest-i686 usr/lib/rustlib/i686-unknown-linux-gnu usr/lib32
|
||||
_pick dest-musl usr/lib/rustlib/x86_64-unknown-linux-musl
|
||||
_pick dest-wasm usr/lib/rustlib/wasm32-*
|
||||
_pick dest-src usr/lib/rustlib/src
|
||||
}
|
||||
|
||||
package_rust() {
|
||||
optdepends=('lldb: rust-lldb script'
|
||||
'gdb: rust-gdb script')
|
||||
provides=(cargo rustfmt)
|
||||
conflicts=(cargo rustfmt 'rust-docs<1:1.56.1-3')
|
||||
replaces=(cargo rustfmt cargo-tree 'rust-docs<1:1.56.1-3')
|
||||
|
||||
cp -a dest-rust/* "$pkgdir"
|
||||
}
|
||||
|
||||
package_lib32-rust-libs() {
|
||||
pkgdesc="32-bit target and libraries for Rust"
|
||||
depends=(rust lib32-gcc-libs)
|
||||
provides=(lib32-rust)
|
||||
conflicts=(lib32-rust)
|
||||
replaces=(lib32-rust)
|
||||
|
||||
cp -a dest-i686/* "$pkgdir"
|
||||
|
||||
mkdir -p "$pkgdir/usr/share/licenses"
|
||||
ln -s rust "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
|
||||
package_rust-musl() {
|
||||
pkgdesc="Musl target for Rust"
|
||||
depends=(rust)
|
||||
|
||||
cp -a dest-musl/* "$pkgdir"
|
||||
|
||||
mkdir -p "$pkgdir/usr/share/licenses"
|
||||
ln -s rust "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
|
||||
package_rust-wasm() {
|
||||
pkgdesc="WebAssembly targets for Rust"
|
||||
depends=(rust lld)
|
||||
|
||||
cp -a dest-wasm/* "$pkgdir"
|
||||
|
||||
mkdir -p "$pkgdir/usr/share/licenses"
|
||||
ln -s rust "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
|
||||
package_rust-src() {
|
||||
pkgdesc="Source code for the Rust standard library"
|
||||
depends=(rust)
|
||||
|
||||
cp -a dest-src/* "$pkgdir"
|
||||
|
||||
mkdir -p "$pkgdir/usr/share/licenses"
|
||||
ln -s rust "$pkgdir/usr/share/licenses/$pkgname"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
@ -0,0 +1,85 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFJEwMkBEADlPACa2K7reD4x5zd8afKx75QYKmxqZwywRbgeICeD4bKiQoJZ
|
||||
dUjmn1LgrGaXuBMKXJQhyA34e/1YZel/8et+HPE5XpljBfNYXWbVocE1UMUTnFU9
|
||||
CKXa4AhJ33f7we2/QmNRMUifw5adPwGMg4D8cDKXk02NdnqQlmFByv0vSaArR5kn
|
||||
gZKnLY6o0zZ9Buyy761Im/ShXqv4ATUgYiFc48z33G4j+BDmn0ryGr1aFdP58tHp
|
||||
gjWtLZs0iWeFNRDYDje6ODyu/MjOyuAWb2pYDH47Xu7XedMZzenH2TLM9yt/hyOV
|
||||
xReDPhvoGkaO8xqHioJMoPQi1gBjuBeewmFyTSPS4deASukhCFOcTsw/enzJagiS
|
||||
ZAq6Imehduke+peAL1z4PuRmzDPO2LPhVS7CDXtuKAYqUV2YakTq8MZUempVhw5n
|
||||
LqVaJ5/XiyOcv405PnkT25eIVVVghxAgyz6bOU/UMjGQYlkUxI7YZ9tdreLlFyPR
|
||||
OUL30E8q/aCd4PGJV24yJ1uit+yS8xjyUiMKm4J7oMP2XdBN98TUfLGw7SKeAxyU
|
||||
92BHlxg7yyPfI4TglsCzoSgEIV6xoGOVRRCYlGzSjUfz0bCMCclhTQRBkegKcjB3
|
||||
sMTyG3SPZbjTlCqrFHy13e6hGl37Nhs8/MvXUysq2cluEISn5bivTKEeeQARAQAB
|
||||
tERSdXN0IExhbmd1YWdlIChUYWcgYW5kIFJlbGVhc2UgU2lnbmluZyBLZXkpIDxy
|
||||
dXN0LWtleUBydXN0LWxhbmcub3JnPokCOAQTAQIAIgUCUkTAyQIbAwYLCQgHAwIG
|
||||
FQgCCQoLBBYCAwECHgECF4AACgkQhauW5vob5f5fYQ//b1DWK1NSGx5nZ3zYZeHJ
|
||||
9mwGCftIaA2IRghAGrNf4Y8DaPqR+w1OdIegWn8kCoGfPfGAVW5XXJg+Oxk6QIaD
|
||||
2hJojBUrq1DALeCZVewzTVw6BN4DGuUexsc53a8DcY2Yk5WE3ll6UKq/YPiWiPNX
|
||||
9r8FE2MJwMABB6mWZLqJeg4RCrriBiCG26NZxGE7RTtPHyppoVxWKAFDiWyNdJ+3
|
||||
UnjldWrT9xFqjqfXWw9Bhz8/EoaGeSSbMIAQDkQQpp1SWpljpgqvctZlc5fHhsG6
|
||||
lmzW5RM4NG8OKvq3UrBihvgzwrIfoEDKpXbk3DXqaSs1o81NH5ftVWWbJp/ywM9Q
|
||||
uMC6n0YWiMZMQ1cFBy7tukpMkd+VPbPkiSwBhPkfZIzUAWd74nanN5SKBtcnymgJ
|
||||
+OJcxfZLiUkXRj0aUT1GLA9/7wnikhJI+RvwRfHBgrssXBKNPOfXGWajtIAmZc2t
|
||||
kR1E8zjBVLId7r5M8g52HKk+J+y5fVgJY91nxG0zf782JjtYuz9+knQd55JLFJCO
|
||||
hhbv3uRvhvkqgauHagR5X9vCMtcvqDseK7LXrRaOdOUDrK/Zg/abi5d+NIyZfEt/
|
||||
ObFsv3idAIe/zpU6xa1nYNe3+Ixlb6mlZm3WCWGxWe+GvNW/kq36jZ/v/8pYMyVO
|
||||
p/kJqnf9y4dbufuYBg+RLqC5Ag0EUkTAyQEQANxy2tTSeRspfrpBk9+ju+KZ3zc4
|
||||
umaIsEa5DxJ2zIKHywVAR67Um0K1YRG07/F5+tD9TIRkdx2pcmpjmSQzqdk3zqa9
|
||||
2Zzeijjz2RNyBY8qYmyE08IncjTsFFB8OnvdXcsAgjCFmI1BKnePxrABL/2k8X18
|
||||
aysPb0beWqQVsi5FsSpAHu6k1kaLKc+130x6Hf/YJAjeo+S7HeU5NeOz3zD+h5bA
|
||||
Q25qMiVHX3FwH7rFKZtFFog9Ogjzi0TkDKKxoeFKyADfIdteJWFjOlCI9KoIhfXq
|
||||
Et9JMnxApGqsJElJtfQjIdhMN4Lnep2WkudHAfwJ/412fe7wiW0rcBMvr/BlBGRY
|
||||
vM4sTgN058EwIuY9Qmc8RK4gbBf6GsfGNJjWozJ5XmXElmkQCAvbQFoAfi5TGfVb
|
||||
77QQrhrQlSpfIYrvfpvjYoqj618SbU6uBhzh758gLllmMB8LOhxWtq9eyn1rMWyR
|
||||
KL1fEkfvvMc78zP+Px6yDMa6UIez8jZXQ87Zou9EriLbzF4QfIYAqR9LUSMnLk6K
|
||||
o61tSFmFEDobC3tc1jkSg4zZe/wxskn96KOlmnxgMGO0vJ7ASrynoxEnQE8k3WwA
|
||||
+/YJDwboIR7zDwTy3Jw3mn1FgnH+c7Rb9h9geOzxKYINBFz5Hd0MKx7kZ1U6WobW
|
||||
KiYYxcCmoEeguSPHABEBAAGJAh8EGAECAAkFAlJEwMkCGwwACgkQhauW5vob5f7f
|
||||
FA//Ra+itJF4NsEyyhx4xYDOPq4uj0VWVjLdabDvFjQtbBLwIyh2bm8uO3AY4r/r
|
||||
rM5WWQ8oIXQ2vvXpAQO9g8iNlFez6OLzbfdSG80AG74pQqVVVyCQxD7FanB/KGge
|
||||
tAoOstFxaCAg4nxFlarMctFqOOXCFkylWl504JVIOvgbbbyj6I7qCUmbmqazBSMU
|
||||
K8c/Nz+FNu2Uf/lYWOeGogRSBgS0CVBcbmPUpnDHLxZWNXDWQOCxbhA1Uf58hcyu
|
||||
036kkiWHh2OGgJqlo2WIraPXx1cGw1Ey+U6exbtrZfE5kM9pZzRG7ZY83CXpYWMp
|
||||
kyVXNWmf9JcIWWBrXvJmMi0FDvtgg3Pt1tnoxqdilk6yhieFc8LqBn6CZgFUBk0t
|
||||
NSaWk3PsN0N6Ut8VXY6sai7MJ0Gih1gE1xadWj2zfZ9sLGyt2jZ6wK++U881YeXA
|
||||
ryaGKJ8sIs182hwQb4qN7eiUHzLtIh8oVBHo8Q4BJSat88E5/gOD6IQIpxc42iRL
|
||||
T+oNZw1hdwNyPOT1GMkkn86l3o7klwmQUWCPm6vl1aHp3omo+GHC63PpNFO5RncJ
|
||||
Ilo3aBKKmoE5lDSMGE8KFso5awTo9z9QnVPkRsk6qeBYit9xE3x3S+iwjcSg0nie
|
||||
aAkc0N00nc9V9jfPvt4z/5A5vjHh+NhFwH5h2vBJVPdsz6m5Ag0EVI9keAEQAL3R
|
||||
oVsHncJTmjHfBOV4JJsvCum4DuJDZ/rDdxauGcjMUWZaG338ZehnDqG1Yn/ys7zE
|
||||
aKYUmqyT+XP+M2IAQRTyxwlU1RsDlemQfWrESfZQCCmbnFScL0E7cBzy4xvtInQe
|
||||
UaFgJZ1BmxbzQrx+eBBdOTDv7RLnNVygRmMzmkDhxO1IGEu1+3ETIg/DxFE7VQY0
|
||||
It/Ywz+nHu1o4Hemc/GdKxu9hcYvcRVc/Xhueq/zcIM96l0m+CFbs0HMKCj8dgMe
|
||||
Ng6pbbDjNM+cV+5BgpRdIpE2l9W7ImpbLihqcZt47J6oWt/RDRVoKOzRxjhULVyV
|
||||
2VP9ESr48HnbvxcpvUAEDCQUhsGpur4EKHFJ9AmQ4zf91gWLrDc6QmlACn9o9ARU
|
||||
fOV5aFsZI9ni1MJEInJTP37stz/uDECRie4LTL4O6P4Dkto8ROM2wzZq5CiRNfnT
|
||||
PP7ARfxlCkpg+gpLYRlxGUvRn6EeYwDtiMQJUQPfpGHSvThUlgDEsDrpp4SQSmdA
|
||||
CB+rvaRqCawWKoXs0In/9wylGorRUupeqGC0I0/rh+f5mayFvORzwy/4KK4QIEV9
|
||||
aYTXTvSRl35MevfXU1Cumlaqle6SDkLr3ZnFQgJBqap0Y+Nmmz2HfO/pohsbtHPX
|
||||
92SN3dKqaoSBvzNGY5WT3CsqxDtik37kR3f9/DHpABEBAAGJBD4EGAECAAkFAlSP
|
||||
ZHgCGwICKQkQhauW5vob5f7BXSAEGQECAAYFAlSPZHgACgkQXLSpNHs7CdwemA/+
|
||||
KFoGuFqU0uKT9qblN4ugRyil5itmTRVffl4tm5OoWkW8uDnu7Ue3vzdzy+9NV8X2
|
||||
wRG835qjXijWP++AGuxgW6LB9nV5OWiKMCHOWnUjJQ6pNQMAgSN69QzkFXVF/q5f
|
||||
bkma9TgSbwjrVMyPzLSRwq7HsT3V02Qfr4cyq39QeILGy/NHW5z6LZnBy3BaVSd0
|
||||
lGjCEc3yfH5OaB79na4W86WCV5n4IT7cojFM+LdL6P46RgmEtWSG3/CDjnJl6BLR
|
||||
WqatRNBWLIMKMpn+YvOOL9TwuP1xbqWr1vZ66wksm53NIDcWhptpp0KEuzbU0/Dt
|
||||
OltBhcX8tOmO36LrSadX9rwckSETCVYklmpAHNxPml011YNDThtBidvsicw1vZwR
|
||||
HsXn+txlL6RAIRN+J/Rw3uOiJAqN9Qgedpx2q+E15t8MiTg/FXtB9SysnskFT/BH
|
||||
z0USNKJUY0btZBw3eXWzUnZf59D8VW1M/9JwznCHAx0c9wy/gRDiwt9w4RoXryJD
|
||||
VAwZg8rwByjldoiThUJhkCYvJ0R3xH3kPnPlGXDW49E9R8C2umRC3cYOL4U9dOQ1
|
||||
5hSlYydF5urFGCLIvodtE9q80uhpyt8L/5jj9tbwZWv6JLnfBquZSnCGqFZRfXlb
|
||||
Jphk9+CBQWwiZSRLZRzqQ4ffl4xyLuolx01PMaatkQbRaw/+JpgRNlurKQ0PsTrO
|
||||
8tztO/tpBBj/huc2DGkSwEWvkfWElS5RLDKdoMVs/j5CLYUJzZVikUJRm7m7b+OA
|
||||
P3W1nbDhuID+XV1CSBmGifQwpoPTys21stTIGLgznJrIfE5moFviOLqD/LrcYlsq
|
||||
CQg0yleu7SjOs//8dM3mC2FyLaE/dCZ8l2DCLhHw0+ynyRAvSK6aGCmZz6jMjmYF
|
||||
MXgiy7zESksMnVFMulIJJhR3eB0wx2GitibjY/ZhQ7tD3i0yy9ILR07dFz4pgkVM
|
||||
afxpVR7fmrMZ0t+yENd+9qzyAZs0ksxORoc2ze90SCx2jwEX/3K+m4I0hP2H/w5W
|
||||
gqdvuRLiqf+4BGW4zqWkLLlNIe/okt0r82SwHtDN0Ui1asmZTGj6sm8SXtwx+5cE
|
||||
38MttWqjDiibQOSthRVcETByRYM8KcjYSUCi4PoBc3NpDONkFbZm6XofR/f5mTcl
|
||||
2jDw6fIeVc4Hd1jBGajNzEqtneqqbdAkPQaLsuD2TMkQfTDJfE/IljwjrhDa9Mi+
|
||||
odtnMWq8vlwOZZ24/8/BNK5qXuCYL67O7AJB4ZQ6BT+g4z96iRLbupzu/XJyXkQF
|
||||
rOY/Ghegvn7fDrnt2KC9MpgeFBXzUp+k5rzUdF8jbCx5apVjA1sWXB9Kh3L+DUwF
|
||||
Mve696B5tlHyc1KxjHR6w9GRsh4=
|
||||
=5FXw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1,28 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFrqgT0BEAC7xo0WH+eNrLlU5LrCk59KmImn1abFcmWNd8kYr5XfqmJKyVqo
|
||||
EY7A/yRjf+Yn1621EDkpKPjbql7q7MlZMpqKVdOWKWgmhvz08IOKJxaIABd/iIRT
|
||||
FwhIvB68YjtmzcoOJRi1wLnwuG55fJ9E69HyZ33jgAlRaWV3bE/YyszoTlZriUOE
|
||||
RbzC5WzX004cE9evlrr+YLt5Y6z7tntOdSXPLyGOFAO5LYMsHsEdi2JBYWrjlslG
|
||||
6iJr5iEt9v442PrJ79YYbu5QWe/6APRWtI3AtKBp7y250oon2lbj+bIVD7U9fOBB
|
||||
n/Frqx54UN22sJycET63hgYW4pIjIi5zq+FF15aU+ZqBdtNltoX4hEN7wlDpuNc0
|
||||
ezVu2Z8hdt8thpjiFUioTQ1t3RmsN6N548VwxmHdoYpAmiZqPIYBYvm85JB7S/3h
|
||||
RLuoeGxufBhXGCpnG8ghTOGtbbdanuLB/UROFXTdyZbTCBN5S6jvwkPSaHG7H35Z
|
||||
3fazMriTXwL1RGAbKITSWhDe5dXy/yOInWe8emJx+35vwQYCB2L4S8wRyQyRw6x4
|
||||
YoXCscW041DUMBX2CC7SjMCcmAC39UX1c3GbTpS3rkJR9cmXt50nviMnKpIwlIPd
|
||||
ZYhmxKifwTJ70+c4GVK2o0MG9bTYvpYhLnYxv6iJCfgmT40E+qkDSzSoZwARAQAB
|
||||
tCJUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+iQI/BBMBAgApBQJa
|
||||
6oE9AhsDBQkB4TOABwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQoseUqYZB
|
||||
nYp8Gg//RmX6Nup/Dv05jTL7dKRBSD08MF400tRtTmRhIuAgGv27qO2hbqzprKVu
|
||||
vd20vKBB9CNZpXC2oY8k9VhGv2PZNi/X7iuULIYmzjeFMbJ5CjU6XvuUBmNasITH
|
||||
6K/0KLhGebPs5h/DNtd7lbzDm86dLcjxgl6LXUULaSyYvTAKn6YB6mAv5J3qJs2X
|
||||
lfTmenNh9p7TPFTfcMHcS70ywjqKXlDiH0q9bRKJnSX7xUFlTHjKkNnAcRjlPaGf
|
||||
wUUhIPrnpDboqfwfcmScLrHANW9nwFWSFkNAJu1HQUEuF+An/RZUHDxFbLPKKAIp
|
||||
hwZ0aORTfBVZ80AjehDMYCbmp1DJeTyLjC1/94un6mlxPIKnPPPM8rMxr83xnrvP
|
||||
+Y1+pJaDUL7ZvKnmt2LrGRa9GvsNiYKpCNCORfiwZTeSxxXb+LgaodnbCHvGBnk7
|
||||
nlbLdMY08vNlxSx8LNyG0krFxJw/rq260+73yc+qjENeG68fozTEy/4jSVrF4t3m
|
||||
8AAUu5r6i/Aomo7Q27TjU928bbCVunpvDpserfDqr3zsA96LO9k8T6THR6zC9i+R
|
||||
LiN9Vjl+Rr2YuU26DjFYkCNEA2kNflYCWPJi5I0eodTPZrIPBWJ+H0YTRX31bMH9
|
||||
X88FnWJuCwaqAMN3rWlX/lXNCouWDdCuPWseZApISAMnVDE2mM8=
|
||||
=tqFG
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
Loading…
Reference in new issue