PKGBUILDs/extra/thunderbird/PKGBUILD
2024-10-21 10:29:26 +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.3.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=('65d542554d775f5501208bdc85e38af4084e4c5b474a83e8f1a8595ce2873265ebcb833a0f134cac67dab82f0d0c7834745c44cdbe66d2251247eea5e4ad2723'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'b4ac5c55b637030fdefe3734591aeb8cf970c802164b2f49bd66f1f433bd72c584095303fe31bf026dfd252b27bbe1e64d60f43eb8ad83509cd5b475e893ba66'
'bd53c10c34cea0101c1b334730b2140376a7ee533068ab29b02cfbb9cbce5e8cc39018bbab6fbd9d4febbaf534b809cf1ef8cd6923ff4de30011b5d24a42f66a'
'6300cda9bc0f0870c777145cb174aca5fe8bea86d8e43d340cf7f3c53b8d87b6ac82e0d48b21a3353f1747017c1b97d2af29d579aff48ecd9df889ddc8993dfa'
'5e88493c75a938edb7d8529d1e6eb86081fe27172a7119ec6a773ae6a58ff81ad5a02020a14a54079b2f779180a289b0e7153c8c3b3300cb04b88a33bbc58431'
'544d06334a8a16548e81c4ba847552e77e42760230869ea2320714d9b8657b5f4b476b81c9fb04bcf5b02f820851817a91c919e43dbc1c0aa467e4f47cc7f9e9'
'ef67d2ed6c847621315c1c42462977a703b489bba1d3aafb07a1b3aeb207f03bf4a0a614d4d856fdeb43cafa088c1dc9bb8ee0cf6a46f7eb814423eab0ad4760'
'2837b313f6f9a69c2a3c3977f6d4d1fc21dfa1bfbdd655212f2d6d615cb20bb511b99d8455f0e0a10df3855554f79a8bc536be16a763836c90ac2d1e0eea83b1'
'd50dd6e73d3d84c7beeb043c887775dc9758576e85db4063a642af2a1689f3a468849c4ce66783ba5552dc6721ed5c157e8abe40f90ac838724d2790990b8b05'
'8ba021ed8cb88ee44b021c3fddf4d119760ebfc318408a7a651e5d5ec5ba7648a748bd344369ebebb194a5cb890045c6c49f1b12ecd424ee8117bbe6989c4a64'
'61cc8baf91cdb177525fadb9438f0f602d4497f365db2e1405db31f3c743b33eb5a16d4b2ab366e26cc582af8c1f2364d5d5dd60a2bff2a98d3997b9666610ca'
'905626c153b9ae430c8c001fb3ffd1029a0908655e124f241d50c0b393e7db255f17745bce7e7eabe0201552b24c1e23bd8770917003d3d870ac7bef75ea4ce8'
'894112e01b63d29b28d45cb17dda9e158afe27445c7cef0b7750a09a50768e9df7b33009323b8f6a7dac53f4f4772f08e18b0d7d852d9c39ea72d98f55f31006'
'468b0bc7a620e2287283d3f38dd1256c21eb9fa82ac3ce84ab0a0fbc6afc9af60c40cd4cf0278a6c8dd16a93a7841e0afe559e7eb22079142e3d399c42d1f411'
'f028a08b21eedce9d6d3a739d37dd074bdd625857b59d82da08b40a1637001ee92d97496e67c1501a715283ec9ec96652d350f491fd178eacd482c69a8fb5717'
'00877ba2edef6b33ea44a78faeae53f1f4d9007c9229bb19f7920e7831f143ce0fad2c80ae98a8a8189da3de227da5d6b1e30c885a5fdb80bb88359f08dfe1ee'
'c5da2100764a677a7c2060527eea9acd3ade0048b519ef22515e11ee18929a6bea5741d186fd9459a0f4bda7ef7815f8a57cd571653e97c3b7c7711026c2086d'
'1ab82b89b6e6a3e2cd7c293a112aad937e2ecc86881a8d0675b5c175ba0bc8ce81e2b6a56748da6814220e4513b85341f1b71387bf3deb0b3bc3ba2ed2f57cf4'
'e757fc0a2e5dc100128ee82ea464aab5d23e073274894df173f7ce53af67647b3b7c82d579791c3a39fa49d064dc3df832563e8cd228846ee1d02e4fb263238a'
'5b3c22d54c1f12a486bb3144d6eb01256e23c79e4e008379d26dca41c231d3b64828114f4605d6233439c8478d998b62b226b9329145aa2d6cf1cd5f6bcb2ae9'
'003a8b2686a5b959b091b97703ff8745b60de02c6bc2e627165d2691b69c1014e14d5b60edf179a376c6a285493f74e76a9eb24e9784194c9f065475d43466b7'
'36a404c29018cc02291fc9b19230835ef81ee9bbb242bea19233b13d5b6e9b30a9bc9f6b846fff85b7537a36c252d3db9289746a59bb0fb1b576a340e11222b0'
'3be0a138bbde4a768f24398df139538fd8eeb99beaee89f0472787c0632666ef8e9b00571049761238e7ecdd85ccdcbf727bd5031c7fd4b249dd7dda45840d04'
'6f0944657c4aea66e8411c05e109114b1757ac159f77246d310fcaf66b78f4e291c48adc278e689a199732804b378b8e5f20edf8ddecaab83d8a14fd21a7bcda'
'e16a788497b87932fe20673e71a35f43e570dcca4785495a1ac7204a399bc59874ff28969fe50f133c187e0e6c2230768f6ee2c724615d1df24284bc631ff16a'
'78e8d1e2799399837f86dedec3c10e721b447cca40b1b171cd68797f819e80f79360a0b697bbf10e3fb8ec05342a3f386a7a021360d80b2eb56ca0c9d7d271af'
'597386ab22fe8a426dfa5cc24eec3b68df59774897cbfe1e47515fa547811e6410e09319e855489001dd4b30b3f38b4525d40c3721e4d5c808dc6ec90f22f9dc'
'807196cfbfadbb47a317d4d03100da680d35521d57433d8a0ccd517b171ae207e9cc2234ee62d4acd630f382f5385499b9e057c83648a5be505a457c7c71c9cc'
'23d029926f2658d8c3ee3c26dd93f083fbf71abd3887013b2218677bfc0c80730d3852110edaa8eb2bc5dc6c01282beccb2ac5dbf326f4de2103de0ffcf7d3ac'
'124c53c20ea4035aaed2a582141a4d33a0b4c523a97ddc894d920509da09c4502fb8a12c2360d4a0d14256d2a5635cd0f69c0cfce6f406fd30e2972c6816077b'
'da390af147bb43b20bb0caa67e4e778dfaf858d9fd9c8266ca6bd1c357fc2ae96f7e4b74dd79c23ad6d7710bf10702ce25d40fd61791c9e43537e2ae82fd1ed8'
'9ca710afd75273119d5f0ebf6cb25ad00a43d7647b7678db082427b370aa706bd425a41ce4eb011cb023bca29ccb57ca7e3b8af2e1399730fe89bf3e3f0e4078'
'5c9b5821e4db384c438fc12b9c44c6700d9c59fe761938536502b6e1d35e91582db146291609fbeb9493ac88e9f716e0267e982ec8e036c86121e539c1156537'
'ba3eb835da7dc776e3ee954c0a3e74b34e9c0a4199ca5e917b7ebe52f9665b00dbcab77fb450c5cc00bf71d9022244de76c61d05b54b5315dd1513a81ea525b7'
'e412e64e147206bc519fc99ba9d3971bb03fde410aebf949a50a07d672e8fd08199af7e99cb391b411db249aaf35dca079bad9d99d14e5aa40a86f4d363d3733'
'ea85b34fbc5ac29463199e5db22fe14f4f01272579aa80a8acd6a5e21cb1efa836b268a927fd14e276e4d2d21f43677cb5bbf700e0af44122a7b684783cb75c1'
'a21ebee48dd5fb7442f9a85f4f410b1a8d65a7a31650dc98efa37f4c4bca74bd14d1a0e0e5a6bcc339e25b0255250a4ad63039fa27ccf103b8690f5af019ddf2'
'82e7d23c984c4223afa6a5a82cc929b8b577abaae0aea4081dc5d60cb8873d829ffe6341a3dea9f4da9cd048fbd79575b19fc7263c2f12d3cee9da2482fba10b'
'78767f7ae15d203c0f2bca03311025e6a94d5b9ccb1e64ddbeef575560dc80a0a5477374659db4b50f10d88e5ca7b90c10970d2fa6b91d8b38bef5cc71a16926'
'27342881323dfcb40f3d8b095dd8813e61d4e50aa025f882e46688e306c9ecd5bd0f72ce16fcac0f30076f12d72609e54c0c85f8376e7babfad128c624665f83'
'fc124e92d8a8f9252cd2d31a2f11216f3a1233f01b58c90bc36ccc82adf9479f311e60fb7e2c146b14dd3b140cda392570be38f2f53c7790b1c506893abd5640'
'da33ed626ea3b6f8a8e5e696501bad28f4c5d977e564d3deba009cc9c47350a64428629f43593e5af38b5418dcf48df57a85da59254f8a26ff26724517b6ca61'
'd28b222ceed1c19d3baa9945f8aca882a4f531f9aee109f5889e772928a5302822c928ab036e478b471a6b8c54cb0b06c8e67322d343fe90d6deaee92060a53e'
'68e7044dd0a76cc396e52a9e17abe7fcb8f31b85de202592f25ebad62720bc6ddebfbff3fa9d181c3fb45567877a0e0d86fa0809b77f6f3a1368d8b264924280'
'fb16063026ef4d4112d309ee542fbe725bf04a68df2b8140e5ecde9db56d45a2c03c25acb17fa1f0cdb4663e54317dcacc6dd0d88a4a582eb94c9f60f315dad8'
'71e17f4f7702a0ef19efdcc260f162a18edfd3c02e077b2339033ecbf8a0dbe6fcc5343f2c1885a3d600a1ff06769ea61d4173b86e3aae61788bedbe98f5b1ab'
'b0e8cf1c8cf024f66356b7041022e8dee990293a0da88acfdd4f4ccd917e3365a9b1896bcc1a20d8221160207eac4494da7b0c97775dd4999c05e6ff3d7dd65d'
'87f8be2005caf6303e7bd3650599fd142b916eb17b4e35676bc64b782e1ba428c4378d3bc68da5d063bc6941dc2909d475e6e19848f67869bd46deb2aeb0d0e0'
'4ad59cd9b1b4310af422b7c80ac6d1ff867da75722a3bf6115b18a23552aafcb9311366a0ba44adff7eddbe411d77e3a6ebcefdc6b1c7c0df5b5f1dc6437bbae'
'c274ad442fc5046fe4f1fff9ec773020ffaed0c38f30c63677c6d7bd5425e67ae90cb9da7af2c0d3983b190a248b74588e0da17c18c95d34f0d12ceddca9bf31'
'f2356fbfccd6dfa1323d61bbd2d0193f0e752a9ba4d9580481039b161788ebfd73c3326a17ff93cdedb95b5ba97ff49006a2a30fa3d8b963829f0b9729e2ea70'
'7d67132802c01485537efe2b7ad247af8d8a1ca7f0844222761fc597dfa74278b1532bc048d5a4e394c6154766cba2363a2fa70aeea788d8b1e4b3e182c02943'
'cb72bb7d4faac2353c53687cce92c004e5e2f6a860d433f98fc07e5bcdd802525494d1dc288f607a8aeadf9c899d6b69148f4a5435d552eb4e8a04f9269f7888'
'1f43e6003aaf7173b08dc25604d3754a86ea75ee6036395cfd3b1f7c5c737690269ce7c7a5a40207d3369fecdd90afd05570f2f95a71181b866a2d8e27e20870'
'6ebbf3e9bfa8b89c4c91187c0435b48c3b724339f37034d12f4301f613566462665ba18ba3930a737aebd5b1ea1822089127cfe707e88d7e788ff12f13280560'
'4fb9e8e93da40553f0eb58078d768f184e82d6c8554061146c57cbbef7425f1c8983855ebff2c0bdadfc2b4f78fce49bc248be859cf3d858279afb63782f939d'
'45b612549ad8dc088fbee7f201e16b6e1636a2de7cf8d79d19755105783328caef3084d44138b596b84a475f5e9f2525073c6acc01810127eec1412e6e62fdbc'
'41495365939485856ee3d9e37593eab75a00a8caa73ab03ec6af33c5c4e555b5f885e245b7d1578f449abe9999424a5e7d3407b760a7344923cc3091a49c1594'
'89537bd43917f97879c0f1905ac67b2e698a401ece93693a8a7fa1df5fe2445551d340e7683989c196cd88425e8b274d1c96de90a6957377c2d5a07266d34dcf'
'4acf9ccf8d02a6b06ab4b16228aa9c6bca3c0c001e5cfae526b2c7476bfc8ae2150190cec5dd7db26ab9bbfe5a3ab3f956d8d1b779e9f8a4ee3dbe23c9ba2847'
'd2b0b5a020930f34e45c5ce33a9419d1eb890db2d12dc06305cdec2dc01c861ffa8165319fcf4334216564cd4f44f8da6ce8fddd2fbe7c3f44c88479e90417fd'
'f951281dbb5669138a3e223ea01658159721cd54a132a4ee5be6b12a2aae7acbd8c758abfa87f77838a9ce7fcadb55462659f6e091a84f908af3b0aeb181b495'
'b812958f7941fda5c9eebf5af4a87e4d40342af39edaa85850b0eaa6a6f5f8259fde0e69db8fa14dd33ed1e6e2f39b7b38ee4ff475a2f7f4e746e979be1dd344'
'90d18b3378068b94e39e2ff17bba925eed957ecd9a206a3257b32dc943f7a0ae5d162c110ab4d4e1070e1644c626f2af1cd7056333db698a8ca473507d829156')
# vim:set sw=2 et: