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)
* Canberk Topal (ctopal)
* Timothy Trippel (timothytrippel)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Alex Williams (a-will)
* Weicai Yang (weicaiyang)
