PKGBUILDs/extra/thunderbird/PKGBUILD
2024-11-10 22:57:34 +00:00

365 lines
18 KiB
Bash

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes for ARM
# - disable rust lto for v7
highmem=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=128.4.2
pkgrel=1
pkgdesc='Standalone mail and news reader from mozilla.org'
url='https://www.thunderbird.net/'
arch=(x86_64)
license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only')
depends=(
glibc
gtk3 libgdk-3.so libgtk-3.so
mime-types
dbus libdbus-1.so
dbus-glib
alsa-lib
nss
hunspell
sqlite
ttf-font
libvpx libvpx.so
zlib
bzip2 libbz2.so
botan2
libwebp libwebp.so libwebpdemux.so
libevent
libjpeg-turbo
libffi libffi.so
nspr
gcc-libs
libx11
libxrender
libxfixes
libxext
libxcomposite
libxdamage
pango libpango-1.0.so
cairo
gdk-pixbuf2
freetype2 libfreetype.so
fontconfig libfontconfig.so
glib2 libglib-2.0.so
pixman libpixman-1.so
gnupg
json-c
libcanberra
ffmpeg
icu libicui18n.so libicuuc.so
)
makedepends=(
unzip zip diffutils python nasm mesa libpulse libice libsm
rust clang llvm cbindgen nodejs-lts-iron lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/source/thunderbird-${pkgver}esr.source.tar.xz{,.asc}
vendor-prefs.js
distribution.ini
mozconfig.cfg
metainfo.patch
org.mozilla.Thunderbird.desktop
thunderbird-system-icu-74.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
)
validpgpkeys=(
14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases <release@mozilla.com>
4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
)
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
prepare() {
cd $pkgname-$pkgver
echo "${noextract[@]}"
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
sed -e 's|73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|a88d6cc10ec1322b53a8f4c782b5133135ace0fdfcf03d1624b768788e17be0f|' \
-i third_party/rust/mp4parse/.cargo-checksum.json
sed -e 's|880c982df0843cbdff38b9f9c3829a2d863a224e4de2260c41c3ac69e9148ad4|239b3e4d20498f69ed5f94481ed932340bd58cb485b26c35b09517f249d20d11|' \
-i third_party/rust/bindgen/.cargo-checksum.json
# Make icon transparent
sed -i '/^<rect/d' comm/mail/branding/thunderbird/TB-symbolic.svg
printf "%s" "$_google_api_key" >google-api-key
printf "%s" "$_mozilla_api_key" >mozilla-api-key
cp ../mozconfig.cfg .mozconfig
sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
if [[ $CARCH == "armv7h" ]]; then
echo "ac_add_options --disable-elf-hack" >> .mozconfig
MAKEFLAGS="-j4"
# disable hard-coded LTO
sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk
sed -i '/RUSTFLAGS += -Cembed-bitcode=yes/d' config/makefiles/rust.mk
# increase codegen-units due to RAM constraints
sed -i 's/codegen-units=1/codegen-units=16/' config/makefiles/rust.mk
fi
echo 'ac_add_options --enable-optimize="-g0 -O2"' >> .mozconfig
echo "mk_add_options MOZ_MAKE_FLAGS=\"${MAKEFLAGS}\"" >> .mozconfig
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
#export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory"
export RUSTFLAGS="-Cdebuginfo=0"
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
}
build() {
cd $pkgname-$pkgver
if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
fi
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
# malloc_usable_size is used in various parts of the codebase
CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CFLAGS="${CFLAGS/-fexceptions/}"
CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CXXFLAGS="${CXXFLAGS/-fexceptions/}"
./mach configure
./mach build
./mach buildsymbols
}
package_thunderbird() {
optdepends=(
'hunspell-en_us: Spell checking, American English'
'libotr: OTR support for active one-to-one chats'
'libnotify: Notification integration'
)
cd $pkgname-$pkgver
DESTDIR="$pkgdir" ./mach install
install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
install -Dm 644 ../org.mozilla.Thunderbird.desktop -t "$pkgdir/usr/share/applications"
install -Dm 644 comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \
"$pkgdir/usr/share/metainfo/net.thunderbird.Thunderbird.appdata.xml"
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/org.mozilla.Thunderbird.png"
done
install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
# Use system-provided dictionaries
ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Install a wrapper to avoid confusion about binary path
install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
_package_i18n() {
pkgdesc="$2 language pack for Thunderbird"
depends=("thunderbird>=$pkgver")
install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
}
_languages=(
'af "Afrikaans"'
'ar "Arabic"'
'ast "Asturian"'
'be "Belarusian"'
'bg "Bulgarian"'
'br "Breton"'
'ca "Catalan"'
'cak "Kaqchikel"'
'cs "Czech"'
'cy "Welsh"'
'da "Danish"'
'de "German"'
'dsb "Lower Sorbian"'
'el "Greek"'
'en-GB "English (British)"'
'en-US "English (US)"'
'es-AR "Spanish (Argentina)"'
'es-ES "Spanish (Spain)"'
'et "Estonian"'
'eu "Basque"'
'fi "Finnish"'
'fr "French"'
'fy-NL "Frisian"'
'ga-IE "Irish"'
'gd "Gaelic (Scotland)"'
'gl "Galician"'
'he "Hebrew"'
'hr "Croatian"'
'hsb "Upper Sorbian"'
'hu "Hungarian"'
'hy-AM "Armenian"'
'id "Indonesian"'
'is "Icelandic"'
'it "Italian"'
'ja "Japanese"'
'ka "Georgian"'
'kab "Kabyle"'
'kk "Kazakh"'
'ko "Korean"'
'lt "Lithuanian"'
'ms "Malay"'
'nb-NO "Norwegian (Bokmål)"'
'nl "Dutch"'
'nn-NO "Norwegian (Nynorsk)"'
'pa-IN "Punjabi (India)"'
'pl "Polish"'
'pt-BR "Portuguese (Brazilian)"'
'pt-PT "Portuguese (Portugal)"'
'rm "Romansh"'
'ro "Romanian"'
'ru "Russian"'
'sk "Slovak"'
'sl "Slovenian"'
'sq "Albanian"'
'sr "Serbian"'
'sv-SE "Swedish"'
'th "Thai"'
'tr "Turkish"'
'uk "Ukrainian"'
'uz "Uzbek"'
'vi "Vietnamese"'
'zh-CN "Chinese (Simplified)"'
'zh-TW "Chinese (Traditional)"'
)
_url=https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/linux-x86_64/xpi
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=thunderbird-i18n-${_locale,,}
pkgname+=($_pkgname)
source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
eval "package_$_pkgname() {
_package_i18n $_lang
}"
done
# Don't extract languages
noextract=()
for _src in "${source[@]%%::*}"; do
case "$_src" in
*.xpi) noextract+=("$_src") ;;
esac
done
sha512sums=('4e37b77eb4652bc36585656bd3fe5416053f6a1a96ed1ca64c17d8d73031c746cb3832fd275d25f1283d20e18aa3e7b1df6d67864ced21b5f73042a42767cb45'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'4f09e6fbea7d3bf16ad347f61d625b185de3f9db79cbd3b9a76998b39496cb20e4ce5d637f43c2a16dcc7589d70e07ff71ff7dfd65a617fc2530c4f6c0ffd562'
'be07ae8e01ced8974d955d7e25719a4eb577bd4d0bc0160754c3aee23b35d56c878909f29827ec3688f399b5d0b972a6c97b53bd11e689406192ee675b73bf65'
'949996352b4432ccd64c43cd5bf03b4a618dbe2e82d3ececdff053bf83fdaf7fbc2d28be2c42283ea29a19dd0e458b3e045a9d88e71ebf66e0cf30eff83ff55f'
'32f61adaec97e5808bc4e0be0d576416fd19e808e3c7cb50e69dae99faaf0124076d81a5f4cf116ebc8eee62f8b6a47d7ae40b5a3f976e9e3ebb48294d81e109'
'6815668be24c3429ff3f399303e43b5355069c3766161445c1708429c856f00ef603ec2da1c57cb83b964725441ec6a72eb3a30da0cb36f1bcf400c900848c2a'
'aebd1f1635424fb43bd97afbaf0944d677f189291d5bbe9c81052d1082808de1a255fd9a2ef362fa2eb2e0f8db41d6463a756c1dae4d946896dd0954e406fdd2'
'715761a2ad3b9523f021ab329499369414e6456af0c6a15844b54be87be5b6351c03fce2e7714c700bb2d3cc9f1f238cd904e1b8b29a06776da08cf0c2aa312f'
'd1297fc132b0035ebc11270cda4cab2d197520da0df072fda1475d431a3673e44d8e9e36b7a0b59c121e7ee26978953908c456b189d3597d1ff5fccf4c291f44'
'110699446d3d08d185c311bfa498c32d0fcdc13aeb784390286ce4d05695bf6aa39749e65a50db3595b5ba9ea3b379426b52404f6be3550ae88abc9baa97b498'
'867ed6ffd3e23953b756b8a78cb78649414dcd98f9e3d590105b57fe08f77d591f05a8bcb1ce1ff5915eb694793cfdb4fa0d457da18af7f39c51b85073937377'
'aa32e002f46d9e3165c96725626e2e91b9b7e9af7c9fe820268e264d3591f95de67639b0f359559a6137b973839090516620a86ca4796fbc97fe82299fcdd948'
'f1c0c4c3aa556ca506d43dabe8f51b1375f3173df2b72b37cc00afee617d2033879112d9d2f752b75c4a02e0775c57919ca32c298ad4d09bac7c58326e09c849'
'fe891f9df0e2e2e125cc3213c1400380febd0b8294252e2e88ba1957df2133e94f87c16eddba4ace965f92d0f23cf5f745304b74d24fa11e8fa67e3db7fe37fb'
'ff8550f535664a37bc7d772eb208266bb0a4df5d16b6627bc7565be447da5a18283601b208c043149879f5c0d8b3fae59956bf963489682aa056377a6067a2c6'
'e8d110be96533810e8804b3df010aa6e5aff380247b1c048919492930506f4e4d63d17642fab38f5dba7d011bb16be8a520639ce1499795f89d6d4d30b172525'
'85a10ff048e4d9b80d2569794c9586ea5f32fa2c01dbc6dc234be6348fb18e2ce9d53023033f232a39f552a9a9173b5e2f96089fcc3956fbfbc5e5005e0dd658'
'c03e69244a27374b149f63498dfc6707b20536c8ae163a70f3fc7d56892680bc9766f2f071af0da703d071f98160bcaa4cf6d5617235df442f62c8d64035031b'
'4a1e2ffb4a78d3484b20281ffca49a8531cde57fea17d38a84dc51adab0203d3ecffdffd3badb1aab6da675ea7250f49f6d45cc03b65193a90fe717904fc270e'
'b2a3d6b28bcdb72d25a3efd6ce44420515c7dc503fd0cd43f123f04720ea3de5f7e70c2518705d95c167b7452d06673e127d80d334086967c28ffa36a0e56cae'
'0a42503d9e6b27001e2bcc27648231c80c3d1107883c4108a4ba0f0f3e51b083a0af72097d70fdf5c243c5eb5aaf522fad316316c4a1d5387d9a35b588a22889'
'3d3a2789dfca3c1c34d57b3e7bfe27ea80b8ad3727f23d5184b8daf2eb698d90d7a2721949e478aea37fac82dc7a7cd866c04c17541d6c10ed4031ba2f6d94e6'
'86fafb8728c08f31a3b1ee5860beedfb5e9124ef51fe8e95e9818a71246e1e69edabe096c20cd06f307ebeda1fb4fafd2dbc55ab841f7f9054995947363b1dec'
'aa19214c0df58cd13fd104089e94a0db80c24eae93c95c82b8ec317a6a9a7d79c3870d989a17d6828519e82564a5407371ea9df49c4b8d2845287c7e62f91c11'
'2f933afc8b9fc849992cceef63c579c49f1c459eeee4bc23b65d71d952de253edcd4f1803aad5d0d75cebf17696199b79d75b0c1eced1de92a86bebea3dda159'
'd90ec2ea866d76dc05a525b9e8f9d4275fa2d2b05de4147b4d1f9013558c9822e7b267d850e5e6d81b4fde5c3bffe8f1277a404a94ee4a50676e6acc52029ebf'
'3863f3b8cdb7c3c7294ae8eff8023f30b3bf6c0e37388974f76e6bc064744e19349603fc913cef52961f52cd4d9931faacce7faf5fe302c2709ad03d40bbfbda'
'939491b22a940f5e2fd39153e72b0e83ea43c0cb7725889fdc48033d493acf70b6155a840fec47c3524cde67d8de4b30b232f9f1a28db6cca7a590f8ddc1b95f'
'be2b4a036f25dff639f15c2cff69f7e850a17535844859df2f162736a016b3ed69e4d7353e8a49a534f6497300dd2c49bbb3239ac224a98e2dbfed3e26bc0c47'
'6d1356c6a0cb0c23b7b5fa74f9b4c3cf46ed9ce5d9162289972ce779cd43f16fd1f36a9bc1a0600a1b31ceaa6ac2d76b3e88e1bdb05aeb34794fdd764986ba2c'
'957095e9362ff2515379a6360b07ea7441f0b93c20f4fe6233c8a77546ed60317051ebbbe8f576f64709c164eb17942945ac33522ff7c9d4382a7f6c313d5143'
'f54ff11bed0d45914e8218ebc53047fe329c600b44bb5b4c7d61b2b26bb06607923593657c89f62fa750ca3d7cf2a27eb2661972e608172ccbee35477b719305'
'73bec7b629aba68333cafa26c45c21cca0ce34bee7b0343dc5b4bc3795ef519daaf1a098b9c249f702126236f98a93e3f871cae8d2b9d383bb4455ffcf462fb0'
'7c68d754b37dfb5f1eba2a2f0f1810ff1a0406de7f4fa935a38ac0d19147b75c224df30fc5d6fd737ae00b7ca20ffa1f7cb3fba7bcbf697141bf16d994c9309e'
'4d33d263d0da6c4a56b0d8f81ccdbaa92ace3ab9d73cefa83ac359c93476f03c3c3c076e21735931e44c928e1f6e55b49841816c27087e9ccc533952c367ebbb'
'9152b687fdb82c2aca1ab036b88dc388a99a3a3cb0185e67dfcea5a4a78aa06b1c0fa629b66298fcfc4d401af633928ae3b92c535688eb205ed1600b6d8aa863'
'c9ffbc6dfdf6100a1c5102ec6ebe08e12d9d01f2c5e282c8b0205dea69ffc62525066678ac7c41b218c18a651cba2aef5b8ace5c549295cddd1b336df65f8fdf'
'305f94752ae0c67a2957813c11b3d3fdd47ae85609042347932a6303cd9a49aaa9cbcde11fefbb8262e554f92220f741239cfc5fc48ac27012e147677acea88a'
'f9b01294fcc5638ab8e03b4d348b600152b4f51d98f46397a73c1a947579eeea4c3a68f15ec7f52f3b23242ab6b0059f645beb35712c2c2c55faccb3fea7dba9'
'204865d747185ffc84e2b35b9d8356d26923bdc396f935947c19b575fd114613f7c80efe84edb98e850b70ff1474e9580b9af6f5742489d8b5eec981b4b41b06'
'7509698b15020f2996012558fd339410e693bd324346bbc5f8a15171ec8e7fd64a174457e2e57df249dff51efbb4f352ab1b518268d31adae66b6b53d4a79a40'
'9f03d6e6beb93b128fbdf0305d67390e9471a2b4112b1631aff068b802ad5c10c93a52f561f10a801881cf693042ea9c5a4938adf5e2debe049fa4f2ff18de13'
'ad4a280982fa3ca4e6d5c8f6e8e3b2b5be3a79ad381939dcf13dce3efc733321c8589cb50008ef2926e4b5c4b9ab0b57c4e9e3916df5076f17eb52eb8ab2d117'
'50ad0810247ac56abd5f10639340ecd720670abfc7852d1b64642930af050681f776f3ddf8770315f824b406e303f0454eb6d86f78ad05bb38f8490f67d31a37'
'd418246e0ace6d179f99c230a472721e7e036dd216cbd50ada92237e5f7536568a477bc5035ac8a47b66b9de3c0b14ed9bd5387a08d20c0a13b234c0cef33b31'
'3d9a8a2a87d7cfa07dd408dc6b64caf9795c5b415a8fc6d3738446d2c84fe617666cd494448ebadbbcc7ab54227c8d50458a0edfdfd9eb529f8eb6286730ef7d'
'7c9bd1a101d0a0fc43724389460f70dbe5ca412d7b1dd1632cfd5dd9d153c56b4c1ebae79fcaf5f13dfc636776a53913afd2fa4ea7cb4af94c8a29a17224448c'
'c66f9ab29a3c8c5fe12e519c2aed2c559bc7363d78334c64c4fefba8d8c8ac6bcb3362db141d901fc1bf6c8269596b95462e826b1bccadd539859475bdd62377'
'f498bbe6f9eb7fc3ca3a2743957c1fef5520e8cb2726ce414f8a0a4ba05deec9f16ab14267776c1a24702137a1b1fca97d0ea64ea1089f177ceccaca38317134'
'6399493112623b57c66af7ea650d59ced89e5aa168cd3c82772a9611fa5057414539734770a3560636e8cd32562088c944b254b8814ec731cc66e6deb1eb9bef'
'9d023ba9044da706796f49ea3aafe3a968ed3e48a2c561c0a7bf04a3d6441e5479a5f78cf81bfebc06c0639d9b02dcaf72ce6842225ba03df52c06ef97522e58'
'4de96e8af3ef756b53a0610bed847080e5e201a6e402a931577c5661f5f085e3266a58c344a5b83ad7b4f62b054230973ef9e8b4b46936921bb09819f7003d16'
'6e5e5e58ea81daf223ce0ad9c7ba991cf99748d0e23f9ae3c814854ef2e349150b985af314b4e3261df654c4c2a8591c2f6a4875c0be169ea81181ea180f0e3c'
'63aa78fab3ad7b084d716611f2665d3db9fd7e2a0bd5384d4c2b6927a1534897e6f8e030cbccb7cf63c6c379a5400de37c866b4e98b4b0c8a2b5386f10a05ef5'
'4550eac785072bdadeee6fa86ccdf099fe097657062a26a36939907259f84f111f94bdd9c88f3dca59f85cd6cf8a441f2ae66c218d261ce24b7517753040f263'
'e58782d41c60d3e2958d414c756e97876304f46e772a5ac8f15c484551cbea70102438acca76187b79a65856af92e21de74ce692560d90a434f4e49355f98c1f'
'a0ba92a28eb0d62ce0771217c000526d5389dc61cb2e3ee1cfd5560d08ee6b3721fdc09456157991a5896890f38f8c75547f86c9919f74cdc4297a13792d1af8'
'6eb2c83ef8207fd258a9d60b957c0079f3756cb45364f506f8c45fc1346235dfc97199a9c346cd26beef712f7797540662989e87ac650972e850ded9df238d64'
'c575244ccfd486f136bac57b931fb8d611bf2d7ad50ebcd800f8ce46f9461ca600c19ff51862659d08fb2549c62a12955b58f8fb28735cfb19aab519b23b1ddc'
'c04e9a07721f60ade2f003512d75f78153ca68cbefbbe144063cd4cc7f78152b0d58a3b05a175ea20a2e9981ce6984acdd93886c95d597ad0b69dbf39bb9de4d'
'd67d44020d68486eb42c7ec53a0000c9cdc5e8a1b1ede37fdcc3f69f2fe022dcfe19dc28a31dcce0efc3772a4b56a364bba45f395750c85e3f03905c72707f23'
'c1779d683d4fb44657199d85f37b74fc3cb51d0ef4cffe6be1898b2f57d292b97e299adee187bc652fc6dcfdb826269197fec6fa7d24396c48c341682c0df0d4'
'5cd3c20d9f8767f4a7cb8df5ca3fe332aad07aff4402d73cf86c5603ef072e71f03b099289394184b871bcade9e1312671bcd8ac4faf30660a7eaf10843fe349'
'6c42350e250b96ee5196c401e25f58dbaa4f4e54003af9732b799704c943db2ed79730a12f34c44f0d384a50a57d0cc078bc3c73cc1f0fca526ecb3fb2c82605')
# vim:set sw=2 et: