# This is reserved for people that are comfortably with buildbot recipes
# and understand the implications of changing these files.

bpastene@chromium.org
dpranke@chromium.org
jam@chromium.org
jbudorick@chromium.org
jochen@chromium.org
kbr@chromium.org
machenbach@chromium.org
martiniss@chromium.org
maruel@chromium.org
sky@chromium.org
tansell@chromium.org
thakis@chromium.org

# For Site Isolation FYI tests:
per-file chromium.fyi.json=creis@chromium.org

per-file chromium.clang.json=hans@chromium.org
per-file *chromium.perf*.json=crouleau@chromium.org
per-file *chromium.perf*.json=eyaich@chromium.org
per-file *chromium.perf*.json=martiniss@chromium.org
per-file chromium.perf.json=simonhatch@chromium.org
per-file chromium.perf.json=sullivan@chromium.org
per-file chromium.webrtc.json=phoglund@chromium.org
per-file chromium.webrtc.fyi.json=phoglund@chromium.org

# TEAM: infra-dev@chromium.org
# COMPONENT: Infra>Client>Chrome
