# Default owners are top 3 active developers of the past 1 or 2 years
# or people with more than 10 commits last year.
# Please update this list if you find better owner candidates.
mwojtas@google.com
bgrzesik@google.com
mikrawczyk@google.com
zyta@google.com
acourbot@google.com
