Protos in this dir are generated using
`python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. common.proto`
and manually checked into the tree. The source of the protos is
src/config/proto/chromiumos/config/api/test/tls/common.proto, relative to a
standard repo.
(https://chromium.git.corp.google.com/chromiumos/config/+/HEAD/proto/chromiumos/config/api/test/tls/common.proto)
If there are updates to src proto, the protos here must be re-generated. Run the
script "buildprotos.py" to automatically rebuild them from the source. You must
manually repo sync prior to this.
