(instructions copied from forrest's KEYS file)

This file contains the PGP keys of various developers.
Please don't use them for email unless you have to. Their main
purpose is code signing.

Users: pgp < KEYS
Developers:
        pgp -kxa <your name> and append it to this file.
        (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
        (gpg --list-sigs <your name>
             && gpg --armor --export <your name>) >> this file.

----------------------------------------------------------------
pub   1024D/1DFDBF44 2009-03-26
uid                  Andreas Lehmkuehler (CODE SIGNING KEY) <lehmi@apache.org>
sig 3        1DFDBF44 2009-03-26  Andreas Lehmkuehler (CODE SIGNING KEY) <lehmi@apache.org>
sig          A355A63E 2009-03-26  Jukka Zitting <jukka@apache.org>
sub   2048g/78CB2E94 2009-03-26
sig          1DFDBF44 2009-03-26  Andreas Lehmkuehler (CODE SIGNING KEY) <lehmi@apache.org>

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEnLv1QRBADZ+0Q51lxGD4IZo+eWVdll64J/jxSrFDiCPB6vDcYh5Z/6bzXs
6gvGsNBtN6tVES7zKNDhMftREZsQ1Jdj2SD4Kel9NMtZvtkRIYyVosxSJPS3kavw
DwH4MjmssEOuvEf04ZwESVS9IE3lFdTIbEJQg+BXeIE1V4GA2rmFNJ8OTwCg1EEk
Z/07/zEqSFwhHaytYDCIxYED/2R87nHhQcNlQz47BEy0ohCETVlZx+zQyi2AXP14
cV+DO064JNRHFb1iTcYyNwNFjH8gDe1V+ZmGi6O2VxuTxNncoydj5kgUiCOfjeOX
IdgX6+ygs7LmYkOrdyvahy83rbGEojgMKbsiZzCEewBISen1lhwndeLsGpm5to3d
gw7UBACbHs3PZjmggtwU131a66fowq8lFr8+6jPvJWAJ15HBLhYtNRPTT4exvXVa
JPBbXPMSYcwAfS5cyP6WfbsxFFuWyGF3TcvGxLEqEg0HmQ2THYzAXmv7XNDbxI/X
L+g9DSfq37+uOdRY10PlfGS3N/5XwfN98N8ZOqHDg0sgoKLxRLQ5QW5kcmVhcyBM
ZWhta3VlaGxlciAoQ09ERSBTSUdOSU5HIEtFWSkgPGxlaG1pQGFwYWNoZS5vcmc+
iGAEExECACAFAknLv1QCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRB6PJ/i
Hf2/RICPAKDJpHDJYOoylrZb0xp1nIL5KBLgEQCaAo8PiLHvuSdXoOS75nSC0QyS
I0SIRgQQEQIABgUCScvCfgAKCRCnMFKco1WmPlHoAJ4+Me+varQzIhX2F9TDy1ZV
Cv8s8wCcDnxGvF9/nHsA8LcQuKGHsgLYkDC5Ag0EScu/VBAIAIYkT4qggB8tJeDs
GWQ6Uioge+vyYieHtmclXo6bomem6Ijx7AfxCn8pxBxQSXg6ZtFNH9U9MpXwzOGf
4PQqjcEzpH/uh5OPFxcvTK+LB+4q6fAIXe2QqKm331vnAkSNmpWILaDfaq0Ee2Ra
rH4EexnLrc5Dx0453TUhyaiseochk6OQE1Q3mwRhbC8N6TMRqg8fKSrrwIB1Aev1
Jl8ER94Iwwx/FY2Tskd5mAGu0XIbo68BWL/0uZ6yuZ5iEEiYU4sM0iJcentIiH7I
1vXESV32fwMQifnQbMGedp9maiETjOngdSrXGLFg8+JlqFHxBl+CaDZeb4f5SDd3
p6tAy4MAAwYH/Aqdy9gBYdcAo9mF2GwXQGCyICbPPNLs99GtDEI9si4gKYZ9c7De
58C7accH6o/l23c+vYaqvBt5THYytqjLqBhMufuaxggAhLzh7QxoiZ+OJh3AmH+f
M9PgR44StpQ1FjgNGkU/5LfueRCYTB0bAtuffWVJ4ec/LiOyXTYqKbdaZ423mb8z
LTcoc2kD99YJfRXEP9vuzpl6m7eiRbH9VLzZggFqAiharp7tUs0QrgHLXrYV5fkW
s9K0wOrYl24As66K+euSPJHysQTazA7wTsQSk9I2oFxxk6FxPAmW6OuLTMbFF/3z
8y8T110d4OrjQocwrK/w3poOkhGcZUS9yZGISQQYEQIACQUCScu/VAIbDAAKCRB6
PJ/iHf2/RDyaAKClT3jgC4Ax/jvbeDzYLIAJyn9TsACfZ0j7AVahWBh6PGpvSGOW
4Lo6rZY=
=VzWZ
-----END PGP PUBLIC KEY BLOCK-----
