# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#

Google Inc. <*@google.com>

Alexandre Ardhuin <alexandre.ardhuin@gmail.com>
Honza Bittner <git@honzabittner.cz>
Patrice Chalin <pchalin@gmail.com>
Maxim Dikun <dikmax@gmail.com>
Bernardo Ferrari <bernaferrari2@gmail.com>
Xavier Hainaux <xavier.hainaux@gmail.com>
Alexey Knyazev <lexa.knyazev@gmail.com>
Jawahar <jawahars_16@live.in>
Keisuke Kishida <kishidak@tcd.ie>
Benjamin Li <benjamin.voila@gmail.com>
Guillermo López-Anglada <guillermo.lopez@outlook.com>
Parker Lougheed <parlough@gmail.com>
Juan Pablo Paulsen <juanpablo.paulsen@gmail.com>
Luke Pighetti <git@lukepighetti.com>
Sem van Rij <sem@lekkerplakjekaas.nl>
Muhammed Salih Guler <muhammedsalihguler@gmail.com>
Nolan Scobie <nolan.scobie@gmail.com>
Cameron Steffen <cam.steffen94@gmail.com>
Danny Tuppeny <danny@tuppeny.com>
Ivan Tugay <listepo@gmail.com>
Rohan Vanheusden <rohan.vanheusden@gmail.com>
