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)
* Eli Kim (eunchan)
* Jaedon Kim (jdonjdon)
* Andreas Kurth (andreaskurth)
* Martin Lueker-Boden (martin-lueker)
* Rasmus Madsen (rasmus-madsen)
* Guillermo Maturana (matutem)
* Drew Macrae (drewmacrae)
* Dan McArdle (dmcardle)
* Felix Miller (felixmiller)
* Michael Munday (mundaym)
* Miguel Osorio (moidx)
* Jade Philipoom (jadephilipoom)
* Douglas Reis (engdoreis)
* Dominic Rizzo (domrizz0)
* Michael Schaffner (msfschaffner)
* Rupert Swarbrick (rswarbrick)
* Timothy Trippel (timothytrippel)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Alex Williams (a-will)
* Weicai Yang (weicaiyang)
