# This file contains name to mail address mappings that are useful
# for old svn based commits (to get nice names instead of mail in blame and
# other tools)
Adam Klein <adamk@google.com>
Adam Singer <financeCoding@gmail.com>
Ahmed Hussein <husseina@google.com>
Alan Knight <alanknight@google.com>
Alan Leung <acleung@google.com>
Alexander Aprelev <aprelev@gmail.com>
alf Filippov <alexeif@google.com>
Amin Shali <amshali@google.com>
Anders Johnsen <ajohnsen@google.com>
Anders Sandholm <sandholm@google.com>
Andrei Mouravski <amouravski@google.com>
Anton Muhin <antonm@google.com>
Asger Feldthaus <asgerf@google.com>
Ben Laurie <benl@google.com>
Ben Wells <benwells@google.com>
Bill Hesse <whesse@google.com>
Bob Nystrom <rnystrom@google.com>
Bradley Nelson <bradnelson@google.com>
Brian Wilkerson <brianwilkerson@google.com>
Carl Shapiro <cshapiro@google.com>
Charlie Reis <creis@google.com>
Chip Brown <chipb@google.com>
Chris Bracken <cbracken@google.com>
Dan Grove <dgrove@google.com>
Daniel Andersson <koda@google.com>
Daniel Tang <tangd@google.com>
Dan Rice <rice@google.com>
Dan Rubel <danrubel@google.com>
David Carlson <dcarlson@google.com>
David Chandler <drfibonacci@google.com>
Devon Carew <devoncarew@google.com>
Dominic Cooney <dominicc@google.com>
Dominic Hamon <dominich@google.com>
Douglas Stockwell <dstockwell@google.com>
Eli Brandt <eub@google.com>
Emily Fortuna <efortuna@google.com>
Eric Arnold <ericarnold@google.com>
Eric Ayers <zundel@google.com>
Erik Arvidsson <arv@google.com>
Erik Corry <erikcorry@google.com>
Erik Ernst <eernst@google.com>
Fabio Valbuena <fabiomfv@google.com>
Florian Loitsch <floitsch@google.com>
Florian Schneider <fschneider@google.com>
Florin Malita <fmalita@google.com>
Gilad Bracha <gbracha@google.com>
Gram Wheeler <gram@google.com>
Greg Bigelow <gregbglw@google.com>
Gustav Wibling <wibling@google.com>
Hannes Payer <hpayer@google.com>
Harry Roeck <hroeck@google.com>
Harry Terkelsen <het@google.com>
Ian Zerny <zerny@google.com>
Igor Sheludko <ishell@google.com>
Ivan Posva <iposva@google.com>
Jack Palevich <jackpal@google.com>
Jacob Macdonald <jakemac@google.com>
Jacob Richman <jacobr@google.com>
Jaime Wren <jwren@google.com>
Jakob Gruber <jgruber@google.com>
Jakob Kummerow <jkummerow@google.com>
Janice Leung <janicejl@google.com>
Jason Rosenberg <jbrosenberg@google.com>
Jenny Messerly <jmesserly@google.com>
Jim Hugunin <jimhug@google.com>
Joel Webber <jgw@google.com>
John Lenz <johnlenz@google.com>
John McCutchan <johnmccutchan@google.com>
John McDole <codefu@google.com>
Johnni Winther <johnniwinther@google.com>
John Tamplin <jat@google.com>
Jørgen Fogh <jrgfogh@google.com>
Joshua Bloch <jjb@google.com>
Justin Fagnani-Bell <justinfagnani@google.com>
Karl Klose <karlklose@google.com>
Kasper Lund <kasperl@google.com>
Kathy Walrath <kathyw@google.com>
Keerti Parthasarathy <keertip@google.com>
Kelly Norton <knorton@google.com>
Kentaro Hara <haraken@google.com>
Kevin Millikin <kmillikin@google.com>
Kevin Moore <kevmoo@google.com>
Kevin Moore <kevmoo@j832.com>
Konstantin Shcheglov <scheglov@google.com>
Lars Bak <bak@google.com>
Lasse Nielsen <lrn@google.com>
Leaf Petersen <leafp@google.com>
Lukas Rytz <lry@google.com>
Luke Church <lukechurch@google.com>
Luke Church <lukeEChurch@gmail.com>
Mads Ager <ager@google.com>
Mark Lentczner <mzero@google.com>
Mark Russell <mrrussell@google.com>
Martin Kustermann <kustermann@google.com>
Mary Campione <mcampione@google.com>
Matthias Hausner <hausner@google.com>
Matt May <mmay@google.com>
Matt Shulman <mattsh@google.com>
Max Heinritz <meh@google.com>
Mehmet Akin <mdakin@google.com>
Michael Achenbach <machenbach@google.com>
Michael Lippautz <mlippautz@google.com>
Michael Starzinger <mstarzinger@google.com>
Miguel Mendez <mmendez@google.com>
Natalie Weizenbaum <nweiz@google.com>
Nathan Collins <collinsn@google.com>
Nicolas Garnier <nivco@google.com>
Nicolas Geoffray <ngeoffray@google.com>
Nicolas Sylvain <nsylvain@google.com>
Nike Igotti (Николай Иготти) <olonho@google.com>
Paul Berry <paulberry@google.com>
Paul Brauner <polux@google.com>
Pavel Podivilov <podivilov@google.com>
Peng Li <lipeng@google.com>
Pete Blois <blois@google.com>
Peter Hallam <peterhal@google.com>
Peter Rybin <prybin@google.com>
Peter von der Ahé <ahe@google.com>
Philip Rogers <pdr@google.com>
Phil Quitslund <pquitslund@google.com>
Rafael Weinstein <rafaelw@google.com>
Raja Aluri <aluri@google.com>
Rajeev Dayal <rdayal@google.com>
Regis Crelier <regis@google.com>
Rico Wind <ricow@google.com>
Rodrigo Chandía <rchandia@google.com>
Roman Shuvaev <smok@google.com>
Ryan Macnak <rmacnak@google.com>
Sam Hopkins <samhop@google.com>
Sam Rawlins <srawlins@google.com>
Sarah Zakarias <zarah@google.com>
Sasha Bermeister <sashab@google.com>
Seth Ladd <sethladd@google.com>
Shailen Tuli <shailentuli@google.com>
Shams Zakhour <shaza@google.com>
Shauvik Roy Choudhary <shauvik@google.com>
Siggi Cherem <sigmund@google.com>
Sigurd Meldgaard <sigurdm@google.com>
Siva Annamalai <asiva@google.com>
Søren Gjesse <sgjesse@google.com>
Srdjan Mitrovic <srdjan@google.com>
Stephan Herhut <herhut@google.com>
Stephen Adams <sra@google.com>
Stephen Chenney <schenney@google.com>
Steve Messick <messick@google.com>
Tayler Mandel <tmandel@google.com>
Terry Lucas <terry@google.com>
Tim Blasi <tjblasi@google.com>
Todd Turnidge <turnidge@google.com>
Tom Ball <tball@google.com>
Ty Overby <tyoverby@google.com>
Ulan Degenbaev <ulan@google.com>
Ulan Degenbaev <ulan@google.com>
Vijay Menon <vsm@google.com>
Vitaly Repeshko <vitalyr@google.com>
Vyacheslav "Slava" Egorov <vegorov@google.com>
Zach Anderson <zra@google.com>
