Merge branch 'main' into avm99963-monorail

Merged commit cd4b3b336f1f14afa02990fdc2eec5d9467a827e

GitOrigin-RevId: e67bbf185d5538e1472bb42e0abb2a141f88bac1
diff --git a/api/api_proto/projects_pb2.py b/api/api_proto/projects_pb2.py
index fa8a3fc..c9cd3c4 100644
--- a/api/api_proto/projects_pb2.py
+++ b/api/api_proto/projects_pb2.py
@@ -1,8 +1,7 @@
+# -*- coding: utf-8 -*-
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # source: api/api_proto/projects.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+"""Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
@@ -20,8 +19,9 @@
   name='api/api_proto/projects.proto',
   package='monorail',
   syntax='proto3',
-  serialized_options=None,
-  serialized_pb=_b('\n\x1c\x61pi/api_proto/projects.proto\x12\x08monorail\x1a\x1a\x61pi/api_proto/common.proto\x1a#api/api_proto/project_objects.proto\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"T\n\x14ListProjectsResponse\x12#\n\x08projects\x18\x01 \x03(\x0b\x32\x11.monorail.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"3\n\x1bListProjectTemplatesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x1cListProjectTemplatesResponse\x12(\n\ttemplates\x18\x01 \x03(\x0b\x32\x15.monorail.TemplateDef\"(\n\x10GetConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"4\n\x1cGetPresentationConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1bGetCustomPermissionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1cGetCustomPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"0\n\x18GetVisibleMembersRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"h\n\x19GetVisibleMembersResponse\x12$\n\tuser_refs\x18\x01 \x03(\x0b\x32\x11.monorail.UserRef\x12%\n\ngroup_refs\x18\x02 \x03(\x0b\x32\x11.monorail.UserRef\".\n\x16GetLabelOptionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"f\n\x17GetLabelOptionsResponse\x12)\n\rlabel_options\x18\x01 \x03(\x0b\x32\x12.monorail.LabelDef\x12 \n\x18\x65xclusive_label_prefixes\x18\x02 \x03(\t\"+\n\x13ListStatusesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"\x8e\x01\n\x14ListStatusesResponse\x12(\n\x0bstatus_defs\x18\x01 \x03(\x0b\x32\x13.monorail.StatusDef\x12\x31\n\x14statuses_offer_merge\x18\x02 \x03(\x0b\x32\x13.monorail.StatusRef\x12\x19\n\x11restrict_to_known\x18\x03 \x01(\x08\"I\n\x15ListComponentsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\"H\n\x16ListComponentsResponse\x12.\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x16.monorail.ComponentDef\"c\n\x11ListFieldsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\x12\x1c\n\x14include_user_choices\x18\x04 \x01(\x08\"<\n\x12ListFieldsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"2\n\x1aGetProjectStarCountRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"1\n\x1bGetProjectStarCountResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\";\n\x12StarProjectRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x0f\n\x07starred\x18\x03 \x01(\x08\")\n\x13StarProjectResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\"/\n\x17\x43heckProjectNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\")\n\x18\x43heckProjectNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"^\n\x19\x43heckComponentNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x13\n\x0bparent_path\x18\x03 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x04 \x01(\t\"+\n\x1a\x43heckComponentNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"A\n\x15\x43heckFieldNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x12\n\nfield_name\x18\x03 \x01(\t\"\'\n\x16\x43heckFieldNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t2\xc3\n\n\x08Projects\x12O\n\x0cListProjects\x12\x1d.monorail.ListProjectsRequest\x1a\x1e.monorail.ListProjectsResponse\"\x00\x12g\n\x14ListProjectTemplates\x12%.monorail.ListProjectTemplatesRequest\x1a&.monorail.ListProjectTemplatesResponse\"\x00\x12;\n\tGetConfig\x12\x1a.monorail.GetConfigRequest\x1a\x10.monorail.Config\"\x00\x12_\n\x15GetPresentationConfig\x12&.monorail.GetPresentationConfigRequest\x1a\x1c.monorail.PresentationConfig\"\x00\x12g\n\x14GetCustomPermissions\x12%.monorail.GetCustomPermissionsRequest\x1a&.monorail.GetCustomPermissionsResponse\"\x00\x12^\n\x11GetVisibleMembers\x12\".monorail.GetVisibleMembersRequest\x1a#.monorail.GetVisibleMembersResponse\"\x00\x12X\n\x0fGetLabelOptions\x12 .monorail.GetLabelOptionsRequest\x1a!.monorail.GetLabelOptionsResponse\"\x00\x12O\n\x0cListStatuses\x12\x1d.monorail.ListStatusesRequest\x1a\x1e.monorail.ListStatusesResponse\"\x00\x12U\n\x0eListComponents\x12\x1f.monorail.ListComponentsRequest\x1a .monorail.ListComponentsResponse\"\x00\x12I\n\nListFields\x12\x1b.monorail.ListFieldsRequest\x1a\x1c.monorail.ListFieldsResponse\"\x00\x12\x64\n\x13GetProjectStarCount\x12$.monorail.GetProjectStarCountRequest\x1a%.monorail.GetProjectStarCountResponse\"\x00\x12L\n\x0bStarProject\x12\x1c.monorail.StarProjectRequest\x1a\x1d.monorail.StarProjectResponse\"\x00\x12[\n\x10\x43heckProjectName\x12!.monorail.CheckProjectNameRequest\x1a\".monorail.CheckProjectNameResponse\"\x00\x12\x61\n\x12\x43heckComponentName\x12#.monorail.CheckComponentNameRequest\x1a$.monorail.CheckComponentNameResponse\"\x00\x12U\n\x0e\x43heckFieldName\x12\x1f.monorail.CheckFieldNameRequest\x1a .monorail.CheckFieldNameResponse\"\x00\x62\x06proto3')
+  serialized_options=b'Z\'infra/monorailv2/api/api_proto;monorail',
+  create_key=_descriptor._internal_create_key,
+  serialized_pb=b'\n\x1c\x61pi/api_proto/projects.proto\x12\x08monorail\x1a\x1a\x61pi/api_proto/common.proto\x1a#api/api_proto/project_objects.proto\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"T\n\x14ListProjectsResponse\x12#\n\x08projects\x18\x01 \x03(\x0b\x32\x11.monorail.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"3\n\x1bListProjectTemplatesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x1cListProjectTemplatesResponse\x12(\n\ttemplates\x18\x01 \x03(\x0b\x32\x15.monorail.TemplateDef\"(\n\x10GetConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"4\n\x1cGetPresentationConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1bGetCustomPermissionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1cGetCustomPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"0\n\x18GetVisibleMembersRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"h\n\x19GetVisibleMembersResponse\x12$\n\tuser_refs\x18\x01 \x03(\x0b\x32\x11.monorail.UserRef\x12%\n\ngroup_refs\x18\x02 \x03(\x0b\x32\x11.monorail.UserRef\".\n\x16GetLabelOptionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"f\n\x17GetLabelOptionsResponse\x12)\n\rlabel_options\x18\x01 \x03(\x0b\x32\x12.monorail.LabelDef\x12 \n\x18\x65xclusive_label_prefixes\x18\x02 \x03(\t\"+\n\x13ListStatusesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"\x8e\x01\n\x14ListStatusesResponse\x12(\n\x0bstatus_defs\x18\x01 \x03(\x0b\x32\x13.monorail.StatusDef\x12\x31\n\x14statuses_offer_merge\x18\x02 \x03(\x0b\x32\x13.monorail.StatusRef\x12\x19\n\x11restrict_to_known\x18\x03 \x01(\x08\"I\n\x15ListComponentsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\"H\n\x16ListComponentsResponse\x12.\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x16.monorail.ComponentDef\"c\n\x11ListFieldsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\x12\x1c\n\x14include_user_choices\x18\x04 \x01(\x08\"<\n\x12ListFieldsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"2\n\x1aGetProjectStarCountRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"1\n\x1bGetProjectStarCountResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\";\n\x12StarProjectRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x0f\n\x07starred\x18\x03 \x01(\x08\")\n\x13StarProjectResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\"/\n\x17\x43heckProjectNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\")\n\x18\x43heckProjectNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"^\n\x19\x43heckComponentNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x13\n\x0bparent_path\x18\x03 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x04 \x01(\t\"+\n\x1a\x43heckComponentNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"A\n\x15\x43heckFieldNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x12\n\nfield_name\x18\x03 \x01(\t\"\'\n\x16\x43heckFieldNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t2\xc3\n\n\x08Projects\x12O\n\x0cListProjects\x12\x1d.monorail.ListProjectsRequest\x1a\x1e.monorail.ListProjectsResponse\"\x00\x12g\n\x14ListProjectTemplates\x12%.monorail.ListProjectTemplatesRequest\x1a&.monorail.ListProjectTemplatesResponse\"\x00\x12;\n\tGetConfig\x12\x1a.monorail.GetConfigRequest\x1a\x10.monorail.Config\"\x00\x12_\n\x15GetPresentationConfig\x12&.monorail.GetPresentationConfigRequest\x1a\x1c.monorail.PresentationConfig\"\x00\x12g\n\x14GetCustomPermissions\x12%.monorail.GetCustomPermissionsRequest\x1a&.monorail.GetCustomPermissionsResponse\"\x00\x12^\n\x11GetVisibleMembers\x12\".monorail.GetVisibleMembersRequest\x1a#.monorail.GetVisibleMembersResponse\"\x00\x12X\n\x0fGetLabelOptions\x12 .monorail.GetLabelOptionsRequest\x1a!.monorail.GetLabelOptionsResponse\"\x00\x12O\n\x0cListStatuses\x12\x1d.monorail.ListStatusesRequest\x1a\x1e.monorail.ListStatusesResponse\"\x00\x12U\n\x0eListComponents\x12\x1f.monorail.ListComponentsRequest\x1a .monorail.ListComponentsResponse\"\x00\x12I\n\nListFields\x12\x1b.monorail.ListFieldsRequest\x1a\x1c.monorail.ListFieldsResponse\"\x00\x12\x64\n\x13GetProjectStarCount\x12$.monorail.GetProjectStarCountRequest\x1a%.monorail.GetProjectStarCountResponse\"\x00\x12L\n\x0bStarProject\x12\x1c.monorail.StarProjectRequest\x1a\x1d.monorail.StarProjectResponse\"\x00\x12[\n\x10\x43heckProjectName\x12!.monorail.CheckProjectNameRequest\x1a\".monorail.CheckProjectNameResponse\"\x00\x12\x61\n\x12\x43heckComponentName\x12#.monorail.CheckComponentNameRequest\x1a$.monorail.CheckComponentNameResponse\"\x00\x12U\n\x0e\x43heckFieldName\x12\x1f.monorail.CheckFieldNameRequest\x1a .monorail.CheckFieldNameResponse\"\x00\x42)Z\'infra/monorailv2/api/api_proto;monorailb\x06proto3'
   ,
   dependencies=[api_dot_api__proto_dot_common__pb2.DESCRIPTOR,api_dot_api__proto_dot_project__objects__pb2.DESCRIPTOR,])
 
@@ -34,6 +34,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='page_size', full_name='monorail.ListProjectsRequest.page_size', index=0,
@@ -41,14 +42,14 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='page_token', full_name='monorail.ListProjectsRequest.page_token', index=1,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -72,6 +73,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='projects', full_name='monorail.ListProjectsResponse.projects', index=0,
@@ -79,14 +81,14 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='next_page_token', full_name='monorail.ListProjectsResponse.next_page_token', index=1,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -110,14 +112,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.ListProjectTemplatesRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -141,6 +144,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='templates', full_name='monorail.ListProjectTemplatesResponse.templates', index=0,
@@ -148,7 +152,7 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -172,14 +176,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetConfigRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -203,14 +208,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetPresentationConfigRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -234,14 +240,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetCustomPermissionsRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -265,6 +272,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='permissions', full_name='monorail.GetCustomPermissionsResponse.permissions', index=0,
@@ -272,7 +280,7 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -296,14 +304,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetVisibleMembersRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -327,6 +336,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='user_refs', full_name='monorail.GetVisibleMembersResponse.user_refs', index=0,
@@ -334,14 +344,14 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='group_refs', full_name='monorail.GetVisibleMembersResponse.group_refs', index=1,
       number=2, type=11, cpp_type=10, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -365,14 +375,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetLabelOptionsRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -396,6 +407,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='label_options', full_name='monorail.GetLabelOptionsResponse.label_options', index=0,
@@ -403,14 +415,14 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='exclusive_label_prefixes', full_name='monorail.GetLabelOptionsResponse.exclusive_label_prefixes', index=1,
       number=2, type=9, cpp_type=9, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -434,14 +446,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.ListStatusesRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -465,6 +478,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='status_defs', full_name='monorail.ListStatusesResponse.status_defs', index=0,
@@ -472,21 +486,21 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='statuses_offer_merge', full_name='monorail.ListStatusesResponse.statuses_offer_merge', index=1,
       number=2, type=11, cpp_type=10, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='restrict_to_known', full_name='monorail.ListStatusesResponse.restrict_to_known', index=2,
       number=3, type=8, cpp_type=7, label=1,
       has_default_value=False, default_value=False,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -510,21 +524,22 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.ListComponentsRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='include_admin_info', full_name='monorail.ListComponentsRequest.include_admin_info', index=1,
       number=3, type=8, cpp_type=7, label=1,
       has_default_value=False, default_value=False,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -548,6 +563,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='component_defs', full_name='monorail.ListComponentsResponse.component_defs', index=0,
@@ -555,7 +571,7 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -579,28 +595,29 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.ListFieldsRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='include_admin_info', full_name='monorail.ListFieldsRequest.include_admin_info', index=1,
       number=3, type=8, cpp_type=7, label=1,
       has_default_value=False, default_value=False,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='include_user_choices', full_name='monorail.ListFieldsRequest.include_user_choices', index=2,
       number=4, type=8, cpp_type=7, label=1,
       has_default_value=False, default_value=False,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -624,6 +641,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='field_defs', full_name='monorail.ListFieldsResponse.field_defs', index=0,
@@ -631,7 +649,7 @@
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -655,14 +673,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.GetProjectStarCountRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -686,6 +705,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='star_count', full_name='monorail.GetProjectStarCountResponse.star_count', index=0,
@@ -693,7 +713,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -717,21 +737,22 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.StarProjectRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='starred', full_name='monorail.StarProjectRequest.starred', index=1,
       number=3, type=8, cpp_type=7, label=1,
       has_default_value=False, default_value=False,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -755,6 +776,7 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='star_count', full_name='monorail.StarProjectResponse.star_count', index=0,
@@ -762,7 +784,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -786,14 +808,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.CheckProjectNameRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -817,14 +840,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='error', full_name='monorail.CheckProjectNameResponse.error', index=0,
       number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -848,28 +872,29 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.CheckComponentNameRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='parent_path', full_name='monorail.CheckComponentNameRequest.parent_path', index=1,
       number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='component_name', full_name='monorail.CheckComponentNameRequest.component_name', index=2,
       number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -893,14 +918,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='error', full_name='monorail.CheckComponentNameResponse.error', index=0,
       number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -924,21 +950,22 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='project_name', full_name='monorail.CheckFieldNameRequest.project_name', index=0,
       number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
       name='field_name', full_name='monorail.CheckFieldNameRequest.field_name', index=1,
       number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -962,14 +989,15 @@
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
+  create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
       name='error', full_name='monorail.CheckFieldNameResponse.error', index=0,
       number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
+      has_default_value=False, default_value=b"".decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
   ],
   extensions=[
   ],
@@ -1025,203 +1053,204 @@
 DESCRIPTOR.message_types_by_name['CheckFieldNameResponse'] = _CHECKFIELDNAMERESPONSE
 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 
-ListProjectsRequest = _reflection.GeneratedProtocolMessageType('ListProjectsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPROJECTSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+ListProjectsRequest = _reflection.GeneratedProtocolMessageType('ListProjectsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPROJECTSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListProjectsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListProjectsRequest)
 
-ListProjectsResponse = _reflection.GeneratedProtocolMessageType('ListProjectsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPROJECTSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+ListProjectsResponse = _reflection.GeneratedProtocolMessageType('ListProjectsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPROJECTSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListProjectsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListProjectsResponse)
 
-ListProjectTemplatesRequest = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPROJECTTEMPLATESREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+ListProjectTemplatesRequest = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPROJECTTEMPLATESREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListProjectTemplatesRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListProjectTemplatesRequest)
 
-ListProjectTemplatesResponse = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPROJECTTEMPLATESRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+ListProjectTemplatesResponse = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPROJECTTEMPLATESRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListProjectTemplatesResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListProjectTemplatesResponse)
 
-GetConfigRequest = _reflection.GeneratedProtocolMessageType('GetConfigRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETCONFIGREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetConfigRequest = _reflection.GeneratedProtocolMessageType('GetConfigRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETCONFIGREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetConfigRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetConfigRequest)
 
-GetPresentationConfigRequest = _reflection.GeneratedProtocolMessageType('GetPresentationConfigRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETPRESENTATIONCONFIGREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetPresentationConfigRequest = _reflection.GeneratedProtocolMessageType('GetPresentationConfigRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETPRESENTATIONCONFIGREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetPresentationConfigRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetPresentationConfigRequest)
 
-GetCustomPermissionsRequest = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETCUSTOMPERMISSIONSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetCustomPermissionsRequest = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETCUSTOMPERMISSIONSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetCustomPermissionsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetCustomPermissionsRequest)
 
-GetCustomPermissionsResponse = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GETCUSTOMPERMISSIONSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+GetCustomPermissionsResponse = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GETCUSTOMPERMISSIONSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetCustomPermissionsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GetCustomPermissionsResponse)
 
-GetVisibleMembersRequest = _reflection.GeneratedProtocolMessageType('GetVisibleMembersRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETVISIBLEMEMBERSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetVisibleMembersRequest = _reflection.GeneratedProtocolMessageType('GetVisibleMembersRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETVISIBLEMEMBERSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetVisibleMembersRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetVisibleMembersRequest)
 
-GetVisibleMembersResponse = _reflection.GeneratedProtocolMessageType('GetVisibleMembersResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GETVISIBLEMEMBERSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+GetVisibleMembersResponse = _reflection.GeneratedProtocolMessageType('GetVisibleMembersResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GETVISIBLEMEMBERSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetVisibleMembersResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GetVisibleMembersResponse)
 
-GetLabelOptionsRequest = _reflection.GeneratedProtocolMessageType('GetLabelOptionsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETLABELOPTIONSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetLabelOptionsRequest = _reflection.GeneratedProtocolMessageType('GetLabelOptionsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETLABELOPTIONSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetLabelOptionsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetLabelOptionsRequest)
 
-GetLabelOptionsResponse = _reflection.GeneratedProtocolMessageType('GetLabelOptionsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GETLABELOPTIONSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+GetLabelOptionsResponse = _reflection.GeneratedProtocolMessageType('GetLabelOptionsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GETLABELOPTIONSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetLabelOptionsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GetLabelOptionsResponse)
 
-ListStatusesRequest = _reflection.GeneratedProtocolMessageType('ListStatusesRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTSTATUSESREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+ListStatusesRequest = _reflection.GeneratedProtocolMessageType('ListStatusesRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTSTATUSESREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListStatusesRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListStatusesRequest)
 
-ListStatusesResponse = _reflection.GeneratedProtocolMessageType('ListStatusesResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTSTATUSESRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+ListStatusesResponse = _reflection.GeneratedProtocolMessageType('ListStatusesResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTSTATUSESRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListStatusesResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListStatusesResponse)
 
-ListComponentsRequest = _reflection.GeneratedProtocolMessageType('ListComponentsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTCOMPONENTSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+ListComponentsRequest = _reflection.GeneratedProtocolMessageType('ListComponentsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTCOMPONENTSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListComponentsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListComponentsRequest)
 
-ListComponentsResponse = _reflection.GeneratedProtocolMessageType('ListComponentsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTCOMPONENTSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+ListComponentsResponse = _reflection.GeneratedProtocolMessageType('ListComponentsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTCOMPONENTSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListComponentsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListComponentsResponse)
 
-ListFieldsRequest = _reflection.GeneratedProtocolMessageType('ListFieldsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTFIELDSREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+ListFieldsRequest = _reflection.GeneratedProtocolMessageType('ListFieldsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTFIELDSREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListFieldsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListFieldsRequest)
 
-ListFieldsResponse = _reflection.GeneratedProtocolMessageType('ListFieldsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTFIELDSRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+ListFieldsResponse = _reflection.GeneratedProtocolMessageType('ListFieldsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTFIELDSRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.ListFieldsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListFieldsResponse)
 
-GetProjectStarCountRequest = _reflection.GeneratedProtocolMessageType('GetProjectStarCountRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETPROJECTSTARCOUNTREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+GetProjectStarCountRequest = _reflection.GeneratedProtocolMessageType('GetProjectStarCountRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETPROJECTSTARCOUNTREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetProjectStarCountRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetProjectStarCountRequest)
 
-GetProjectStarCountResponse = _reflection.GeneratedProtocolMessageType('GetProjectStarCountResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GETPROJECTSTARCOUNTRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+GetProjectStarCountResponse = _reflection.GeneratedProtocolMessageType('GetProjectStarCountResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GETPROJECTSTARCOUNTRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.GetProjectStarCountResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GetProjectStarCountResponse)
 
-StarProjectRequest = _reflection.GeneratedProtocolMessageType('StarProjectRequest', (_message.Message,), dict(
-  DESCRIPTOR = _STARPROJECTREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+StarProjectRequest = _reflection.GeneratedProtocolMessageType('StarProjectRequest', (_message.Message,), {
+  'DESCRIPTOR' : _STARPROJECTREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.StarProjectRequest)
-  ))
+  })
 _sym_db.RegisterMessage(StarProjectRequest)
 
-StarProjectResponse = _reflection.GeneratedProtocolMessageType('StarProjectResponse', (_message.Message,), dict(
-  DESCRIPTOR = _STARPROJECTRESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+StarProjectResponse = _reflection.GeneratedProtocolMessageType('StarProjectResponse', (_message.Message,), {
+  'DESCRIPTOR' : _STARPROJECTRESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.StarProjectResponse)
-  ))
+  })
 _sym_db.RegisterMessage(StarProjectResponse)
 
-CheckProjectNameRequest = _reflection.GeneratedProtocolMessageType('CheckProjectNameRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKPROJECTNAMEREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckProjectNameRequest = _reflection.GeneratedProtocolMessageType('CheckProjectNameRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKPROJECTNAMEREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckProjectNameRequest)
-  ))
+  })
 _sym_db.RegisterMessage(CheckProjectNameRequest)
 
-CheckProjectNameResponse = _reflection.GeneratedProtocolMessageType('CheckProjectNameResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKPROJECTNAMERESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckProjectNameResponse = _reflection.GeneratedProtocolMessageType('CheckProjectNameResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKPROJECTNAMERESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckProjectNameResponse)
-  ))
+  })
 _sym_db.RegisterMessage(CheckProjectNameResponse)
 
-CheckComponentNameRequest = _reflection.GeneratedProtocolMessageType('CheckComponentNameRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKCOMPONENTNAMEREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckComponentNameRequest = _reflection.GeneratedProtocolMessageType('CheckComponentNameRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKCOMPONENTNAMEREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckComponentNameRequest)
-  ))
+  })
 _sym_db.RegisterMessage(CheckComponentNameRequest)
 
-CheckComponentNameResponse = _reflection.GeneratedProtocolMessageType('CheckComponentNameResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKCOMPONENTNAMERESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckComponentNameResponse = _reflection.GeneratedProtocolMessageType('CheckComponentNameResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKCOMPONENTNAMERESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckComponentNameResponse)
-  ))
+  })
 _sym_db.RegisterMessage(CheckComponentNameResponse)
 
-CheckFieldNameRequest = _reflection.GeneratedProtocolMessageType('CheckFieldNameRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKFIELDNAMEREQUEST,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckFieldNameRequest = _reflection.GeneratedProtocolMessageType('CheckFieldNameRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKFIELDNAMEREQUEST,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckFieldNameRequest)
-  ))
+  })
 _sym_db.RegisterMessage(CheckFieldNameRequest)
 
-CheckFieldNameResponse = _reflection.GeneratedProtocolMessageType('CheckFieldNameResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CHECKFIELDNAMERESPONSE,
-  __module__ = 'api.api_proto.projects_pb2'
+CheckFieldNameResponse = _reflection.GeneratedProtocolMessageType('CheckFieldNameResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHECKFIELDNAMERESPONSE,
+  '__module__' : 'api.api_proto.projects_pb2'
   # @@protoc_insertion_point(class_scope:monorail.CheckFieldNameResponse)
-  ))
+  })
 _sym_db.RegisterMessage(CheckFieldNameResponse)
 
 
+DESCRIPTOR._options = None
 
 _PROJECTS = _descriptor.ServiceDescriptor(
   name='Projects',
@@ -1229,6 +1258,7 @@
   file=DESCRIPTOR,
   index=0,
   serialized_options=None,
+  create_key=_descriptor._internal_create_key,
   serialized_start=1943,
   serialized_end=3290,
   methods=[
@@ -1240,6 +1270,7 @@
     input_type=_LISTPROJECTSREQUEST,
     output_type=_LISTPROJECTSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='ListProjectTemplates',
@@ -1249,6 +1280,7 @@
     input_type=_LISTPROJECTTEMPLATESREQUEST,
     output_type=_LISTPROJECTTEMPLATESRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetConfig',
@@ -1258,6 +1290,7 @@
     input_type=_GETCONFIGREQUEST,
     output_type=api_dot_api__proto_dot_project__objects__pb2._CONFIG,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetPresentationConfig',
@@ -1267,6 +1300,7 @@
     input_type=_GETPRESENTATIONCONFIGREQUEST,
     output_type=api_dot_api__proto_dot_project__objects__pb2._PRESENTATIONCONFIG,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetCustomPermissions',
@@ -1276,6 +1310,7 @@
     input_type=_GETCUSTOMPERMISSIONSREQUEST,
     output_type=_GETCUSTOMPERMISSIONSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetVisibleMembers',
@@ -1285,6 +1320,7 @@
     input_type=_GETVISIBLEMEMBERSREQUEST,
     output_type=_GETVISIBLEMEMBERSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetLabelOptions',
@@ -1294,6 +1330,7 @@
     input_type=_GETLABELOPTIONSREQUEST,
     output_type=_GETLABELOPTIONSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='ListStatuses',
@@ -1303,6 +1340,7 @@
     input_type=_LISTSTATUSESREQUEST,
     output_type=_LISTSTATUSESRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='ListComponents',
@@ -1312,6 +1350,7 @@
     input_type=_LISTCOMPONENTSREQUEST,
     output_type=_LISTCOMPONENTSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='ListFields',
@@ -1321,6 +1360,7 @@
     input_type=_LISTFIELDSREQUEST,
     output_type=_LISTFIELDSRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='GetProjectStarCount',
@@ -1330,6 +1370,7 @@
     input_type=_GETPROJECTSTARCOUNTREQUEST,
     output_type=_GETPROJECTSTARCOUNTRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='StarProject',
@@ -1339,6 +1380,7 @@
     input_type=_STARPROJECTREQUEST,
     output_type=_STARPROJECTRESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='CheckProjectName',
@@ -1348,6 +1390,7 @@
     input_type=_CHECKPROJECTNAMEREQUEST,
     output_type=_CHECKPROJECTNAMERESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='CheckComponentName',
@@ -1357,6 +1400,7 @@
     input_type=_CHECKCOMPONENTNAMEREQUEST,
     output_type=_CHECKCOMPONENTNAMERESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
   _descriptor.MethodDescriptor(
     name='CheckFieldName',
@@ -1366,6 +1410,7 @@
     input_type=_CHECKFIELDNAMEREQUEST,
     output_type=_CHECKFIELDNAMERESPONSE,
     serialized_options=None,
+    create_key=_descriptor._internal_create_key,
   ),
 ])
 _sym_db.RegisterServiceDescriptor(_PROJECTS)