# People who have agreed to one of the CLAs and can contribute patches.
# The AUTHORS file lists the copyright holders; this file
# lists people.  For example, Google employees are listed here
# but not in AUTHORS, because Google holds the copyright.
#
# https://developers.google.com/open-source/cla/individual
# https://developers.google.com/open-source/cla/corporate
#
# Names should be added to this file as:
#     Name <email address>

Damien Martin-Guillerez <dmarting@google.com>
David Z. Chen <dzc@google.com>
Dmitry Lomov <dslomov@google.com>
Florian Weikert <fwe@google.com>
Jakob Buchgraber <buchgr@google.com>
Kristina Chodorow <kchodorow@google.com>
Laszlo Csomor <laszlocsomor@google.com>
Lukacs T. Berki <lberki@google.com>
Philipp Wollermann <philwo@google.com>
Yun Peng <pcloudy@google.com>
