PKGBUILDs/extra/thunderbird/PKGBUILD
2024-09-20 22:45:52 +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.2.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=('6300f3f6d3a907e849a6acf06101d7441680a4eab965955887ac829886d4f2152e49a0ca97255e3cd9de579fea9ff5c03f75c70a361116a66c735face885ab89'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'b7fa16adc69576b42119dcf65c4e45e31e00e98987e260df7e728be4e9fad5db7e3ee7704a3893ee85ecabad9cfcd05d81f6e7dc6278764fc0ad80ac97c530b6'
'0faaca4ec5ba7867bbe4d3f57ec9cbbe66b1bdf7ebbe4dc5519a49aaba776eb0d1c4374c9b8136b416d61471805ca9dae7a2e5a12b6d3b7eedaf5d953fab2c95'
'a4b6a92b2bd2b2926e06ba8c43ec7803b5b3ff82ad240c6a90de65a25671f6dff686beb32f0f21f253564dd5403f2e225d1339989b43aa4d80bf3a9c6a3fbd90'
'3263422945063667f62824134f9b1aa0f4aae3780caba3306c0df60220f6aa2b0f1e666b58fed90e0c83a8b3d4e3ade2e0b4b9e719f0768ec07a2602380e683c'
'5fef536a4b59667343c0b480776d88b0d389eea2f75a78996d40659a3960b84e3aec498357da7e8df0b9b1457e4926d314d30fc97f7d838fce4f2fa65c872cbd'
'05a442876965d6f70654f27499bb89e4314369c2dbae34a3e3769c4b43ff25e6816993fcebf5ca65d0f81c27c6cbd8afc0d7c4ae59297d84fa677065582480a9'
'97e30e2ff485f83ba1612fb205d0542ee8c14307630985823f6dee5bab91a67fdc3d92da806d93efd57dd78487e8c6063ca0e2034f8126d22b1242c05ac560bf'
'70abfe9ddba026194866f7ee3580e749b0a6fcdc3d9a574b80c3007acbc37eecded23efc69f0db31e17166825509faec8cbf24479e3be8304aebfb3aa3f58abc'
'df01acbe01daa0100a300b57ed933ec31dd671c9b7ea7cb19fc76f07aeb010b7362b640312f511860d2285d057cb3da08091bf7a8f7574f72ef3310a9511a99b'
'9a822522fcc3a18193f3a5046f7a52dd3d467dc2855a9238f33473272aba4c6fbe59e5873c98a1d50b82ec10dd58285e5bcdeaf58b1040889b3b9e5d3094207c'
'8b470f007dfa79d11f3fa55cf6f36fbd4ccd0ad7dd436a53d9761d20a04e7e199555f04f765e6e9221e3079ecd96792b3cb1c51e826596aff147b6b728313be7'
'f1cbd3ec218d41eca12e8fcde90319ba3acc3d7ccdd0fd8d0d535daefef5e344428684b544cafe24d23d31cdd8e2397d44d03a65dbddb2d679decccda12e21bb'
'8c8aa85a43ab884069061eb09b9227a7604da7826ead0313d754aa6842f02f237f466e502c979d000fb69addc0a6bc8812a8d650bf90e002aff863dfb924cf59'
'7f0132917a7472a2351a7d6c508455a9783a1c947eaef910147e64ab98a812876b6bf7e1039e7c5f57a46153aadc2a31a67c004857e0ebcae288eb9726c5995b'
'2c39705e01179244373facd5de6c0122187d4e7d4476e8571bcadd2725d9a78431c19c53b091abfec0ab3e4b2b22aae868c95a3886e2bf4598cb00235a37613c'
'd613407d788bf48d93c32106eeef8c0f85025633378f8c4a91d30e61a05a483c0ca5b61b67732396d0a5225600fb9005a37f8067745c4eec5aab020972ca4ef4'
'dea206ebc27ac17f68cd11c488843109cb512e6bf4f40eabb076c9568517d3ab3d43e9a0335ff9497c00b2906c9f28840f05c85c9f3adce060b34ca132a37d7f'
'b75040158484dffeaae54b0bbe4f3943531e46ebe9e4bea2df8d57a824bfd163fdf4136ad8104847893e8dbd9ebfa86d6dc2a2dd5391d10652833030c9dd9253'
'8dec1a219b4ea2b4e186d8120129176defbc317830198e2211f1aa8cc89ef16987294e9444aa250748798eb748ce8e5cbaed209cdfbae4615b69b683b3d20b26'
'c52309755ba065f666c4f66c0fba2782c593a6a7d2c85c6ef072948914cbc820e7aa726418e4ba6e56310e7704c5dca127c04eabf4f02598edb70fc171520431'
'20c0d9f1d85e0ebfac38f1bd3d45e86fd9784d02fbea3b003f57acc85f0e1e5500ee4db7a065ef442679f5710bc5bc7e2dd55bc5b53d6e82fbd1a5e1ae9f328f'
'1d47991f193b992b133b391e1ef973ff6dc186c0e363d0ef1c83e288f56214384482c3562c4a45dcc375a23c43c75e9aca6702acab2201b93331d0b438213783'
'7ad1aa764b030b00b114fc6f0a16265de1fee327303fed96ab4adead7b7c14941c2f8ea4703d1ae8a1956969db3b54215dc44f579c053d9ae7f86f189e91e671'
'22d06a3ed77ec8346ce994d765bb7997015c66c63644cf7840b4efea64c60907a5c32a1d506d97be8350412ea1b9a7cedb6e9610140799a4fe963a3e85b91936'
'4e10a62b3275ecc5ba2eeb3f81b880da33e90363ccb84e6a19e0bcd4d950a6efb1714b9048d7a7abb73ed09306af7c9108dca28ac3267ffbf53f5c2cc516fa3f'
'e275162e37cd1d3f43c3e33af5bfefe42ca875c58f26a5478ccfc9be73575f5643b25107cb6569192cdcef460fbfa428811c1a2cdf43ca03ae7379f26ae8909b'
'e6b22bde8ce7470b88fb0ff3ba57ab3dfeecd616411cbccefd27106281c2e60a8337b69ebde2d286ebd1e84cba32fbd0b2c2dc4094ea9263294ed5f2571da26e'
'4bdf8cf2cace5f41c53b19c4b8aa2aca0532369fb1d777acbeb9fceb3b5a8e18934091d4ed3b358bf4d61345976e2c72124adc57fed8b73485a2cbca31ecb9aa'
'60e38453a6bcebab8ff3b58df8a771e92fb750260b0e9db21b0dd162b75b38694204d35fa50000a1bad57b9a52f583514c322b28385a205e903fe37dd6d22159'
'ae6775bc5fa417ada71054c4f09b50037bf5fada2e155dff71446256b3cedfe28cc66cf0280e78d399b9d988aeab296abec02e34946695cd789885cc231482bf'
'43a5299d8f6e28cd58bf633aabb62adebb7cc8f613a7a902cf03dcd7878d9cf6cca14bae5274facdac7850247105359fe1ce6a60eda4954166975483aa70f1e5'
'0df571d988ae5d36013d93f86cb5dc2942c8b04885288932fafd269216eb45a638261719532d9ab5640052c2f3af9ffb72235de99ae93697d4fc932867a69332'
'934375a444a0c97a9559d6e625bac69477e04129ed8b1ee084ce2be100e0422411a1b6cd439318c31e708720f3cc8d7e4fb57afb95489b91577bc4d2c3a92bd0'
'e912e81e16c6d594de1db3fa1e31f6a809d9b5cd630076d5c6346f956d4f4f7b40d8a12943c993a5181823aa0704a9c121c5b13a13cd74ab9322608ae6a3da70'
'b2082cbcdc4b7d888a7b2949d20e284048c56582aa365d47d505db2ab2951bb94ebdc48769ea7614d4cc856a1d326e0c28cb2d799e8fbfa9d107037197590c45'
'325ce0d81111f7adb5aea2ab2941629d21c041d3440398757d8d761cd7285a2c38e5e6d992859821d2869479b4146047f48e0c7ab9aa3cdd9f17e38e9d307002'
'177d4df8a2f0a09f7c48aba46fe7e07705467482ba82cf8b9031ace3375c24d70376fc3d067a6702999db3e093c78e08942f6d9e1f2226e5d32387fc3b744c75'
'94e132fa08c1dece0e3c2b47be24b063bb0f4155d4318534143ae4606fc409e5cd82034de6a93423726ca96a89969d94833551423ee02d041d644cb3507becbe'
'470fc5bfdc0d139d19a236cd1abaa72d9da2a3e87ed8c7bd2f23282217241d5611537033cd28e5938b8d19d64ba0d3d75b200d4073db747d60482c838fa9b63d'
'fca2e33a1fbe684efbd96b6f74b2d811c329fabc7ebff26fa9152b36bf316851e8390537d05255dee0e1c5e47ad2336036b76526573791d7ece6c127e2feb538'
'3e1807a9f3b0396ac79981f4104bba73d0b1357c8e8dedd67b06703144f419059c5c104a2d0030b16fce15aa55923e2f0efedcad5f080375a7713f362301a184'
'a6732fceea73299362855bd4fca683f0944b3955f9668aa369932ec8e8bb39cf1f8e8a011ee103c5f642e0e22310ee3a7b422d773b705bec04fe1f81fe71131b'
'fb978ad3fc6e70b117fac9aacb0377d7e488d8a8891ccebaae6fe845edb1c87bf05a6286a764343707bf44bbbb29b6b62cfaebc18d90308838eee3c5cfeeef91'
'd0d5f91c1d3563cf61f86bb0f58c9dd91ffa9809db112fa2114ed8b938c64cab76c14be04b94b794bd07e07b91755bb6e8cbd8efc089dab52bcb1d0720b1acce'
'a536b95560e84affb3d67173773a0b0a69053dcebe2abc9dc4c05469f7895fe31977a4bd3e3c22870d191882546e1168518c7444c1baf2153e7556b6f88815ca'
'8d008eb7b0723c6d8fea007a926e2b5b929d65fcac5c4009ec4cb7e7927af79eb5f5e62c14b4e0d9ce3b310a67155857c0c36649842b0ff259bfb9ea7dae43d4'
'5b9ccc6efffe4d096fe8a011ccf0ed0d75801ba6fbde7448d61d86c67445a81fde037332f962b7a8718f07f15c540ae11584911f007a335f37dd6c370a16b8bf'
'5d212f4ad1829206c99c269e440142274288470e997b362ffb8a2f22081858d44be8432ea2bedca5f6ca31c02bbd31e0559e8e562bfe83ac4b69eeaa23a4019d'
'44f8ab9bcf893ef4f6fbfa9c549b7c0dd84e87bb6c8c35fc8257a04b449c19e55c38a3d0e3321e938aaf29dd61d0636384390c8ec20b276755b0a83b70875bfa'
'affab7161952ef70aa8f6147e048b9209ab9996de1416e8c645726ceda9ec694a46a95e91fb4da3de7bef95ef9d7f9a2fb5c0e0cc1c20cf440b1b09e4eae8582'
'5fa1e5810cd442a8a95b29c4e1f6e0a5c447d4ac43ca8b3de3cd21aa3ff215e281a7c73ab85309b261274578b99f52b95e60abbda876f434adf91be3860ab2bf'
'028d4c99b393bcd245d02cd0e97c98dcc20bdd153a08afd623de06579d9ff71108997840a757c84c6abab322ed20cc5c87a5dc273823ddc6610d74f268b08241'
'c505cc60ea3fe60ef1a0a252e99ef3aec14eed535b181c2f2ba21e607a7c41ec7dd37f9afeae7d7ca2e7ed0486908ee019b7397c3eb1d1ab0ba69a2132950ef1'
'956daefdf678b71adb87fe64e8004382a47e2fcfbebc9552bb0c3d83871347fe77e13bc9dc1a4220c124357bb6121392b58168f12f178c88c0c40009218e6ba5'
'6813b47cb79ceed6f376238480488f3ef2c388775bcf2cebe77dba4b9af4cfa6205219a3850635eddc9f3a363df65f63435b42e6a3afebe33b1816bdb5b21c15'
'9f93d3180d2b64ab5dc6682a74a9a2d38acc0274733940e51a257a87903e0375093b25e3189673786473f1553047cdfededdf3728266cbb2dfaf52a2dfe6e76e'
'490ece4ddb5ed2155084ee3d2fe54a2d216f5622eb55088b399e92da55ff598836e787a1dffc638122f3c80de0c35214121bd84884d25c51a3b83b3288f77893'
'232e52755661a339650a76b701610cc136c7a7e5b11788afdf470e18ebd13a3befa7464ab073579bf7a7b7b340a82ceb9328df93e8995b2356c87a55b8110a1e'
'02072a6eeb9f03a71cae1f7ef4de4272aa677657b1cc8ed1c28badc713510c9d53c6029e3647817769fdd79caed735373263d0150c4c5ae6997479cd0291c64e'
'415f903c63ffc47a9d6463ac41a2b842164497377fe9ac225875b8f3babb3c798b988ee40b5cd609cc2559eee96c2b19d91e51d8df36381cbdd2a1ecf892ccbb'
'4cb791209a31f87a481085fe8925b470f51ae4ba357a415bbfb01f974bad4080c61edeaf3805c5544636376ccd85470e26e24c7477a1a6436944b4a2072fd28b'
'345bba000b277941423af0f3f47763208a565a408c99a6a8ff5619d3d5a91a8c5c18d867d667f6ecdc2f56dad4007ccd2f75cff113bb7eb294f3ee2d9b8d1def'
'0b650d6c00a0dc05119e20b4d072124c98e70f70a7b98f05644e344fe952b8992d9aa5ea0f320e0f13c3c80e07e8a23f3160e4443510c139ebeedf2eb7778d1f')
# vim:set sw=2 et: