This file contains the list of individuals with write access to the OpenTitan
repository, who are responsible for the final approval and merge of
contributions. See doc/project/committers.md for more information.

Committers are listed alphabetically by surname in the format:
* Full Name (GitHubID)

Committer list:
* Mark Branstad (mwbranstad)
* Greg Chadwick (GregAC)
* Cindy Chen (cindychip)
* Timothy Chen (tjaychen)
* Jon Flatley (jon-flatley)
* Chris Frantz (cfrantz)
* Srikrishna Iyer (sriyerg)
* Eunchan Kim (eunchan)
* Martin Lueker-Boden (martin-lueker)
* Rasmus Madsen (rasmus-madsen)
* Guillermo Maturana (matutem)
* Felix Miller (felixmiller)
* Michael Munday (mundaym)
* Miguel Osorio (moidx)
* Jade Philipoom (jadephilipoom)
* Douglas Reis (engdoreis)
* Dominic Rizzo (domrizz0)
* Michael Schaffner (msfschaffner)
* Rupert Swarbrick (rswarbrick)
* Canberk Topal (ctopal)
* Timothy Trippel (timothytrippel)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Alex Williams (a-will)
* Weicai Yang (weicaiyang)
