Merge branch 'main' into avm99963-monorail

Merged commit 34d8229ae2b51fb1a15bd208e6fe6185c94f6266

GitOrigin-RevId: 7ee0917f93a577e475f8e09526dd144d245593f4
diff --git a/api/api_proto/issues_pb2.py b/api/api_proto/issues_pb2.py
index 791272d..879cd7c 100644
--- a/api/api_proto/issues_pb2.py
+++ b/api/api_proto/issues_pb2.py
@@ -2,9 +2,9 @@
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # source: api/api_proto/issues.proto
 """Generated protocol buffer code."""
+from google.protobuf.internal import builder as _builder
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import symbol_database as _symbol_database
 # @@protoc_insertion_point(imports)
 
@@ -17,2765 +17,114 @@
 from api.api_proto import project_objects_pb2 as api_dot_api__proto_dot_project__objects__pb2
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='api/api_proto/issues.proto',
-  package='monorail',
-  syntax='proto3',
-  serialized_options=b'Z\'infra/monorailv2/api/api_proto;monorail',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x1a\x61pi/api_proto/issues.proto\x12\x08monorail\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1a\x61pi/api_proto/common.proto\x1a!api/api_proto/issue_objects.proto\x1a#api/api_proto/project_objects.proto\"J\n\x12\x43reateIssueRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1e\n\x05issue\x18\x03 \x01(\x0b\x32\x0f.monorail.Issue\"8\n\x0fGetIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"Y\n\rIssueResponse\x12\x1e\n\x05issue\x18\x01 \x01(\x0b\x32\x0f.monorail.Issue\x12(\n\x0cmoved_to_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"\xa3\x01\n\x11ListIssuesRequest\x12\r\n\x05query\x18\x02 \x01(\t\x12\x14\n\x0c\x63\x61nned_query\x18\x03 \x01(\r\x12\x15\n\rproject_names\x18\x04 \x03(\t\x12(\n\npagination\x18\x05 \x01(\x0b\x32\x14.monorail.Pagination\x12\x15\n\rgroup_by_spec\x18\x06 \x01(\t\x12\x11\n\tsort_spec\x18\x07 \x01(\t\"L\n\x12ListIssuesResponse\x12\x1f\n\x06issues\x18\x01 \x03(\x0b\x32\x0f.monorail.Issue\x12\x15\n\rtotal_results\x18\x02 \x01(\r\"E\n\x1bListReferencedIssuesRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\"h\n\x1cListReferencedIssuesResponse\x12\"\n\topen_refs\x18\x01 \x03(\x0b\x32\x0f.monorail.Issue\x12$\n\x0b\x63losed_refs\x18\x02 \x03(\x0b\x32\x0f.monorail.Issue\"H\n\x1eListApplicableFieldDefsRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\"I\n\x1fListApplicableFieldDefsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"\xec\x01\n\x12UpdateIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x12\n\nsend_email\x18\x03 \x01(\x08\x12#\n\x05\x64\x65lta\x18\x04 \x01(\x0b\x32\x14.monorail.IssueDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x16\n\x0eis_description\x18\x06 \x01(\x08\x12+\n\x07uploads\x18\x07 \x03(\x0b\x32\x1a.monorail.AttachmentUpload\x12\x18\n\x10kept_attachments\x18\x08 \x03(\x03\"J\n\x10StarIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x0f\n\x07starred\x18\x03 \x01(\x08\"\'\n\x11StarIssueResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\">\n\x15IsIssueStarredRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\",\n\x16IsIssueStarredResponse\x12\x12\n\nis_starred\x18\x01 \x01(\x08\"\x1a\n\x18ListStarredIssuesRequest\"K\n\x19ListStarredIssuesResponse\x12.\n\x12starred_issue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"<\n\x13ListCommentsRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\";\n\x14ListCommentsResponse\x12#\n\x08\x63omments\x18\x01 \x03(\x0b\x32\x11.monorail.Comment\"[\n\x15ListActivitiesRequest\x12#\n\x08user_ref\x18\x02 \x01(\x0b\x32\x11.monorail.UserRef\x12\x0e\n\x06\x62\x65\x66ore\x18\x03 \x01(\x07\x12\r\n\x05\x61\x66ter\x18\x04 \x01(\x07\"n\n\x16ListActivitiesResponse\x12#\n\x08\x63omments\x18\x01 \x03(\x0b\x32\x11.monorail.Comment\x12/\n\x0fissue_summaries\x18\x02 \x03(\x0b\x32\x16.monorail.IssueSummary\"c\n\x14\x44\x65leteCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\x03\x12\x0e\n\x06\x64\x65lete\x18\x04 \x01(\x08\"\xc9\x01\n\x1a\x42ulkUpdateApprovalsRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\x12%\n\tfield_ref\x18\x03 \x01(\x0b\x32\x12.monorail.FieldRef\x12/\n\x0e\x61pproval_delta\x18\x04 \x01(\x0b\x32\x17.monorail.ApprovalDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x12\n\nsend_email\x18\x06 \x01(\x08\"E\n\x1b\x42ulkUpdateApprovalsResponse\x12&\n\nissue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"\xa2\x02\n\x15UpdateApprovalRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12%\n\tfield_ref\x18\x03 \x01(\x0b\x32\x12.monorail.FieldRef\x12/\n\x0e\x61pproval_delta\x18\x04 \x01(\x0b\x32\x17.monorail.ApprovalDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x12\n\nsend_email\x18\x06 \x01(\x08\x12\x16\n\x0eis_description\x18\x07 \x01(\x08\x12+\n\x07uploads\x18\x08 \x03(\x0b\x32\x1a.monorail.AttachmentUpload\x12\x18\n\x10kept_attachments\x18\t \x03(\x03\">\n\x16UpdateApprovalResponse\x12$\n\x08\x61pproval\x18\x01 \x01(\x0b\x32\x12.monorail.Approval\"\x91\x01\n$ConvertIssueApprovalsTemplateRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x15\n\rtemplate_name\x18\x03 \x01(\t\x12\x17\n\x0f\x63omment_content\x18\x04 \x01(\t\x12\x12\n\nsend_email\x18\x05 \x01(\x08\"G\n%ConvertIssueApprovalsTemplateResponse\x12\x1e\n\x05issue\x18\x01 \x01(\x0b\x32\x0f.monorail.Issue\"\xa0\x01\n\x14IssueSnapshotRequest\x12\x11\n\ttimestamp\x18\x02 \x01(\x05\x12\r\n\x05query\x18\x03 \x01(\t\x12\x14\n\x0c\x63\x61nned_query\x18\x04 \x01(\x05\x12\x10\n\x08group_by\x18\x05 \x01(\t\x12\x14\n\x0clabel_prefix\x18\x06 \x01(\t\x12\x14\n\x0cproject_name\x18\x07 \x01(\t\x12\x12\n\nhotlist_id\x18\x08 \x01(\x05\"6\n\x12IssueSnapshotCount\x12\x11\n\tdimension\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"\x86\x01\n\x15IssueSnapshotResponse\x12\x34\n\x0esnapshot_count\x18\x01 \x03(\x0b\x32\x1c.monorail.IssueSnapshotCount\x12\x19\n\x11unsupported_field\x18\x02 \x03(\t\x12\x1c\n\x14search_limit_reached\x18\x03 \x01(\x08\"i\n\x15PresubmitIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12)\n\x0bissue_delta\x18\x03 \x01(\x0b\x32\x14.monorail.IssueDelta\"\xb0\x02\n\x16PresubmitIssueResponse\x12\x1a\n\x12owner_availability\x18\x01 \x01(\t\x12 \n\x18owner_availability_state\x18\x02 \x01(\t\x12-\n\x0e\x64\x65rived_labels\x18\x03 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12-\n\x0e\x64\x65rived_owners\x18\x04 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12*\n\x0b\x64\x65rived_ccs\x18\x05 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12\'\n\x08warnings\x18\x06 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12%\n\x06\x65rrors\x18\x07 \x03(\x0b\x32\x15.monorail.ValueAndWhy\"\xa9\x01\n\x1cRerankBlockedOnIssuesRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12%\n\tmoved_ref\x18\x03 \x01(\x0b\x32\x12.monorail.IssueRef\x12&\n\ntarget_ref\x18\x04 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x13\n\x0bsplit_above\x18\x05 \x01(\x08\"R\n\x1dRerankBlockedOnIssuesResponse\x12\x31\n\x15\x62locked_on_issue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"K\n\x12\x44\x65leteIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x0e\n\x06\x64\x65lete\x18\x03 \x01(\x08\"\x15\n\x13\x44\x65leteIssueResponse\"h\n\x19\x44\x65leteIssueCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x0e\n\x06\x64\x65lete\x18\x04 \x01(\x08\"\x1c\n\x1a\x44\x65leteIssueCommentResponse\"}\n\x17\x44\x65leteAttachmentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x15\n\rattachment_id\x18\x04 \x01(\r\x12\x0e\n\x06\x64\x65lete\x18\x05 \x01(\x08\"\x1a\n\x18\x44\x65leteAttachmentResponse\"I\n\x11\x46lagIssuesRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\x12\x0c\n\x04\x66lag\x18\x03 \x01(\x08\"\x14\n\x12\x46lagIssuesResponse\"_\n\x12\x46lagCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x0c\n\x04\x66lag\x18\x04 \x01(\x08\"\x15\n\x13\x46lagCommentResponse\"D\n\x1bListIssuePermissionsRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"3\n\x1cListIssuePermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"V\n\x10MoveIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x1b\n\x13target_project_name\x18\x03 \x01(\t\">\n\x11MoveIssueResponse\x12)\n\rnew_issue_ref\x18\x01 \x01(\x0b\x32\x12.monorail.IssueRef\"V\n\x10\x43opyIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x1b\n\x13target_project_name\x18\x03 \x01(\t\">\n\x11\x43opyIssueResponse\x12)\n\rnew_issue_ref\x18\x01 \x01(\x0b\x32\x12.monorail.IssueRef2\xeb\x11\n\x06Issues\x12\x46\n\x0b\x43reateIssue\x12\x1c.monorail.CreateIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12@\n\x08GetIssue\x12\x19.monorail.GetIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12I\n\nListIssues\x12\x1b.monorail.ListIssuesRequest\x1a\x1c.monorail.ListIssuesResponse\"\x00\x12g\n\x14ListReferencedIssues\x12%.monorail.ListReferencedIssuesRequest\x1a&.monorail.ListReferencedIssuesResponse\"\x00\x12p\n\x17ListApplicableFieldDefs\x12(.monorail.ListApplicableFieldDefsRequest\x1a).monorail.ListApplicableFieldDefsResponse\"\x00\x12\x46\n\x0bUpdateIssue\x12\x1c.monorail.UpdateIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12\x46\n\tStarIssue\x12\x1a.monorail.StarIssueRequest\x1a\x1b.monorail.StarIssueResponse\"\x00\x12U\n\x0eIsIssueStarred\x12\x1f.monorail.IsIssueStarredRequest\x1a .monorail.IsIssueStarredResponse\"\x00\x12^\n\x11ListStarredIssues\x12\".monorail.ListStarredIssuesRequest\x1a#.monorail.ListStarredIssuesResponse\"\x00\x12O\n\x0cListComments\x12\x1d.monorail.ListCommentsRequest\x1a\x1e.monorail.ListCommentsResponse\"\x00\x12U\n\x0eListActivities\x12\x1f.monorail.ListActivitiesRequest\x1a .monorail.ListActivitiesResponse\"\x00\x12I\n\rDeleteComment\x12\x1e.monorail.DeleteCommentRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x64\n\x13\x42ulkUpdateApprovals\x12$.monorail.BulkUpdateApprovalsRequest\x1a%.monorail.BulkUpdateApprovalsResponse\"\x00\x12U\n\x0eUpdateApproval\x12\x1f.monorail.UpdateApprovalRequest\x1a .monorail.UpdateApprovalResponse\"\x00\x12\x82\x01\n\x1d\x43onvertIssueApprovalsTemplate\x12..monorail.ConvertIssueApprovalsTemplateRequest\x1a/.monorail.ConvertIssueApprovalsTemplateResponse\"\x00\x12R\n\rIssueSnapshot\x12\x1e.monorail.IssueSnapshotRequest\x1a\x1f.monorail.IssueSnapshotResponse\"\x00\x12U\n\x0ePresubmitIssue\x12\x1f.monorail.PresubmitIssueRequest\x1a .monorail.PresubmitIssueResponse\"\x00\x12j\n\x15RerankBlockedOnIssues\x12&.monorail.RerankBlockedOnIssuesRequest\x1a\'.monorail.RerankBlockedOnIssuesResponse\"\x00\x12L\n\x0b\x44\x65leteIssue\x12\x1c.monorail.DeleteIssueRequest\x1a\x1d.monorail.DeleteIssueResponse\"\x00\x12\x61\n\x12\x44\x65leteIssueComment\x12#.monorail.DeleteIssueCommentRequest\x1a$.monorail.DeleteIssueCommentResponse\"\x00\x12[\n\x10\x44\x65leteAttachment\x12!.monorail.DeleteAttachmentRequest\x1a\".monorail.DeleteAttachmentResponse\"\x00\x12I\n\nFlagIssues\x12\x1b.monorail.FlagIssuesRequest\x1a\x1c.monorail.FlagIssuesResponse\"\x00\x12L\n\x0b\x46lagComment\x12\x1c.monorail.FlagCommentRequest\x1a\x1d.monorail.FlagCommentResponse\"\x00\x12g\n\x14ListIssuePermissions\x12%.monorail.ListIssuePermissionsRequest\x1a&.monorail.ListIssuePermissionsResponse\"\x00\x12\x46\n\tMoveIssue\x12\x1a.monorail.MoveIssueRequest\x1a\x1b.monorail.MoveIssueResponse\"\x00\x12\x46\n\tCopyIssue\x12\x1a.monorail.CopyIssueRequest\x1a\x1b.monorail.CopyIssueResponse\"\x00\x42)Z\'infra/monorailv2/api/api_proto;monorailb\x06proto3'
-  ,
-  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,api_dot_api__proto_dot_common__pb2.DESCRIPTOR,api_dot_api__proto_dot_issue__objects__pb2.DESCRIPTOR,api_dot_api__proto_dot_project__objects__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x61pi/api_proto/issues.proto\x12\x08monorail\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1a\x61pi/api_proto/common.proto\x1a!api/api_proto/issue_objects.proto\x1a#api/api_proto/project_objects.proto\"J\n\x12\x43reateIssueRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1e\n\x05issue\x18\x03 \x01(\x0b\x32\x0f.monorail.Issue\"8\n\x0fGetIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"Y\n\rIssueResponse\x12\x1e\n\x05issue\x18\x01 \x01(\x0b\x32\x0f.monorail.Issue\x12(\n\x0cmoved_to_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"\xa3\x01\n\x11ListIssuesRequest\x12\r\n\x05query\x18\x02 \x01(\t\x12\x14\n\x0c\x63\x61nned_query\x18\x03 \x01(\r\x12\x15\n\rproject_names\x18\x04 \x03(\t\x12(\n\npagination\x18\x05 \x01(\x0b\x32\x14.monorail.Pagination\x12\x15\n\rgroup_by_spec\x18\x06 \x01(\t\x12\x11\n\tsort_spec\x18\x07 \x01(\t\"L\n\x12ListIssuesResponse\x12\x1f\n\x06issues\x18\x01 \x03(\x0b\x32\x0f.monorail.Issue\x12\x15\n\rtotal_results\x18\x02 \x01(\r\"E\n\x1bListReferencedIssuesRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\"h\n\x1cListReferencedIssuesResponse\x12\"\n\topen_refs\x18\x01 \x03(\x0b\x32\x0f.monorail.Issue\x12$\n\x0b\x63losed_refs\x18\x02 \x03(\x0b\x32\x0f.monorail.Issue\"H\n\x1eListApplicableFieldDefsRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\"I\n\x1fListApplicableFieldDefsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"\xec\x01\n\x12UpdateIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x12\n\nsend_email\x18\x03 \x01(\x08\x12#\n\x05\x64\x65lta\x18\x04 \x01(\x0b\x32\x14.monorail.IssueDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x16\n\x0eis_description\x18\x06 \x01(\x08\x12+\n\x07uploads\x18\x07 \x03(\x0b\x32\x1a.monorail.AttachmentUpload\x12\x18\n\x10kept_attachments\x18\x08 \x03(\x03\"J\n\x10StarIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x0f\n\x07starred\x18\x03 \x01(\x08\"\'\n\x11StarIssueResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\">\n\x15IsIssueStarredRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\",\n\x16IsIssueStarredResponse\x12\x12\n\nis_starred\x18\x01 \x01(\x08\"\x1a\n\x18ListStarredIssuesRequest\"K\n\x19ListStarredIssuesResponse\x12.\n\x12starred_issue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"<\n\x13ListCommentsRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\";\n\x14ListCommentsResponse\x12#\n\x08\x63omments\x18\x01 \x03(\x0b\x32\x11.monorail.Comment\"[\n\x15ListActivitiesRequest\x12#\n\x08user_ref\x18\x02 \x01(\x0b\x32\x11.monorail.UserRef\x12\x0e\n\x06\x62\x65\x66ore\x18\x03 \x01(\x07\x12\r\n\x05\x61\x66ter\x18\x04 \x01(\x07\"n\n\x16ListActivitiesResponse\x12#\n\x08\x63omments\x18\x01 \x03(\x0b\x32\x11.monorail.Comment\x12/\n\x0fissue_summaries\x18\x02 \x03(\x0b\x32\x16.monorail.IssueSummary\"c\n\x14\x44\x65leteCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\x03\x12\x0e\n\x06\x64\x65lete\x18\x04 \x01(\x08\"\xc9\x01\n\x1a\x42ulkUpdateApprovalsRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\x12%\n\tfield_ref\x18\x03 \x01(\x0b\x32\x12.monorail.FieldRef\x12/\n\x0e\x61pproval_delta\x18\x04 \x01(\x0b\x32\x17.monorail.ApprovalDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x12\n\nsend_email\x18\x06 \x01(\x08\"E\n\x1b\x42ulkUpdateApprovalsResponse\x12&\n\nissue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"\xa2\x02\n\x15UpdateApprovalRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12%\n\tfield_ref\x18\x03 \x01(\x0b\x32\x12.monorail.FieldRef\x12/\n\x0e\x61pproval_delta\x18\x04 \x01(\x0b\x32\x17.monorail.ApprovalDelta\x12\x17\n\x0f\x63omment_content\x18\x05 \x01(\t\x12\x12\n\nsend_email\x18\x06 \x01(\x08\x12\x16\n\x0eis_description\x18\x07 \x01(\x08\x12+\n\x07uploads\x18\x08 \x03(\x0b\x32\x1a.monorail.AttachmentUpload\x12\x18\n\x10kept_attachments\x18\t \x03(\x03\">\n\x16UpdateApprovalResponse\x12$\n\x08\x61pproval\x18\x01 \x01(\x0b\x32\x12.monorail.Approval\"\x91\x01\n$ConvertIssueApprovalsTemplateRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x15\n\rtemplate_name\x18\x03 \x01(\t\x12\x17\n\x0f\x63omment_content\x18\x04 \x01(\t\x12\x12\n\nsend_email\x18\x05 \x01(\x08\"G\n%ConvertIssueApprovalsTemplateResponse\x12\x1e\n\x05issue\x18\x01 \x01(\x0b\x32\x0f.monorail.Issue\"\xa0\x01\n\x14IssueSnapshotRequest\x12\x11\n\ttimestamp\x18\x02 \x01(\x05\x12\r\n\x05query\x18\x03 \x01(\t\x12\x14\n\x0c\x63\x61nned_query\x18\x04 \x01(\x05\x12\x10\n\x08group_by\x18\x05 \x01(\t\x12\x14\n\x0clabel_prefix\x18\x06 \x01(\t\x12\x14\n\x0cproject_name\x18\x07 \x01(\t\x12\x12\n\nhotlist_id\x18\x08 \x01(\x05\"6\n\x12IssueSnapshotCount\x12\x11\n\tdimension\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"\x86\x01\n\x15IssueSnapshotResponse\x12\x34\n\x0esnapshot_count\x18\x01 \x03(\x0b\x32\x1c.monorail.IssueSnapshotCount\x12\x19\n\x11unsupported_field\x18\x02 \x03(\t\x12\x1c\n\x14search_limit_reached\x18\x03 \x01(\x08\"i\n\x15PresubmitIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12)\n\x0bissue_delta\x18\x03 \x01(\x0b\x32\x14.monorail.IssueDelta\"\xb0\x02\n\x16PresubmitIssueResponse\x12\x1a\n\x12owner_availability\x18\x01 \x01(\t\x12 \n\x18owner_availability_state\x18\x02 \x01(\t\x12-\n\x0e\x64\x65rived_labels\x18\x03 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12-\n\x0e\x64\x65rived_owners\x18\x04 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12*\n\x0b\x64\x65rived_ccs\x18\x05 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12\'\n\x08warnings\x18\x06 \x03(\x0b\x32\x15.monorail.ValueAndWhy\x12%\n\x06\x65rrors\x18\x07 \x03(\x0b\x32\x15.monorail.ValueAndWhy\"\xa9\x01\n\x1cRerankBlockedOnIssuesRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12%\n\tmoved_ref\x18\x03 \x01(\x0b\x32\x12.monorail.IssueRef\x12&\n\ntarget_ref\x18\x04 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x13\n\x0bsplit_above\x18\x05 \x01(\x08\"R\n\x1dRerankBlockedOnIssuesResponse\x12\x31\n\x15\x62locked_on_issue_refs\x18\x01 \x03(\x0b\x32\x12.monorail.IssueRef\"K\n\x12\x44\x65leteIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x0e\n\x06\x64\x65lete\x18\x03 \x01(\x08\"\x15\n\x13\x44\x65leteIssueResponse\"h\n\x19\x44\x65leteIssueCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x0e\n\x06\x64\x65lete\x18\x04 \x01(\x08\"\x1c\n\x1a\x44\x65leteIssueCommentResponse\"}\n\x17\x44\x65leteAttachmentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x15\n\rattachment_id\x18\x04 \x01(\r\x12\x0e\n\x06\x64\x65lete\x18\x05 \x01(\x08\"\x1a\n\x18\x44\x65leteAttachmentResponse\"I\n\x11\x46lagIssuesRequest\x12&\n\nissue_refs\x18\x02 \x03(\x0b\x32\x12.monorail.IssueRef\x12\x0c\n\x04\x66lag\x18\x03 \x01(\x08\"\x14\n\x12\x46lagIssuesResponse\"_\n\x12\x46lagCommentRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x14\n\x0csequence_num\x18\x03 \x01(\r\x12\x0c\n\x04\x66lag\x18\x04 \x01(\x08\"\x15\n\x13\x46lagCommentResponse\"D\n\x1bListIssuePermissionsRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\"3\n\x1cListIssuePermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"V\n\x10MoveIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x1b\n\x13target_project_name\x18\x03 \x01(\t\">\n\x11MoveIssueResponse\x12)\n\rnew_issue_ref\x18\x01 \x01(\x0b\x32\x12.monorail.IssueRef\"V\n\x10\x43opyIssueRequest\x12%\n\tissue_ref\x18\x02 \x01(\x0b\x32\x12.monorail.IssueRef\x12\x1b\n\x13target_project_name\x18\x03 \x01(\t\">\n\x11\x43opyIssueResponse\x12)\n\rnew_issue_ref\x18\x01 \x01(\x0b\x32\x12.monorail.IssueRef2\xeb\x11\n\x06Issues\x12\x46\n\x0b\x43reateIssue\x12\x1c.monorail.CreateIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12@\n\x08GetIssue\x12\x19.monorail.GetIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12I\n\nListIssues\x12\x1b.monorail.ListIssuesRequest\x1a\x1c.monorail.ListIssuesResponse\"\x00\x12g\n\x14ListReferencedIssues\x12%.monorail.ListReferencedIssuesRequest\x1a&.monorail.ListReferencedIssuesResponse\"\x00\x12p\n\x17ListApplicableFieldDefs\x12(.monorail.ListApplicableFieldDefsRequest\x1a).monorail.ListApplicableFieldDefsResponse\"\x00\x12\x46\n\x0bUpdateIssue\x12\x1c.monorail.UpdateIssueRequest\x1a\x17.monorail.IssueResponse\"\x00\x12\x46\n\tStarIssue\x12\x1a.monorail.StarIssueRequest\x1a\x1b.monorail.StarIssueResponse\"\x00\x12U\n\x0eIsIssueStarred\x12\x1f.monorail.IsIssueStarredRequest\x1a .monorail.IsIssueStarredResponse\"\x00\x12^\n\x11ListStarredIssues\x12\".monorail.ListStarredIssuesRequest\x1a#.monorail.ListStarredIssuesResponse\"\x00\x12O\n\x0cListComments\x12\x1d.monorail.ListCommentsRequest\x1a\x1e.monorail.ListCommentsResponse\"\x00\x12U\n\x0eListActivities\x12\x1f.monorail.ListActivitiesRequest\x1a .monorail.ListActivitiesResponse\"\x00\x12I\n\rDeleteComment\x12\x1e.monorail.DeleteCommentRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x64\n\x13\x42ulkUpdateApprovals\x12$.monorail.BulkUpdateApprovalsRequest\x1a%.monorail.BulkUpdateApprovalsResponse\"\x00\x12U\n\x0eUpdateApproval\x12\x1f.monorail.UpdateApprovalRequest\x1a .monorail.UpdateApprovalResponse\"\x00\x12\x82\x01\n\x1d\x43onvertIssueApprovalsTemplate\x12..monorail.ConvertIssueApprovalsTemplateRequest\x1a/.monorail.ConvertIssueApprovalsTemplateResponse\"\x00\x12R\n\rIssueSnapshot\x12\x1e.monorail.IssueSnapshotRequest\x1a\x1f.monorail.IssueSnapshotResponse\"\x00\x12U\n\x0ePresubmitIssue\x12\x1f.monorail.PresubmitIssueRequest\x1a .monorail.PresubmitIssueResponse\"\x00\x12j\n\x15RerankBlockedOnIssues\x12&.monorail.RerankBlockedOnIssuesRequest\x1a\'.monorail.RerankBlockedOnIssuesResponse\"\x00\x12L\n\x0b\x44\x65leteIssue\x12\x1c.monorail.DeleteIssueRequest\x1a\x1d.monorail.DeleteIssueResponse\"\x00\x12\x61\n\x12\x44\x65leteIssueComment\x12#.monorail.DeleteIssueCommentRequest\x1a$.monorail.DeleteIssueCommentResponse\"\x00\x12[\n\x10\x44\x65leteAttachment\x12!.monorail.DeleteAttachmentRequest\x1a\".monorail.DeleteAttachmentResponse\"\x00\x12I\n\nFlagIssues\x12\x1b.monorail.FlagIssuesRequest\x1a\x1c.monorail.FlagIssuesResponse\"\x00\x12L\n\x0b\x46lagComment\x12\x1c.monorail.FlagCommentRequest\x1a\x1d.monorail.FlagCommentResponse\"\x00\x12g\n\x14ListIssuePermissions\x12%.monorail.ListIssuePermissionsRequest\x1a&.monorail.ListIssuePermissionsResponse\"\x00\x12\x46\n\tMoveIssue\x12\x1a.monorail.MoveIssueRequest\x1a\x1b.monorail.MoveIssueResponse\"\x00\x12\x46\n\tCopyIssue\x12\x1a.monorail.CopyIssueRequest\x1a\x1b.monorail.CopyIssueResponse\"\x00\x42)Z\'infra/monorailv2/api/api_proto;monorailb\x06proto3')
 
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api.api_proto.issues_pb2', globals())
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-
-
-_CREATEISSUEREQUEST = _descriptor.Descriptor(
-  name='CreateIssueRequest',
-  full_name='monorail.CreateIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.CreateIssueRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='issue', full_name='monorail.CreateIssueRequest.issue', index=1,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=169,
-  serialized_end=243,
-)
-
-
-_GETISSUEREQUEST = _descriptor.Descriptor(
-  name='GetIssueRequest',
-  full_name='monorail.GetIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.GetIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=245,
-  serialized_end=301,
-)
-
-
-_ISSUERESPONSE = _descriptor.Descriptor(
-  name='IssueResponse',
-  full_name='monorail.IssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue', full_name='monorail.IssueResponse.issue', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='moved_to_ref', full_name='monorail.IssueResponse.moved_to_ref', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=303,
-  serialized_end=392,
-)
-
-
-_LISTISSUESREQUEST = _descriptor.Descriptor(
-  name='ListIssuesRequest',
-  full_name='monorail.ListIssuesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='query', full_name='monorail.ListIssuesRequest.query', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='canned_query', full_name='monorail.ListIssuesRequest.canned_query', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='project_names', full_name='monorail.ListIssuesRequest.project_names', index=2,
-      number=4, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='pagination', full_name='monorail.ListIssuesRequest.pagination', index=3,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='group_by_spec', full_name='monorail.ListIssuesRequest.group_by_spec', index=4,
-      number=6, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='sort_spec', full_name='monorail.ListIssuesRequest.sort_spec', index=5,
-      number=7, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=395,
-  serialized_end=558,
-)
-
-
-_LISTISSUESRESPONSE = _descriptor.Descriptor(
-  name='ListIssuesResponse',
-  full_name='monorail.ListIssuesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issues', full_name='monorail.ListIssuesResponse.issues', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='total_results', full_name='monorail.ListIssuesResponse.total_results', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=560,
-  serialized_end=636,
-)
-
-
-_LISTREFERENCEDISSUESREQUEST = _descriptor.Descriptor(
-  name='ListReferencedIssuesRequest',
-  full_name='monorail.ListReferencedIssuesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_refs', full_name='monorail.ListReferencedIssuesRequest.issue_refs', index=0,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=638,
-  serialized_end=707,
-)
-
-
-_LISTREFERENCEDISSUESRESPONSE = _descriptor.Descriptor(
-  name='ListReferencedIssuesResponse',
-  full_name='monorail.ListReferencedIssuesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='open_refs', full_name='monorail.ListReferencedIssuesResponse.open_refs', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='closed_refs', full_name='monorail.ListReferencedIssuesResponse.closed_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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=709,
-  serialized_end=813,
-)
-
-
-_LISTAPPLICABLEFIELDDEFSREQUEST = _descriptor.Descriptor(
-  name='ListApplicableFieldDefsRequest',
-  full_name='monorail.ListApplicableFieldDefsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_refs', full_name='monorail.ListApplicableFieldDefsRequest.issue_refs', index=0,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=815,
-  serialized_end=887,
-)
-
-
-_LISTAPPLICABLEFIELDDEFSRESPONSE = _descriptor.Descriptor(
-  name='ListApplicableFieldDefsResponse',
-  full_name='monorail.ListApplicableFieldDefsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='field_defs', full_name='monorail.ListApplicableFieldDefsResponse.field_defs', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=889,
-  serialized_end=962,
-)
-
-
-_UPDATEISSUEREQUEST = _descriptor.Descriptor(
-  name='UpdateIssueRequest',
-  full_name='monorail.UpdateIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.UpdateIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='send_email', full_name='monorail.UpdateIssueRequest.send_email', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='delta', full_name='monorail.UpdateIssueRequest.delta', index=2,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='comment_content', full_name='monorail.UpdateIssueRequest.comment_content', index=3,
-      number=5, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='is_description', full_name='monorail.UpdateIssueRequest.is_description', index=4,
-      number=6, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='uploads', full_name='monorail.UpdateIssueRequest.uploads', index=5,
-      number=7, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='kept_attachments', full_name='monorail.UpdateIssueRequest.kept_attachments', index=6,
-      number=8, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=965,
-  serialized_end=1201,
-)
-
-
-_STARISSUEREQUEST = _descriptor.Descriptor(
-  name='StarIssueRequest',
-  full_name='monorail.StarIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.StarIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='starred', full_name='monorail.StarIssueRequest.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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1203,
-  serialized_end=1277,
-)
-
-
-_STARISSUERESPONSE = _descriptor.Descriptor(
-  name='StarIssueResponse',
-  full_name='monorail.StarIssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='star_count', full_name='monorail.StarIssueResponse.star_count', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1279,
-  serialized_end=1318,
-)
-
-
-_ISISSUESTARREDREQUEST = _descriptor.Descriptor(
-  name='IsIssueStarredRequest',
-  full_name='monorail.IsIssueStarredRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.IsIssueStarredRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1320,
-  serialized_end=1382,
-)
-
-
-_ISISSUESTARREDRESPONSE = _descriptor.Descriptor(
-  name='IsIssueStarredResponse',
-  full_name='monorail.IsIssueStarredResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='is_starred', full_name='monorail.IsIssueStarredResponse.is_starred', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1384,
-  serialized_end=1428,
-)
-
-
-_LISTSTARREDISSUESREQUEST = _descriptor.Descriptor(
-  name='ListStarredIssuesRequest',
-  full_name='monorail.ListStarredIssuesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1430,
-  serialized_end=1456,
-)
-
-
-_LISTSTARREDISSUESRESPONSE = _descriptor.Descriptor(
-  name='ListStarredIssuesResponse',
-  full_name='monorail.ListStarredIssuesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='starred_issue_refs', full_name='monorail.ListStarredIssuesResponse.starred_issue_refs', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1458,
-  serialized_end=1533,
-)
-
-
-_LISTCOMMENTSREQUEST = _descriptor.Descriptor(
-  name='ListCommentsRequest',
-  full_name='monorail.ListCommentsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.ListCommentsRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1535,
-  serialized_end=1595,
-)
-
-
-_LISTCOMMENTSRESPONSE = _descriptor.Descriptor(
-  name='ListCommentsResponse',
-  full_name='monorail.ListCommentsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='comments', full_name='monorail.ListCommentsResponse.comments', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1597,
-  serialized_end=1656,
-)
-
-
-_LISTACTIVITIESREQUEST = _descriptor.Descriptor(
-  name='ListActivitiesRequest',
-  full_name='monorail.ListActivitiesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='user_ref', full_name='monorail.ListActivitiesRequest.user_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='before', full_name='monorail.ListActivitiesRequest.before', index=1,
-      number=3, type=7, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='after', full_name='monorail.ListActivitiesRequest.after', index=2,
-      number=4, type=7, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1658,
-  serialized_end=1749,
-)
-
-
-_LISTACTIVITIESRESPONSE = _descriptor.Descriptor(
-  name='ListActivitiesResponse',
-  full_name='monorail.ListActivitiesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='comments', full_name='monorail.ListActivitiesResponse.comments', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='issue_summaries', full_name='monorail.ListActivitiesResponse.issue_summaries', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1751,
-  serialized_end=1861,
-)
-
-
-_DELETECOMMENTREQUEST = _descriptor.Descriptor(
-  name='DeleteCommentRequest',
-  full_name='monorail.DeleteCommentRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.DeleteCommentRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='sequence_num', full_name='monorail.DeleteCommentRequest.sequence_num', index=1,
-      number=3, type=3, cpp_type=2, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='monorail.DeleteCommentRequest.delete', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1863,
-  serialized_end=1962,
-)
-
-
-_BULKUPDATEAPPROVALSREQUEST = _descriptor.Descriptor(
-  name='BulkUpdateApprovalsRequest',
-  full_name='monorail.BulkUpdateApprovalsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_refs', full_name='monorail.BulkUpdateApprovalsRequest.issue_refs', index=0,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='field_ref', full_name='monorail.BulkUpdateApprovalsRequest.field_ref', index=1,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='approval_delta', full_name='monorail.BulkUpdateApprovalsRequest.approval_delta', index=2,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='comment_content', full_name='monorail.BulkUpdateApprovalsRequest.comment_content', index=3,
-      number=5, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='send_email', full_name='monorail.BulkUpdateApprovalsRequest.send_email', index=4,
-      number=6, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1965,
-  serialized_end=2166,
-)
-
-
-_BULKUPDATEAPPROVALSRESPONSE = _descriptor.Descriptor(
-  name='BulkUpdateApprovalsResponse',
-  full_name='monorail.BulkUpdateApprovalsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_refs', full_name='monorail.BulkUpdateApprovalsResponse.issue_refs', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2168,
-  serialized_end=2237,
-)
-
-
-_UPDATEAPPROVALREQUEST = _descriptor.Descriptor(
-  name='UpdateApprovalRequest',
-  full_name='monorail.UpdateApprovalRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.UpdateApprovalRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='field_ref', full_name='monorail.UpdateApprovalRequest.field_ref', index=1,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='approval_delta', full_name='monorail.UpdateApprovalRequest.approval_delta', index=2,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='comment_content', full_name='monorail.UpdateApprovalRequest.comment_content', index=3,
-      number=5, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='send_email', full_name='monorail.UpdateApprovalRequest.send_email', index=4,
-      number=6, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='is_description', full_name='monorail.UpdateApprovalRequest.is_description', index=5,
-      number=7, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='uploads', full_name='monorail.UpdateApprovalRequest.uploads', index=6,
-      number=8, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='kept_attachments', full_name='monorail.UpdateApprovalRequest.kept_attachments', index=7,
-      number=9, type=3, cpp_type=2, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2240,
-  serialized_end=2530,
-)
-
-
-_UPDATEAPPROVALRESPONSE = _descriptor.Descriptor(
-  name='UpdateApprovalResponse',
-  full_name='monorail.UpdateApprovalResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='approval', full_name='monorail.UpdateApprovalResponse.approval', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2532,
-  serialized_end=2594,
-)
-
-
-_CONVERTISSUEAPPROVALSTEMPLATEREQUEST = _descriptor.Descriptor(
-  name='ConvertIssueApprovalsTemplateRequest',
-  full_name='monorail.ConvertIssueApprovalsTemplateRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.ConvertIssueApprovalsTemplateRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='template_name', full_name='monorail.ConvertIssueApprovalsTemplateRequest.template_name', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='comment_content', full_name='monorail.ConvertIssueApprovalsTemplateRequest.comment_content', index=2,
-      number=4, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='send_email', full_name='monorail.ConvertIssueApprovalsTemplateRequest.send_email', index=3,
-      number=5, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2597,
-  serialized_end=2742,
-)
-
-
-_CONVERTISSUEAPPROVALSTEMPLATERESPONSE = _descriptor.Descriptor(
-  name='ConvertIssueApprovalsTemplateResponse',
-  full_name='monorail.ConvertIssueApprovalsTemplateResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue', full_name='monorail.ConvertIssueApprovalsTemplateResponse.issue', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2744,
-  serialized_end=2815,
-)
-
-
-_ISSUESNAPSHOTREQUEST = _descriptor.Descriptor(
-  name='IssueSnapshotRequest',
-  full_name='monorail.IssueSnapshotRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='timestamp', full_name='monorail.IssueSnapshotRequest.timestamp', index=0,
-      number=2, type=5, cpp_type=1, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='query', full_name='monorail.IssueSnapshotRequest.query', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='canned_query', full_name='monorail.IssueSnapshotRequest.canned_query', index=2,
-      number=4, type=5, cpp_type=1, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='group_by', full_name='monorail.IssueSnapshotRequest.group_by', index=3,
-      number=5, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='label_prefix', full_name='monorail.IssueSnapshotRequest.label_prefix', index=4,
-      number=6, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.IssueSnapshotRequest.project_name', index=5,
-      number=7, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='hotlist_id', full_name='monorail.IssueSnapshotRequest.hotlist_id', index=6,
-      number=8, type=5, cpp_type=1, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2818,
-  serialized_end=2978,
-)
-
-
-_ISSUESNAPSHOTCOUNT = _descriptor.Descriptor(
-  name='IssueSnapshotCount',
-  full_name='monorail.IssueSnapshotCount',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='dimension', full_name='monorail.IssueSnapshotCount.dimension', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='count', full_name='monorail.IssueSnapshotCount.count', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2980,
-  serialized_end=3034,
-)
-
-
-_ISSUESNAPSHOTRESPONSE = _descriptor.Descriptor(
-  name='IssueSnapshotResponse',
-  full_name='monorail.IssueSnapshotResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='snapshot_count', full_name='monorail.IssueSnapshotResponse.snapshot_count', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='unsupported_field', full_name='monorail.IssueSnapshotResponse.unsupported_field', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='search_limit_reached', full_name='monorail.IssueSnapshotResponse.search_limit_reached', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3037,
-  serialized_end=3171,
-)
-
-
-_PRESUBMITISSUEREQUEST = _descriptor.Descriptor(
-  name='PresubmitIssueRequest',
-  full_name='monorail.PresubmitIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.PresubmitIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='issue_delta', full_name='monorail.PresubmitIssueRequest.issue_delta', index=1,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3173,
-  serialized_end=3278,
-)
-
-
-_PRESUBMITISSUERESPONSE = _descriptor.Descriptor(
-  name='PresubmitIssueResponse',
-  full_name='monorail.PresubmitIssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='owner_availability', full_name='monorail.PresubmitIssueResponse.owner_availability', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='owner_availability_state', full_name='monorail.PresubmitIssueResponse.owner_availability_state', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='derived_labels', full_name='monorail.PresubmitIssueResponse.derived_labels', index=2,
-      number=3, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='derived_owners', full_name='monorail.PresubmitIssueResponse.derived_owners', index=3,
-      number=4, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='derived_ccs', full_name='monorail.PresubmitIssueResponse.derived_ccs', index=4,
-      number=5, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='warnings', full_name='monorail.PresubmitIssueResponse.warnings', index=5,
-      number=6, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='errors', full_name='monorail.PresubmitIssueResponse.errors', index=6,
-      number=7, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3281,
-  serialized_end=3585,
-)
-
-
-_RERANKBLOCKEDONISSUESREQUEST = _descriptor.Descriptor(
-  name='RerankBlockedOnIssuesRequest',
-  full_name='monorail.RerankBlockedOnIssuesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.RerankBlockedOnIssuesRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='moved_ref', full_name='monorail.RerankBlockedOnIssuesRequest.moved_ref', index=1,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='target_ref', full_name='monorail.RerankBlockedOnIssuesRequest.target_ref', index=2,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='split_above', full_name='monorail.RerankBlockedOnIssuesRequest.split_above', index=3,
-      number=5, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3588,
-  serialized_end=3757,
-)
-
-
-_RERANKBLOCKEDONISSUESRESPONSE = _descriptor.Descriptor(
-  name='RerankBlockedOnIssuesResponse',
-  full_name='monorail.RerankBlockedOnIssuesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='blocked_on_issue_refs', full_name='monorail.RerankBlockedOnIssuesResponse.blocked_on_issue_refs', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3759,
-  serialized_end=3841,
-)
-
-
-_DELETEISSUEREQUEST = _descriptor.Descriptor(
-  name='DeleteIssueRequest',
-  full_name='monorail.DeleteIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.DeleteIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='monorail.DeleteIssueRequest.delete', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3843,
-  serialized_end=3918,
-)
-
-
-_DELETEISSUERESPONSE = _descriptor.Descriptor(
-  name='DeleteIssueResponse',
-  full_name='monorail.DeleteIssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3920,
-  serialized_end=3941,
-)
-
-
-_DELETEISSUECOMMENTREQUEST = _descriptor.Descriptor(
-  name='DeleteIssueCommentRequest',
-  full_name='monorail.DeleteIssueCommentRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.DeleteIssueCommentRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='sequence_num', full_name='monorail.DeleteIssueCommentRequest.sequence_num', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='monorail.DeleteIssueCommentRequest.delete', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3943,
-  serialized_end=4047,
-)
-
-
-_DELETEISSUECOMMENTRESPONSE = _descriptor.Descriptor(
-  name='DeleteIssueCommentResponse',
-  full_name='monorail.DeleteIssueCommentResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4049,
-  serialized_end=4077,
-)
-
-
-_DELETEATTACHMENTREQUEST = _descriptor.Descriptor(
-  name='DeleteAttachmentRequest',
-  full_name='monorail.DeleteAttachmentRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.DeleteAttachmentRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='sequence_num', full_name='monorail.DeleteAttachmentRequest.sequence_num', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='attachment_id', full_name='monorail.DeleteAttachmentRequest.attachment_id', index=2,
-      number=4, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='delete', full_name='monorail.DeleteAttachmentRequest.delete', index=3,
-      number=5, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4079,
-  serialized_end=4204,
-)
-
-
-_DELETEATTACHMENTRESPONSE = _descriptor.Descriptor(
-  name='DeleteAttachmentResponse',
-  full_name='monorail.DeleteAttachmentResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4206,
-  serialized_end=4232,
-)
-
-
-_FLAGISSUESREQUEST = _descriptor.Descriptor(
-  name='FlagIssuesRequest',
-  full_name='monorail.FlagIssuesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_refs', full_name='monorail.FlagIssuesRequest.issue_refs', index=0,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='flag', full_name='monorail.FlagIssuesRequest.flag', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4234,
-  serialized_end=4307,
-)
-
-
-_FLAGISSUESRESPONSE = _descriptor.Descriptor(
-  name='FlagIssuesResponse',
-  full_name='monorail.FlagIssuesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4309,
-  serialized_end=4329,
-)
-
-
-_FLAGCOMMENTREQUEST = _descriptor.Descriptor(
-  name='FlagCommentRequest',
-  full_name='monorail.FlagCommentRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.FlagCommentRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='sequence_num', full_name='monorail.FlagCommentRequest.sequence_num', index=1,
-      number=3, type=13, cpp_type=3, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='flag', full_name='monorail.FlagCommentRequest.flag', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4331,
-  serialized_end=4426,
-)
-
-
-_FLAGCOMMENTRESPONSE = _descriptor.Descriptor(
-  name='FlagCommentResponse',
-  full_name='monorail.FlagCommentResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4428,
-  serialized_end=4449,
-)
-
-
-_LISTISSUEPERMISSIONSREQUEST = _descriptor.Descriptor(
-  name='ListIssuePermissionsRequest',
-  full_name='monorail.ListIssuePermissionsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.ListIssuePermissionsRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4451,
-  serialized_end=4519,
-)
-
-
-_LISTISSUEPERMISSIONSRESPONSE = _descriptor.Descriptor(
-  name='ListIssuePermissionsResponse',
-  full_name='monorail.ListIssuePermissionsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='permissions', full_name='monorail.ListIssuePermissionsResponse.permissions', index=0,
-      number=1, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4521,
-  serialized_end=4572,
-)
-
-
-_MOVEISSUEREQUEST = _descriptor.Descriptor(
-  name='MoveIssueRequest',
-  full_name='monorail.MoveIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.MoveIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='target_project_name', full_name='monorail.MoveIssueRequest.target_project_name', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4574,
-  serialized_end=4660,
-)
-
-
-_MOVEISSUERESPONSE = _descriptor.Descriptor(
-  name='MoveIssueResponse',
-  full_name='monorail.MoveIssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='new_issue_ref', full_name='monorail.MoveIssueResponse.new_issue_ref', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4662,
-  serialized_end=4724,
-)
-
-
-_COPYISSUEREQUEST = _descriptor.Descriptor(
-  name='CopyIssueRequest',
-  full_name='monorail.CopyIssueRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='issue_ref', full_name='monorail.CopyIssueRequest.issue_ref', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='target_project_name', full_name='monorail.CopyIssueRequest.target_project_name', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4726,
-  serialized_end=4812,
-)
-
-
-_COPYISSUERESPONSE = _descriptor.Descriptor(
-  name='CopyIssueResponse',
-  full_name='monorail.CopyIssueResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='new_issue_ref', full_name='monorail.CopyIssueResponse.new_issue_ref', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4814,
-  serialized_end=4876,
-)
-
-_CREATEISSUEREQUEST.fields_by_name['issue'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_GETISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_ISSUERESPONSE.fields_by_name['issue'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_ISSUERESPONSE.fields_by_name['moved_to_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTISSUESREQUEST.fields_by_name['pagination'].message_type = api_dot_api__proto_dot_common__pb2._PAGINATION
-_LISTISSUESRESPONSE.fields_by_name['issues'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_LISTREFERENCEDISSUESREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTREFERENCEDISSUESRESPONSE.fields_by_name['open_refs'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_LISTREFERENCEDISSUESRESPONSE.fields_by_name['closed_refs'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_LISTAPPLICABLEFIELDDEFSREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTAPPLICABLEFIELDDEFSRESPONSE.fields_by_name['field_defs'].message_type = api_dot_api__proto_dot_project__objects__pb2._FIELDDEF
-_UPDATEISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_UPDATEISSUEREQUEST.fields_by_name['delta'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUEDELTA
-_UPDATEISSUEREQUEST.fields_by_name['uploads'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ATTACHMENTUPLOAD
-_STARISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_ISISSUESTARREDREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTSTARREDISSUESRESPONSE.fields_by_name['starred_issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTCOMMENTSREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTCOMMENTSRESPONSE.fields_by_name['comments'].message_type = api_dot_api__proto_dot_issue__objects__pb2._COMMENT
-_LISTACTIVITIESREQUEST.fields_by_name['user_ref'].message_type = api_dot_api__proto_dot_common__pb2._USERREF
-_LISTACTIVITIESRESPONSE.fields_by_name['comments'].message_type = api_dot_api__proto_dot_issue__objects__pb2._COMMENT
-_LISTACTIVITIESRESPONSE.fields_by_name['issue_summaries'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUESUMMARY
-_DELETECOMMENTREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_BULKUPDATEAPPROVALSREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_BULKUPDATEAPPROVALSREQUEST.fields_by_name['field_ref'].message_type = api_dot_api__proto_dot_common__pb2._FIELDREF
-_BULKUPDATEAPPROVALSREQUEST.fields_by_name['approval_delta'].message_type = api_dot_api__proto_dot_issue__objects__pb2._APPROVALDELTA
-_BULKUPDATEAPPROVALSRESPONSE.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_UPDATEAPPROVALREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_UPDATEAPPROVALREQUEST.fields_by_name['field_ref'].message_type = api_dot_api__proto_dot_common__pb2._FIELDREF
-_UPDATEAPPROVALREQUEST.fields_by_name['approval_delta'].message_type = api_dot_api__proto_dot_issue__objects__pb2._APPROVALDELTA
-_UPDATEAPPROVALREQUEST.fields_by_name['uploads'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ATTACHMENTUPLOAD
-_UPDATEAPPROVALRESPONSE.fields_by_name['approval'].message_type = api_dot_api__proto_dot_issue__objects__pb2._APPROVAL
-_CONVERTISSUEAPPROVALSTEMPLATEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_CONVERTISSUEAPPROVALSTEMPLATERESPONSE.fields_by_name['issue'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUE
-_ISSUESNAPSHOTRESPONSE.fields_by_name['snapshot_count'].message_type = _ISSUESNAPSHOTCOUNT
-_PRESUBMITISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_PRESUBMITISSUEREQUEST.fields_by_name['issue_delta'].message_type = api_dot_api__proto_dot_issue__objects__pb2._ISSUEDELTA
-_PRESUBMITISSUERESPONSE.fields_by_name['derived_labels'].message_type = api_dot_api__proto_dot_common__pb2._VALUEANDWHY
-_PRESUBMITISSUERESPONSE.fields_by_name['derived_owners'].message_type = api_dot_api__proto_dot_common__pb2._VALUEANDWHY
-_PRESUBMITISSUERESPONSE.fields_by_name['derived_ccs'].message_type = api_dot_api__proto_dot_common__pb2._VALUEANDWHY
-_PRESUBMITISSUERESPONSE.fields_by_name['warnings'].message_type = api_dot_api__proto_dot_common__pb2._VALUEANDWHY
-_PRESUBMITISSUERESPONSE.fields_by_name['errors'].message_type = api_dot_api__proto_dot_common__pb2._VALUEANDWHY
-_RERANKBLOCKEDONISSUESREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_RERANKBLOCKEDONISSUESREQUEST.fields_by_name['moved_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_RERANKBLOCKEDONISSUESREQUEST.fields_by_name['target_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_RERANKBLOCKEDONISSUESRESPONSE.fields_by_name['blocked_on_issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_DELETEISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_DELETEISSUECOMMENTREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_DELETEATTACHMENTREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_FLAGISSUESREQUEST.fields_by_name['issue_refs'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_FLAGCOMMENTREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_LISTISSUEPERMISSIONSREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_MOVEISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_MOVEISSUERESPONSE.fields_by_name['new_issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_COPYISSUEREQUEST.fields_by_name['issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-_COPYISSUERESPONSE.fields_by_name['new_issue_ref'].message_type = api_dot_api__proto_dot_common__pb2._ISSUEREF
-DESCRIPTOR.message_types_by_name['CreateIssueRequest'] = _CREATEISSUEREQUEST
-DESCRIPTOR.message_types_by_name['GetIssueRequest'] = _GETISSUEREQUEST
-DESCRIPTOR.message_types_by_name['IssueResponse'] = _ISSUERESPONSE
-DESCRIPTOR.message_types_by_name['ListIssuesRequest'] = _LISTISSUESREQUEST
-DESCRIPTOR.message_types_by_name['ListIssuesResponse'] = _LISTISSUESRESPONSE
-DESCRIPTOR.message_types_by_name['ListReferencedIssuesRequest'] = _LISTREFERENCEDISSUESREQUEST
-DESCRIPTOR.message_types_by_name['ListReferencedIssuesResponse'] = _LISTREFERENCEDISSUESRESPONSE
-DESCRIPTOR.message_types_by_name['ListApplicableFieldDefsRequest'] = _LISTAPPLICABLEFIELDDEFSREQUEST
-DESCRIPTOR.message_types_by_name['ListApplicableFieldDefsResponse'] = _LISTAPPLICABLEFIELDDEFSRESPONSE
-DESCRIPTOR.message_types_by_name['UpdateIssueRequest'] = _UPDATEISSUEREQUEST
-DESCRIPTOR.message_types_by_name['StarIssueRequest'] = _STARISSUEREQUEST
-DESCRIPTOR.message_types_by_name['StarIssueResponse'] = _STARISSUERESPONSE
-DESCRIPTOR.message_types_by_name['IsIssueStarredRequest'] = _ISISSUESTARREDREQUEST
-DESCRIPTOR.message_types_by_name['IsIssueStarredResponse'] = _ISISSUESTARREDRESPONSE
-DESCRIPTOR.message_types_by_name['ListStarredIssuesRequest'] = _LISTSTARREDISSUESREQUEST
-DESCRIPTOR.message_types_by_name['ListStarredIssuesResponse'] = _LISTSTARREDISSUESRESPONSE
-DESCRIPTOR.message_types_by_name['ListCommentsRequest'] = _LISTCOMMENTSREQUEST
-DESCRIPTOR.message_types_by_name['ListCommentsResponse'] = _LISTCOMMENTSRESPONSE
-DESCRIPTOR.message_types_by_name['ListActivitiesRequest'] = _LISTACTIVITIESREQUEST
-DESCRIPTOR.message_types_by_name['ListActivitiesResponse'] = _LISTACTIVITIESRESPONSE
-DESCRIPTOR.message_types_by_name['DeleteCommentRequest'] = _DELETECOMMENTREQUEST
-DESCRIPTOR.message_types_by_name['BulkUpdateApprovalsRequest'] = _BULKUPDATEAPPROVALSREQUEST
-DESCRIPTOR.message_types_by_name['BulkUpdateApprovalsResponse'] = _BULKUPDATEAPPROVALSRESPONSE
-DESCRIPTOR.message_types_by_name['UpdateApprovalRequest'] = _UPDATEAPPROVALREQUEST
-DESCRIPTOR.message_types_by_name['UpdateApprovalResponse'] = _UPDATEAPPROVALRESPONSE
-DESCRIPTOR.message_types_by_name['ConvertIssueApprovalsTemplateRequest'] = _CONVERTISSUEAPPROVALSTEMPLATEREQUEST
-DESCRIPTOR.message_types_by_name['ConvertIssueApprovalsTemplateResponse'] = _CONVERTISSUEAPPROVALSTEMPLATERESPONSE
-DESCRIPTOR.message_types_by_name['IssueSnapshotRequest'] = _ISSUESNAPSHOTREQUEST
-DESCRIPTOR.message_types_by_name['IssueSnapshotCount'] = _ISSUESNAPSHOTCOUNT
-DESCRIPTOR.message_types_by_name['IssueSnapshotResponse'] = _ISSUESNAPSHOTRESPONSE
-DESCRIPTOR.message_types_by_name['PresubmitIssueRequest'] = _PRESUBMITISSUEREQUEST
-DESCRIPTOR.message_types_by_name['PresubmitIssueResponse'] = _PRESUBMITISSUERESPONSE
-DESCRIPTOR.message_types_by_name['RerankBlockedOnIssuesRequest'] = _RERANKBLOCKEDONISSUESREQUEST
-DESCRIPTOR.message_types_by_name['RerankBlockedOnIssuesResponse'] = _RERANKBLOCKEDONISSUESRESPONSE
-DESCRIPTOR.message_types_by_name['DeleteIssueRequest'] = _DELETEISSUEREQUEST
-DESCRIPTOR.message_types_by_name['DeleteIssueResponse'] = _DELETEISSUERESPONSE
-DESCRIPTOR.message_types_by_name['DeleteIssueCommentRequest'] = _DELETEISSUECOMMENTREQUEST
-DESCRIPTOR.message_types_by_name['DeleteIssueCommentResponse'] = _DELETEISSUECOMMENTRESPONSE
-DESCRIPTOR.message_types_by_name['DeleteAttachmentRequest'] = _DELETEATTACHMENTREQUEST
-DESCRIPTOR.message_types_by_name['DeleteAttachmentResponse'] = _DELETEATTACHMENTRESPONSE
-DESCRIPTOR.message_types_by_name['FlagIssuesRequest'] = _FLAGISSUESREQUEST
-DESCRIPTOR.message_types_by_name['FlagIssuesResponse'] = _FLAGISSUESRESPONSE
-DESCRIPTOR.message_types_by_name['FlagCommentRequest'] = _FLAGCOMMENTREQUEST
-DESCRIPTOR.message_types_by_name['FlagCommentResponse'] = _FLAGCOMMENTRESPONSE
-DESCRIPTOR.message_types_by_name['ListIssuePermissionsRequest'] = _LISTISSUEPERMISSIONSREQUEST
-DESCRIPTOR.message_types_by_name['ListIssuePermissionsResponse'] = _LISTISSUEPERMISSIONSRESPONSE
-DESCRIPTOR.message_types_by_name['MoveIssueRequest'] = _MOVEISSUEREQUEST
-DESCRIPTOR.message_types_by_name['MoveIssueResponse'] = _MOVEISSUERESPONSE
-DESCRIPTOR.message_types_by_name['CopyIssueRequest'] = _COPYISSUEREQUEST
-DESCRIPTOR.message_types_by_name['CopyIssueResponse'] = _COPYISSUERESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-CreateIssueRequest = _reflection.GeneratedProtocolMessageType('CreateIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CREATEISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CreateIssueRequest)
-  })
-_sym_db.RegisterMessage(CreateIssueRequest)
-
-GetIssueRequest = _reflection.GeneratedProtocolMessageType('GetIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetIssueRequest)
-  })
-_sym_db.RegisterMessage(GetIssueRequest)
-
-IssueResponse = _reflection.GeneratedProtocolMessageType('IssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _ISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IssueResponse)
-  })
-_sym_db.RegisterMessage(IssueResponse)
-
-ListIssuesRequest = _reflection.GeneratedProtocolMessageType('ListIssuesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListIssuesRequest)
-  })
-_sym_db.RegisterMessage(ListIssuesRequest)
-
-ListIssuesResponse = _reflection.GeneratedProtocolMessageType('ListIssuesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListIssuesResponse)
-  })
-_sym_db.RegisterMessage(ListIssuesResponse)
-
-ListReferencedIssuesRequest = _reflection.GeneratedProtocolMessageType('ListReferencedIssuesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTREFERENCEDISSUESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListReferencedIssuesRequest)
-  })
-_sym_db.RegisterMessage(ListReferencedIssuesRequest)
-
-ListReferencedIssuesResponse = _reflection.GeneratedProtocolMessageType('ListReferencedIssuesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTREFERENCEDISSUESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListReferencedIssuesResponse)
-  })
-_sym_db.RegisterMessage(ListReferencedIssuesResponse)
-
-ListApplicableFieldDefsRequest = _reflection.GeneratedProtocolMessageType('ListApplicableFieldDefsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTAPPLICABLEFIELDDEFSREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListApplicableFieldDefsRequest)
-  })
-_sym_db.RegisterMessage(ListApplicableFieldDefsRequest)
-
-ListApplicableFieldDefsResponse = _reflection.GeneratedProtocolMessageType('ListApplicableFieldDefsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTAPPLICABLEFIELDDEFSRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListApplicableFieldDefsResponse)
-  })
-_sym_db.RegisterMessage(ListApplicableFieldDefsResponse)
-
-UpdateIssueRequest = _reflection.GeneratedProtocolMessageType('UpdateIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _UPDATEISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.UpdateIssueRequest)
-  })
-_sym_db.RegisterMessage(UpdateIssueRequest)
-
-StarIssueRequest = _reflection.GeneratedProtocolMessageType('StarIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _STARISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.StarIssueRequest)
-  })
-_sym_db.RegisterMessage(StarIssueRequest)
-
-StarIssueResponse = _reflection.GeneratedProtocolMessageType('StarIssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _STARISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.StarIssueResponse)
-  })
-_sym_db.RegisterMessage(StarIssueResponse)
-
-IsIssueStarredRequest = _reflection.GeneratedProtocolMessageType('IsIssueStarredRequest', (_message.Message,), {
-  'DESCRIPTOR' : _ISISSUESTARREDREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IsIssueStarredRequest)
-  })
-_sym_db.RegisterMessage(IsIssueStarredRequest)
-
-IsIssueStarredResponse = _reflection.GeneratedProtocolMessageType('IsIssueStarredResponse', (_message.Message,), {
-  'DESCRIPTOR' : _ISISSUESTARREDRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IsIssueStarredResponse)
-  })
-_sym_db.RegisterMessage(IsIssueStarredResponse)
-
-ListStarredIssuesRequest = _reflection.GeneratedProtocolMessageType('ListStarredIssuesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTSTARREDISSUESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListStarredIssuesRequest)
-  })
-_sym_db.RegisterMessage(ListStarredIssuesRequest)
-
-ListStarredIssuesResponse = _reflection.GeneratedProtocolMessageType('ListStarredIssuesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTSTARREDISSUESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListStarredIssuesResponse)
-  })
-_sym_db.RegisterMessage(ListStarredIssuesResponse)
-
-ListCommentsRequest = _reflection.GeneratedProtocolMessageType('ListCommentsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMMENTSREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListCommentsRequest)
-  })
-_sym_db.RegisterMessage(ListCommentsRequest)
-
-ListCommentsResponse = _reflection.GeneratedProtocolMessageType('ListCommentsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMMENTSRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListCommentsResponse)
-  })
-_sym_db.RegisterMessage(ListCommentsResponse)
-
-ListActivitiesRequest = _reflection.GeneratedProtocolMessageType('ListActivitiesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTACTIVITIESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListActivitiesRequest)
-  })
-_sym_db.RegisterMessage(ListActivitiesRequest)
-
-ListActivitiesResponse = _reflection.GeneratedProtocolMessageType('ListActivitiesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTACTIVITIESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListActivitiesResponse)
-  })
-_sym_db.RegisterMessage(ListActivitiesResponse)
-
-DeleteCommentRequest = _reflection.GeneratedProtocolMessageType('DeleteCommentRequest', (_message.Message,), {
-  'DESCRIPTOR' : _DELETECOMMENTREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteCommentRequest)
-  })
-_sym_db.RegisterMessage(DeleteCommentRequest)
-
-BulkUpdateApprovalsRequest = _reflection.GeneratedProtocolMessageType('BulkUpdateApprovalsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _BULKUPDATEAPPROVALSREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.BulkUpdateApprovalsRequest)
-  })
-_sym_db.RegisterMessage(BulkUpdateApprovalsRequest)
-
-BulkUpdateApprovalsResponse = _reflection.GeneratedProtocolMessageType('BulkUpdateApprovalsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _BULKUPDATEAPPROVALSRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.BulkUpdateApprovalsResponse)
-  })
-_sym_db.RegisterMessage(BulkUpdateApprovalsResponse)
-
-UpdateApprovalRequest = _reflection.GeneratedProtocolMessageType('UpdateApprovalRequest', (_message.Message,), {
-  'DESCRIPTOR' : _UPDATEAPPROVALREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.UpdateApprovalRequest)
-  })
-_sym_db.RegisterMessage(UpdateApprovalRequest)
-
-UpdateApprovalResponse = _reflection.GeneratedProtocolMessageType('UpdateApprovalResponse', (_message.Message,), {
-  'DESCRIPTOR' : _UPDATEAPPROVALRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.UpdateApprovalResponse)
-  })
-_sym_db.RegisterMessage(UpdateApprovalResponse)
-
-ConvertIssueApprovalsTemplateRequest = _reflection.GeneratedProtocolMessageType('ConvertIssueApprovalsTemplateRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CONVERTISSUEAPPROVALSTEMPLATEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ConvertIssueApprovalsTemplateRequest)
-  })
-_sym_db.RegisterMessage(ConvertIssueApprovalsTemplateRequest)
-
-ConvertIssueApprovalsTemplateResponse = _reflection.GeneratedProtocolMessageType('ConvertIssueApprovalsTemplateResponse', (_message.Message,), {
-  'DESCRIPTOR' : _CONVERTISSUEAPPROVALSTEMPLATERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ConvertIssueApprovalsTemplateResponse)
-  })
-_sym_db.RegisterMessage(ConvertIssueApprovalsTemplateResponse)
-
-IssueSnapshotRequest = _reflection.GeneratedProtocolMessageType('IssueSnapshotRequest', (_message.Message,), {
-  'DESCRIPTOR' : _ISSUESNAPSHOTREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IssueSnapshotRequest)
-  })
-_sym_db.RegisterMessage(IssueSnapshotRequest)
-
-IssueSnapshotCount = _reflection.GeneratedProtocolMessageType('IssueSnapshotCount', (_message.Message,), {
-  'DESCRIPTOR' : _ISSUESNAPSHOTCOUNT,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IssueSnapshotCount)
-  })
-_sym_db.RegisterMessage(IssueSnapshotCount)
-
-IssueSnapshotResponse = _reflection.GeneratedProtocolMessageType('IssueSnapshotResponse', (_message.Message,), {
-  'DESCRIPTOR' : _ISSUESNAPSHOTRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.IssueSnapshotResponse)
-  })
-_sym_db.RegisterMessage(IssueSnapshotResponse)
-
-PresubmitIssueRequest = _reflection.GeneratedProtocolMessageType('PresubmitIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _PRESUBMITISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.PresubmitIssueRequest)
-  })
-_sym_db.RegisterMessage(PresubmitIssueRequest)
-
-PresubmitIssueResponse = _reflection.GeneratedProtocolMessageType('PresubmitIssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _PRESUBMITISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.PresubmitIssueResponse)
-  })
-_sym_db.RegisterMessage(PresubmitIssueResponse)
-
-RerankBlockedOnIssuesRequest = _reflection.GeneratedProtocolMessageType('RerankBlockedOnIssuesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _RERANKBLOCKEDONISSUESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.RerankBlockedOnIssuesRequest)
-  })
-_sym_db.RegisterMessage(RerankBlockedOnIssuesRequest)
-
-RerankBlockedOnIssuesResponse = _reflection.GeneratedProtocolMessageType('RerankBlockedOnIssuesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _RERANKBLOCKEDONISSUESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.RerankBlockedOnIssuesResponse)
-  })
-_sym_db.RegisterMessage(RerankBlockedOnIssuesResponse)
-
-DeleteIssueRequest = _reflection.GeneratedProtocolMessageType('DeleteIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteIssueRequest)
-  })
-_sym_db.RegisterMessage(DeleteIssueRequest)
-
-DeleteIssueResponse = _reflection.GeneratedProtocolMessageType('DeleteIssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteIssueResponse)
-  })
-_sym_db.RegisterMessage(DeleteIssueResponse)
-
-DeleteIssueCommentRequest = _reflection.GeneratedProtocolMessageType('DeleteIssueCommentRequest', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEISSUECOMMENTREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteIssueCommentRequest)
-  })
-_sym_db.RegisterMessage(DeleteIssueCommentRequest)
-
-DeleteIssueCommentResponse = _reflection.GeneratedProtocolMessageType('DeleteIssueCommentResponse', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEISSUECOMMENTRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteIssueCommentResponse)
-  })
-_sym_db.RegisterMessage(DeleteIssueCommentResponse)
-
-DeleteAttachmentRequest = _reflection.GeneratedProtocolMessageType('DeleteAttachmentRequest', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEATTACHMENTREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteAttachmentRequest)
-  })
-_sym_db.RegisterMessage(DeleteAttachmentRequest)
-
-DeleteAttachmentResponse = _reflection.GeneratedProtocolMessageType('DeleteAttachmentResponse', (_message.Message,), {
-  'DESCRIPTOR' : _DELETEATTACHMENTRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.DeleteAttachmentResponse)
-  })
-_sym_db.RegisterMessage(DeleteAttachmentResponse)
-
-FlagIssuesRequest = _reflection.GeneratedProtocolMessageType('FlagIssuesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _FLAGISSUESREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.FlagIssuesRequest)
-  })
-_sym_db.RegisterMessage(FlagIssuesRequest)
-
-FlagIssuesResponse = _reflection.GeneratedProtocolMessageType('FlagIssuesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _FLAGISSUESRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.FlagIssuesResponse)
-  })
-_sym_db.RegisterMessage(FlagIssuesResponse)
-
-FlagCommentRequest = _reflection.GeneratedProtocolMessageType('FlagCommentRequest', (_message.Message,), {
-  'DESCRIPTOR' : _FLAGCOMMENTREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.FlagCommentRequest)
-  })
-_sym_db.RegisterMessage(FlagCommentRequest)
-
-FlagCommentResponse = _reflection.GeneratedProtocolMessageType('FlagCommentResponse', (_message.Message,), {
-  'DESCRIPTOR' : _FLAGCOMMENTRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.FlagCommentResponse)
-  })
-_sym_db.RegisterMessage(FlagCommentResponse)
-
-ListIssuePermissionsRequest = _reflection.GeneratedProtocolMessageType('ListIssuePermissionsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUEPERMISSIONSREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListIssuePermissionsRequest)
-  })
-_sym_db.RegisterMessage(ListIssuePermissionsRequest)
-
-ListIssuePermissionsResponse = _reflection.GeneratedProtocolMessageType('ListIssuePermissionsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTISSUEPERMISSIONSRESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListIssuePermissionsResponse)
-  })
-_sym_db.RegisterMessage(ListIssuePermissionsResponse)
-
-MoveIssueRequest = _reflection.GeneratedProtocolMessageType('MoveIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _MOVEISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.MoveIssueRequest)
-  })
-_sym_db.RegisterMessage(MoveIssueRequest)
-
-MoveIssueResponse = _reflection.GeneratedProtocolMessageType('MoveIssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _MOVEISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.MoveIssueResponse)
-  })
-_sym_db.RegisterMessage(MoveIssueResponse)
-
-CopyIssueRequest = _reflection.GeneratedProtocolMessageType('CopyIssueRequest', (_message.Message,), {
-  'DESCRIPTOR' : _COPYISSUEREQUEST,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CopyIssueRequest)
-  })
-_sym_db.RegisterMessage(CopyIssueRequest)
-
-CopyIssueResponse = _reflection.GeneratedProtocolMessageType('CopyIssueResponse', (_message.Message,), {
-  'DESCRIPTOR' : _COPYISSUERESPONSE,
-  '__module__' : 'api.api_proto.issues_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CopyIssueResponse)
-  })
-_sym_db.RegisterMessage(CopyIssueResponse)
-
-
-DESCRIPTOR._options = None
-
-_ISSUES = _descriptor.ServiceDescriptor(
-  name='Issues',
-  full_name='monorail.Issues',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=4879,
-  serialized_end=7162,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='CreateIssue',
-    full_name='monorail.Issues.CreateIssue',
-    index=0,
-    containing_service=None,
-    input_type=_CREATEISSUEREQUEST,
-    output_type=_ISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetIssue',
-    full_name='monorail.Issues.GetIssue',
-    index=1,
-    containing_service=None,
-    input_type=_GETISSUEREQUEST,
-    output_type=_ISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListIssues',
-    full_name='monorail.Issues.ListIssues',
-    index=2,
-    containing_service=None,
-    input_type=_LISTISSUESREQUEST,
-    output_type=_LISTISSUESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListReferencedIssues',
-    full_name='monorail.Issues.ListReferencedIssues',
-    index=3,
-    containing_service=None,
-    input_type=_LISTREFERENCEDISSUESREQUEST,
-    output_type=_LISTREFERENCEDISSUESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListApplicableFieldDefs',
-    full_name='monorail.Issues.ListApplicableFieldDefs',
-    index=4,
-    containing_service=None,
-    input_type=_LISTAPPLICABLEFIELDDEFSREQUEST,
-    output_type=_LISTAPPLICABLEFIELDDEFSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateIssue',
-    full_name='monorail.Issues.UpdateIssue',
-    index=5,
-    containing_service=None,
-    input_type=_UPDATEISSUEREQUEST,
-    output_type=_ISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='StarIssue',
-    full_name='monorail.Issues.StarIssue',
-    index=6,
-    containing_service=None,
-    input_type=_STARISSUEREQUEST,
-    output_type=_STARISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='IsIssueStarred',
-    full_name='monorail.Issues.IsIssueStarred',
-    index=7,
-    containing_service=None,
-    input_type=_ISISSUESTARREDREQUEST,
-    output_type=_ISISSUESTARREDRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListStarredIssues',
-    full_name='monorail.Issues.ListStarredIssues',
-    index=8,
-    containing_service=None,
-    input_type=_LISTSTARREDISSUESREQUEST,
-    output_type=_LISTSTARREDISSUESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListComments',
-    full_name='monorail.Issues.ListComments',
-    index=9,
-    containing_service=None,
-    input_type=_LISTCOMMENTSREQUEST,
-    output_type=_LISTCOMMENTSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListActivities',
-    full_name='monorail.Issues.ListActivities',
-    index=10,
-    containing_service=None,
-    input_type=_LISTACTIVITIESREQUEST,
-    output_type=_LISTACTIVITIESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteComment',
-    full_name='monorail.Issues.DeleteComment',
-    index=11,
-    containing_service=None,
-    input_type=_DELETECOMMENTREQUEST,
-    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='BulkUpdateApprovals',
-    full_name='monorail.Issues.BulkUpdateApprovals',
-    index=12,
-    containing_service=None,
-    input_type=_BULKUPDATEAPPROVALSREQUEST,
-    output_type=_BULKUPDATEAPPROVALSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateApproval',
-    full_name='monorail.Issues.UpdateApproval',
-    index=13,
-    containing_service=None,
-    input_type=_UPDATEAPPROVALREQUEST,
-    output_type=_UPDATEAPPROVALRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ConvertIssueApprovalsTemplate',
-    full_name='monorail.Issues.ConvertIssueApprovalsTemplate',
-    index=14,
-    containing_service=None,
-    input_type=_CONVERTISSUEAPPROVALSTEMPLATEREQUEST,
-    output_type=_CONVERTISSUEAPPROVALSTEMPLATERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='IssueSnapshot',
-    full_name='monorail.Issues.IssueSnapshot',
-    index=15,
-    containing_service=None,
-    input_type=_ISSUESNAPSHOTREQUEST,
-    output_type=_ISSUESNAPSHOTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='PresubmitIssue',
-    full_name='monorail.Issues.PresubmitIssue',
-    index=16,
-    containing_service=None,
-    input_type=_PRESUBMITISSUEREQUEST,
-    output_type=_PRESUBMITISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='RerankBlockedOnIssues',
-    full_name='monorail.Issues.RerankBlockedOnIssues',
-    index=17,
-    containing_service=None,
-    input_type=_RERANKBLOCKEDONISSUESREQUEST,
-    output_type=_RERANKBLOCKEDONISSUESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteIssue',
-    full_name='monorail.Issues.DeleteIssue',
-    index=18,
-    containing_service=None,
-    input_type=_DELETEISSUEREQUEST,
-    output_type=_DELETEISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteIssueComment',
-    full_name='monorail.Issues.DeleteIssueComment',
-    index=19,
-    containing_service=None,
-    input_type=_DELETEISSUECOMMENTREQUEST,
-    output_type=_DELETEISSUECOMMENTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteAttachment',
-    full_name='monorail.Issues.DeleteAttachment',
-    index=20,
-    containing_service=None,
-    input_type=_DELETEATTACHMENTREQUEST,
-    output_type=_DELETEATTACHMENTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='FlagIssues',
-    full_name='monorail.Issues.FlagIssues',
-    index=21,
-    containing_service=None,
-    input_type=_FLAGISSUESREQUEST,
-    output_type=_FLAGISSUESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='FlagComment',
-    full_name='monorail.Issues.FlagComment',
-    index=22,
-    containing_service=None,
-    input_type=_FLAGCOMMENTREQUEST,
-    output_type=_FLAGCOMMENTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListIssuePermissions',
-    full_name='monorail.Issues.ListIssuePermissions',
-    index=23,
-    containing_service=None,
-    input_type=_LISTISSUEPERMISSIONSREQUEST,
-    output_type=_LISTISSUEPERMISSIONSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='MoveIssue',
-    full_name='monorail.Issues.MoveIssue',
-    index=24,
-    containing_service=None,
-    input_type=_MOVEISSUEREQUEST,
-    output_type=_MOVEISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CopyIssue',
-    full_name='monorail.Issues.CopyIssue',
-    index=25,
-    containing_service=None,
-    input_type=_COPYISSUEREQUEST,
-    output_type=_COPYISSUERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_ISSUES)
-
-DESCRIPTOR.services_by_name['Issues'] = _ISSUES
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z\'infra/monorailv2/api/api_proto;monorail'
+  _CREATEISSUEREQUEST._serialized_start=169
+  _CREATEISSUEREQUEST._serialized_end=243
+  _GETISSUEREQUEST._serialized_start=245
+  _GETISSUEREQUEST._serialized_end=301
+  _ISSUERESPONSE._serialized_start=303
+  _ISSUERESPONSE._serialized_end=392
+  _LISTISSUESREQUEST._serialized_start=395
+  _LISTISSUESREQUEST._serialized_end=558
+  _LISTISSUESRESPONSE._serialized_start=560
+  _LISTISSUESRESPONSE._serialized_end=636
+  _LISTREFERENCEDISSUESREQUEST._serialized_start=638
+  _LISTREFERENCEDISSUESREQUEST._serialized_end=707
+  _LISTREFERENCEDISSUESRESPONSE._serialized_start=709
+  _LISTREFERENCEDISSUESRESPONSE._serialized_end=813
+  _LISTAPPLICABLEFIELDDEFSREQUEST._serialized_start=815
+  _LISTAPPLICABLEFIELDDEFSREQUEST._serialized_end=887
+  _LISTAPPLICABLEFIELDDEFSRESPONSE._serialized_start=889
+  _LISTAPPLICABLEFIELDDEFSRESPONSE._serialized_end=962
+  _UPDATEISSUEREQUEST._serialized_start=965
+  _UPDATEISSUEREQUEST._serialized_end=1201
+  _STARISSUEREQUEST._serialized_start=1203
+  _STARISSUEREQUEST._serialized_end=1277
+  _STARISSUERESPONSE._serialized_start=1279
+  _STARISSUERESPONSE._serialized_end=1318
+  _ISISSUESTARREDREQUEST._serialized_start=1320
+  _ISISSUESTARREDREQUEST._serialized_end=1382
+  _ISISSUESTARREDRESPONSE._serialized_start=1384
+  _ISISSUESTARREDRESPONSE._serialized_end=1428
+  _LISTSTARREDISSUESREQUEST._serialized_start=1430
+  _LISTSTARREDISSUESREQUEST._serialized_end=1456
+  _LISTSTARREDISSUESRESPONSE._serialized_start=1458
+  _LISTSTARREDISSUESRESPONSE._serialized_end=1533
+  _LISTCOMMENTSREQUEST._serialized_start=1535
+  _LISTCOMMENTSREQUEST._serialized_end=1595
+  _LISTCOMMENTSRESPONSE._serialized_start=1597
+  _LISTCOMMENTSRESPONSE._serialized_end=1656
+  _LISTACTIVITIESREQUEST._serialized_start=1658
+  _LISTACTIVITIESREQUEST._serialized_end=1749
+  _LISTACTIVITIESRESPONSE._serialized_start=1751
+  _LISTACTIVITIESRESPONSE._serialized_end=1861
+  _DELETECOMMENTREQUEST._serialized_start=1863
+  _DELETECOMMENTREQUEST._serialized_end=1962
+  _BULKUPDATEAPPROVALSREQUEST._serialized_start=1965
+  _BULKUPDATEAPPROVALSREQUEST._serialized_end=2166
+  _BULKUPDATEAPPROVALSRESPONSE._serialized_start=2168
+  _BULKUPDATEAPPROVALSRESPONSE._serialized_end=2237
+  _UPDATEAPPROVALREQUEST._serialized_start=2240
+  _UPDATEAPPROVALREQUEST._serialized_end=2530
+  _UPDATEAPPROVALRESPONSE._serialized_start=2532
+  _UPDATEAPPROVALRESPONSE._serialized_end=2594
+  _CONVERTISSUEAPPROVALSTEMPLATEREQUEST._serialized_start=2597
+  _CONVERTISSUEAPPROVALSTEMPLATEREQUEST._serialized_end=2742
+  _CONVERTISSUEAPPROVALSTEMPLATERESPONSE._serialized_start=2744
+  _CONVERTISSUEAPPROVALSTEMPLATERESPONSE._serialized_end=2815
+  _ISSUESNAPSHOTREQUEST._serialized_start=2818
+  _ISSUESNAPSHOTREQUEST._serialized_end=2978
+  _ISSUESNAPSHOTCOUNT._serialized_start=2980
+  _ISSUESNAPSHOTCOUNT._serialized_end=3034
+  _ISSUESNAPSHOTRESPONSE._serialized_start=3037
+  _ISSUESNAPSHOTRESPONSE._serialized_end=3171
+  _PRESUBMITISSUEREQUEST._serialized_start=3173
+  _PRESUBMITISSUEREQUEST._serialized_end=3278
+  _PRESUBMITISSUERESPONSE._serialized_start=3281
+  _PRESUBMITISSUERESPONSE._serialized_end=3585
+  _RERANKBLOCKEDONISSUESREQUEST._serialized_start=3588
+  _RERANKBLOCKEDONISSUESREQUEST._serialized_end=3757
+  _RERANKBLOCKEDONISSUESRESPONSE._serialized_start=3759
+  _RERANKBLOCKEDONISSUESRESPONSE._serialized_end=3841
+  _DELETEISSUEREQUEST._serialized_start=3843
+  _DELETEISSUEREQUEST._serialized_end=3918
+  _DELETEISSUERESPONSE._serialized_start=3920
+  _DELETEISSUERESPONSE._serialized_end=3941
+  _DELETEISSUECOMMENTREQUEST._serialized_start=3943
+  _DELETEISSUECOMMENTREQUEST._serialized_end=4047
+  _DELETEISSUECOMMENTRESPONSE._serialized_start=4049
+  _DELETEISSUECOMMENTRESPONSE._serialized_end=4077
+  _DELETEATTACHMENTREQUEST._serialized_start=4079
+  _DELETEATTACHMENTREQUEST._serialized_end=4204
+  _DELETEATTACHMENTRESPONSE._serialized_start=4206
+  _DELETEATTACHMENTRESPONSE._serialized_end=4232
+  _FLAGISSUESREQUEST._serialized_start=4234
+  _FLAGISSUESREQUEST._serialized_end=4307
+  _FLAGISSUESRESPONSE._serialized_start=4309
+  _FLAGISSUESRESPONSE._serialized_end=4329
+  _FLAGCOMMENTREQUEST._serialized_start=4331
+  _FLAGCOMMENTREQUEST._serialized_end=4426
+  _FLAGCOMMENTRESPONSE._serialized_start=4428
+  _FLAGCOMMENTRESPONSE._serialized_end=4449
+  _LISTISSUEPERMISSIONSREQUEST._serialized_start=4451
+  _LISTISSUEPERMISSIONSREQUEST._serialized_end=4519
+  _LISTISSUEPERMISSIONSRESPONSE._serialized_start=4521
+  _LISTISSUEPERMISSIONSRESPONSE._serialized_end=4572
+  _MOVEISSUEREQUEST._serialized_start=4574
+  _MOVEISSUEREQUEST._serialized_end=4660
+  _MOVEISSUERESPONSE._serialized_start=4662
+  _MOVEISSUERESPONSE._serialized_end=4724
+  _COPYISSUEREQUEST._serialized_start=4726
+  _COPYISSUEREQUEST._serialized_end=4812
+  _COPYISSUERESPONSE._serialized_start=4814
+  _COPYISSUERESPONSE._serialized_end=4876
+  _ISSUES._serialized_start=4879
+  _ISSUES._serialized_end=7162
 # @@protoc_insertion_point(module_scope)