go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/internal/bugs/monorail/api_proto/issue_objects.pb.go (about)

     1  // Copyright 2020 The Chromium Authors
     2  // Use of this source code is governed by a BSD-style license that can be
     3  // found in the LICENSE file.
     4  
     5  // This file defines protobufs for issues and related business
     6  // objects, e.g., field values, comments, and attachments.
     7  
     8  // Code generated by protoc-gen-go. DO NOT EDIT.
     9  // versions:
    10  // 	protoc-gen-go v1.31.0
    11  // 	protoc        v3.21.7
    12  // source: go.chromium.org/luci/analysis/internal/bugs/monorail/api_proto/issue_objects.proto
    13  
    14  package api_proto
    15  
    16  import (
    17  	_ "google.golang.org/genproto/googleapis/api/annotations"
    18  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    19  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    20  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    21  	reflect "reflect"
    22  	sync "sync"
    23  )
    24  
    25  const (
    26  	// Verify that this generated code is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    28  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    30  )
    31  
    32  // Many values on an issue can be set either explicitly or by a rule.
    33  //
    34  // Note: Though Derivations are used as OUTPUT_ONLY, values including them
    35  // will still be ingested even though the Derivation is ignored.
    36  //
    37  // Next available tag: 3
    38  type Derivation int32
    39  
    40  const (
    41  	// The default derivation. This value is used if the derivation is omitted.
    42  	Derivation_DERIVATION_UNSPECIFIED Derivation = 0
    43  	// The value was explicitly set on the issue.
    44  	Derivation_EXPLICIT Derivation = 1
    45  	// Value was auto-applied to the issue based on a project's rule. See
    46  	// monorail/doc/userguide/project-owners.md#how-to-configure-filter-rules
    47  	Derivation_RULE Derivation = 2
    48  )
    49  
    50  // Enum value maps for Derivation.
    51  var (
    52  	Derivation_name = map[int32]string{
    53  		0: "DERIVATION_UNSPECIFIED",
    54  		1: "EXPLICIT",
    55  		2: "RULE",
    56  	}
    57  	Derivation_value = map[string]int32{
    58  		"DERIVATION_UNSPECIFIED": 0,
    59  		"EXPLICIT":               1,
    60  		"RULE":                   2,
    61  	}
    62  )
    63  
    64  func (x Derivation) Enum() *Derivation {
    65  	p := new(Derivation)
    66  	*p = x
    67  	return p
    68  }
    69  
    70  func (x Derivation) String() string {
    71  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    72  }
    73  
    74  func (Derivation) Descriptor() protoreflect.EnumDescriptor {
    75  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[0].Descriptor()
    76  }
    77  
    78  func (Derivation) Type() protoreflect.EnumType {
    79  	return &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[0]
    80  }
    81  
    82  func (x Derivation) Number() protoreflect.EnumNumber {
    83  	return protoreflect.EnumNumber(x)
    84  }
    85  
    86  // Deprecated: Use Derivation.Descriptor instead.
    87  func (Derivation) EnumDescriptor() ([]byte, []int) {
    88  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{0}
    89  }
    90  
    91  // States that an issue or its comments can be in (aip.dev/216).
    92  // Next available tag: 4
    93  type IssueContentState int32
    94  
    95  const (
    96  	// The default value. This value is used if the state is omitted.
    97  	IssueContentState_STATE_UNSPECIFIED IssueContentState = 0
    98  	// The Issue or Comment is available.
    99  	IssueContentState_ACTIVE IssueContentState = 1
   100  	// The Issue or Comment has been deleted.
   101  	IssueContentState_DELETED IssueContentState = 2
   102  	// The Issue or Comment has been flagged as spam.
   103  	// Takes precedent over DELETED.
   104  	IssueContentState_SPAM IssueContentState = 3
   105  )
   106  
   107  // Enum value maps for IssueContentState.
   108  var (
   109  	IssueContentState_name = map[int32]string{
   110  		0: "STATE_UNSPECIFIED",
   111  		1: "ACTIVE",
   112  		2: "DELETED",
   113  		3: "SPAM",
   114  	}
   115  	IssueContentState_value = map[string]int32{
   116  		"STATE_UNSPECIFIED": 0,
   117  		"ACTIVE":            1,
   118  		"DELETED":           2,
   119  		"SPAM":              3,
   120  	}
   121  )
   122  
   123  func (x IssueContentState) Enum() *IssueContentState {
   124  	p := new(IssueContentState)
   125  	*p = x
   126  	return p
   127  }
   128  
   129  func (x IssueContentState) String() string {
   130  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   131  }
   132  
   133  func (IssueContentState) Descriptor() protoreflect.EnumDescriptor {
   134  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[1].Descriptor()
   135  }
   136  
   137  func (IssueContentState) Type() protoreflect.EnumType {
   138  	return &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[1]
   139  }
   140  
   141  func (x IssueContentState) Number() protoreflect.EnumNumber {
   142  	return protoreflect.EnumNumber(x)
   143  }
   144  
   145  // Deprecated: Use IssueContentState.Descriptor instead.
   146  func (IssueContentState) EnumDescriptor() ([]byte, []int) {
   147  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{1}
   148  }
   149  
   150  // The type of comment.
   151  // Next available tag: 9
   152  type Comment_Type int32
   153  
   154  const (
   155  	// The default comment type. Used if type is omitted.
   156  	Comment_UNSPECIFIED Comment_Type = 0
   157  	// A standard comment on an issue.
   158  	Comment_COMMENT Comment_Type = 1
   159  	// A comment representing a new description for the issue.
   160  	Comment_DESCRIPTION Comment_Type = 2
   161  )
   162  
   163  // Enum value maps for Comment_Type.
   164  var (
   165  	Comment_Type_name = map[int32]string{
   166  		0: "UNSPECIFIED",
   167  		1: "COMMENT",
   168  		2: "DESCRIPTION",
   169  	}
   170  	Comment_Type_value = map[string]int32{
   171  		"UNSPECIFIED": 0,
   172  		"COMMENT":     1,
   173  		"DESCRIPTION": 2,
   174  	}
   175  )
   176  
   177  func (x Comment_Type) Enum() *Comment_Type {
   178  	p := new(Comment_Type)
   179  	*p = x
   180  	return p
   181  }
   182  
   183  func (x Comment_Type) String() string {
   184  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   185  }
   186  
   187  func (Comment_Type) Descriptor() protoreflect.EnumDescriptor {
   188  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[2].Descriptor()
   189  }
   190  
   191  func (Comment_Type) Type() protoreflect.EnumType {
   192  	return &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[2]
   193  }
   194  
   195  func (x Comment_Type) Number() protoreflect.EnumNumber {
   196  	return protoreflect.EnumNumber(x)
   197  }
   198  
   199  // Deprecated: Use Comment_Type.Descriptor instead.
   200  func (Comment_Type) EnumDescriptor() ([]byte, []int) {
   201  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{0, 0}
   202  }
   203  
   204  // Potential states for an approval. Note that these statuses cause different
   205  // sets of notifications. See monorail/doc/userguide/email.md
   206  // Next available tag: 9
   207  type ApprovalValue_ApprovalStatus int32
   208  
   209  const (
   210  	// The default approval status. This value is used if the status is omitted.
   211  	ApprovalValue_APPROVAL_STATUS_UNSPECIFIED ApprovalValue_ApprovalStatus = 0
   212  	// No status has yet been set on this value.
   213  	ApprovalValue_NOT_SET ApprovalValue_ApprovalStatus = 1
   214  	// This issue needs review from the approvers for this phase.
   215  	ApprovalValue_NEEDS_REVIEW ApprovalValue_ApprovalStatus = 2
   216  	// This approval is not needed for this issue for this phase.
   217  	ApprovalValue_NA ApprovalValue_ApprovalStatus = 3
   218  	// The issue is ready for the approvers to review.
   219  	ApprovalValue_REVIEW_REQUESTED ApprovalValue_ApprovalStatus = 4
   220  	// The approvers have started reviewing this issue.
   221  	ApprovalValue_REVIEW_STARTED ApprovalValue_ApprovalStatus = 5
   222  	// The approvers need more information.
   223  	ApprovalValue_NEED_INFO ApprovalValue_ApprovalStatus = 6
   224  	// The approvers have approved this issue for this phase.
   225  	ApprovalValue_APPROVED ApprovalValue_ApprovalStatus = 7
   226  	// The approvers have indicated this issue is not approved for this phase.
   227  	ApprovalValue_NOT_APPROVED ApprovalValue_ApprovalStatus = 8
   228  )
   229  
   230  // Enum value maps for ApprovalValue_ApprovalStatus.
   231  var (
   232  	ApprovalValue_ApprovalStatus_name = map[int32]string{
   233  		0: "APPROVAL_STATUS_UNSPECIFIED",
   234  		1: "NOT_SET",
   235  		2: "NEEDS_REVIEW",
   236  		3: "NA",
   237  		4: "REVIEW_REQUESTED",
   238  		5: "REVIEW_STARTED",
   239  		6: "NEED_INFO",
   240  		7: "APPROVED",
   241  		8: "NOT_APPROVED",
   242  	}
   243  	ApprovalValue_ApprovalStatus_value = map[string]int32{
   244  		"APPROVAL_STATUS_UNSPECIFIED": 0,
   245  		"NOT_SET":                     1,
   246  		"NEEDS_REVIEW":                2,
   247  		"NA":                          3,
   248  		"REVIEW_REQUESTED":            4,
   249  		"REVIEW_STARTED":              5,
   250  		"NEED_INFO":                   6,
   251  		"APPROVED":                    7,
   252  		"NOT_APPROVED":                8,
   253  	}
   254  )
   255  
   256  func (x ApprovalValue_ApprovalStatus) Enum() *ApprovalValue_ApprovalStatus {
   257  	p := new(ApprovalValue_ApprovalStatus)
   258  	*p = x
   259  	return p
   260  }
   261  
   262  func (x ApprovalValue_ApprovalStatus) String() string {
   263  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   264  }
   265  
   266  func (ApprovalValue_ApprovalStatus) Descriptor() protoreflect.EnumDescriptor {
   267  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[3].Descriptor()
   268  }
   269  
   270  func (ApprovalValue_ApprovalStatus) Type() protoreflect.EnumType {
   271  	return &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes[3]
   272  }
   273  
   274  func (x ApprovalValue_ApprovalStatus) Number() protoreflect.EnumNumber {
   275  	return protoreflect.EnumNumber(x)
   276  }
   277  
   278  // Deprecated: Use ApprovalValue_ApprovalStatus.Descriptor instead.
   279  func (ApprovalValue_ApprovalStatus) EnumDescriptor() ([]byte, []int) {
   280  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{5, 0}
   281  }
   282  
   283  // Represents a comment and any associated changes to an Issue.
   284  //
   285  // Comments cannot be Created or Updated through standard methods. The
   286  // OUTPUT_ONLY annotations here indicate fields that would never be provided
   287  // by the user even if these methods were made available.
   288  // Next available tag: 11.
   289  type Comment struct {
   290  	state         protoimpl.MessageState
   291  	sizeCache     protoimpl.SizeCache
   292  	unknownFields protoimpl.UnknownFields
   293  
   294  	// Resource name of the comment.
   295  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   296  	// The state of the comment.
   297  	State IssueContentState `protobuf:"varint,2,opt,name=state,proto3,enum=monorail.v3.IssueContentState" json:"state,omitempty"`
   298  	// The type of comment.
   299  	Type Comment_Type `protobuf:"varint,3,opt,name=type,proto3,enum=monorail.v3.Comment_Type" json:"type,omitempty"`
   300  	// The text of the comment.
   301  	Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"`
   302  	// Resource name of the author of the comment.
   303  	Commenter string `protobuf:"bytes,5,opt,name=commenter,proto3" json:"commenter,omitempty"`
   304  	// The time this comment was added to the Issue.
   305  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   306  	// Optional string full text of an email that caused this comment to be added.
   307  	InboundMessage string `protobuf:"bytes,7,opt,name=inbound_message,json=inboundMessage,proto3" json:"inbound_message,omitempty"`
   308  	// The approval this comment is associated with, if applicable.
   309  	Approval string `protobuf:"bytes,8,opt,name=approval,proto3" json:"approval,omitempty"`
   310  	// Any changes made to the issue in association with this comment.
   311  	Amendments []*Comment_Amendment `protobuf:"bytes,9,rep,name=amendments,proto3" json:"amendments,omitempty"`
   312  	// Any attachments uploaded in association with this comment.
   313  	Attachments []*Comment_Attachment `protobuf:"bytes,10,rep,name=attachments,proto3" json:"attachments,omitempty"`
   314  }
   315  
   316  func (x *Comment) Reset() {
   317  	*x = Comment{}
   318  	if protoimpl.UnsafeEnabled {
   319  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[0]
   320  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   321  		ms.StoreMessageInfo(mi)
   322  	}
   323  }
   324  
   325  func (x *Comment) String() string {
   326  	return protoimpl.X.MessageStringOf(x)
   327  }
   328  
   329  func (*Comment) ProtoMessage() {}
   330  
   331  func (x *Comment) ProtoReflect() protoreflect.Message {
   332  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[0]
   333  	if protoimpl.UnsafeEnabled && x != nil {
   334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   335  		if ms.LoadMessageInfo() == nil {
   336  			ms.StoreMessageInfo(mi)
   337  		}
   338  		return ms
   339  	}
   340  	return mi.MessageOf(x)
   341  }
   342  
   343  // Deprecated: Use Comment.ProtoReflect.Descriptor instead.
   344  func (*Comment) Descriptor() ([]byte, []int) {
   345  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{0}
   346  }
   347  
   348  func (x *Comment) GetName() string {
   349  	if x != nil {
   350  		return x.Name
   351  	}
   352  	return ""
   353  }
   354  
   355  func (x *Comment) GetState() IssueContentState {
   356  	if x != nil {
   357  		return x.State
   358  	}
   359  	return IssueContentState_STATE_UNSPECIFIED
   360  }
   361  
   362  func (x *Comment) GetType() Comment_Type {
   363  	if x != nil {
   364  		return x.Type
   365  	}
   366  	return Comment_UNSPECIFIED
   367  }
   368  
   369  func (x *Comment) GetContent() string {
   370  	if x != nil {
   371  		return x.Content
   372  	}
   373  	return ""
   374  }
   375  
   376  func (x *Comment) GetCommenter() string {
   377  	if x != nil {
   378  		return x.Commenter
   379  	}
   380  	return ""
   381  }
   382  
   383  func (x *Comment) GetCreateTime() *timestamppb.Timestamp {
   384  	if x != nil {
   385  		return x.CreateTime
   386  	}
   387  	return nil
   388  }
   389  
   390  func (x *Comment) GetInboundMessage() string {
   391  	if x != nil {
   392  		return x.InboundMessage
   393  	}
   394  	return ""
   395  }
   396  
   397  func (x *Comment) GetApproval() string {
   398  	if x != nil {
   399  		return x.Approval
   400  	}
   401  	return ""
   402  }
   403  
   404  func (x *Comment) GetAmendments() []*Comment_Amendment {
   405  	if x != nil {
   406  		return x.Amendments
   407  	}
   408  	return nil
   409  }
   410  
   411  func (x *Comment) GetAttachments() []*Comment_Attachment {
   412  	if x != nil {
   413  		return x.Attachments
   414  	}
   415  	return nil
   416  }
   417  
   418  // A value of a custom field for an issue.
   419  // Next available tag: 5
   420  type FieldValue struct {
   421  	state         protoimpl.MessageState
   422  	sizeCache     protoimpl.SizeCache
   423  	unknownFields protoimpl.UnknownFields
   424  
   425  	// The project-defined field associated with this value
   426  	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
   427  	// The value associated with the field.
   428  	// Mapping of field types to string value:
   429  	// ENUM_TYPE(int) => str(value)
   430  	// INT_TYPE(int) => str(value)
   431  	// STR_TYPE(str) => value
   432  	// USER_TYPE(int) => the user's resource name
   433  	// DATE_TYPE(int) => str(int) representing time in seconds since epoch
   434  	// URL_TYPE(str) => value
   435  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   436  	// How the value was derived.
   437  	Derivation Derivation `protobuf:"varint,3,opt,name=derivation,proto3,enum=monorail.v3.Derivation" json:"derivation,omitempty"`
   438  	// Issues with phase-specific fields can have values for each phase.
   439  	Phase string `protobuf:"bytes,4,opt,name=phase,proto3" json:"phase,omitempty"`
   440  }
   441  
   442  func (x *FieldValue) Reset() {
   443  	*x = FieldValue{}
   444  	if protoimpl.UnsafeEnabled {
   445  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[1]
   446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   447  		ms.StoreMessageInfo(mi)
   448  	}
   449  }
   450  
   451  func (x *FieldValue) String() string {
   452  	return protoimpl.X.MessageStringOf(x)
   453  }
   454  
   455  func (*FieldValue) ProtoMessage() {}
   456  
   457  func (x *FieldValue) ProtoReflect() protoreflect.Message {
   458  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[1]
   459  	if protoimpl.UnsafeEnabled && x != nil {
   460  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   461  		if ms.LoadMessageInfo() == nil {
   462  			ms.StoreMessageInfo(mi)
   463  		}
   464  		return ms
   465  	}
   466  	return mi.MessageOf(x)
   467  }
   468  
   469  // Deprecated: Use FieldValue.ProtoReflect.Descriptor instead.
   470  func (*FieldValue) Descriptor() ([]byte, []int) {
   471  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{1}
   472  }
   473  
   474  func (x *FieldValue) GetField() string {
   475  	if x != nil {
   476  		return x.Field
   477  	}
   478  	return ""
   479  }
   480  
   481  func (x *FieldValue) GetValue() string {
   482  	if x != nil {
   483  		return x.Value
   484  	}
   485  	return ""
   486  }
   487  
   488  func (x *FieldValue) GetDerivation() Derivation {
   489  	if x != nil {
   490  		return x.Derivation
   491  	}
   492  	return Derivation_DERIVATION_UNSPECIFIED
   493  }
   494  
   495  func (x *FieldValue) GetPhase() string {
   496  	if x != nil {
   497  		return x.Phase
   498  	}
   499  	return ""
   500  }
   501  
   502  // Documents and tracks a bug, task, or feature request within a Project.
   503  // Next available tag: 24
   504  type Issue struct {
   505  	state         protoimpl.MessageState
   506  	sizeCache     protoimpl.SizeCache
   507  	unknownFields protoimpl.UnknownFields
   508  
   509  	// Resource name of the issue.
   510  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   511  	// A brief summary of the issue. Generally displayed as a user-facing title.
   512  	// TODO(monorail:6988): The UI limits summary length while the backend does
   513  	// not. Resolve this discrepancy.
   514  	Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
   515  	// The state of the issue.
   516  	State IssueContentState `protobuf:"varint,3,opt,name=state,proto3,enum=monorail.v3.IssueContentState" json:"state,omitempty"`
   517  	// The current status of the issue.
   518  	Status *Issue_StatusValue `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
   519  	// The user who created the issue.
   520  	Reporter string `protobuf:"bytes,5,opt,name=reporter,proto3" json:"reporter,omitempty"`
   521  	// The user currently responsible for the issue. This user must be a member of
   522  	// the Project.
   523  	Owner *Issue_UserValue `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"`
   524  	// Additional users receiving notifications on the issue.
   525  	CcUsers []*Issue_UserValue `protobuf:"bytes,7,rep,name=cc_users,json=ccUsers,proto3" json:"cc_users,omitempty"`
   526  	// Labels applied to the issue.
   527  	Labels []*Issue_LabelValue `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty"`
   528  	// Components the issue is associated with.
   529  	Components []*Issue_ComponentValue `protobuf:"bytes,9,rep,name=components,proto3" json:"components,omitempty"`
   530  	// Values for custom fields on the issue.
   531  	FieldValues []*FieldValue `protobuf:"bytes,10,rep,name=field_values,json=fieldValues,proto3" json:"field_values,omitempty"`
   532  	// An issue can be merged into another. If this value is set, the issue
   533  	// referred to should be considered the primary source for further updates.
   534  	MergedIntoIssueRef *IssueRef `protobuf:"bytes,11,opt,name=merged_into_issue_ref,json=mergedIntoIssueRef,proto3" json:"merged_into_issue_ref,omitempty"`
   535  	// Issues preventing the completion of this issue.
   536  	BlockedOnIssueRefs []*IssueRef `protobuf:"bytes,12,rep,name=blocked_on_issue_refs,json=blockedOnIssueRefs,proto3" json:"blocked_on_issue_refs,omitempty"`
   537  	// Issues for which this issue is blocking completion.
   538  	BlockingIssueRefs []*IssueRef `protobuf:"bytes,13,rep,name=blocking_issue_refs,json=blockingIssueRefs,proto3" json:"blocking_issue_refs,omitempty"`
   539  	// The time the issue was reported.
   540  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   541  	// The most recent time the issue was closed.
   542  	CloseTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"`
   543  	// The most recent time the issue was modified.
   544  	ModifyTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"`
   545  	// The most recent time a component value was modified.
   546  	ComponentModifyTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=component_modify_time,json=componentModifyTime,proto3" json:"component_modify_time,omitempty"`
   547  	// The most recent time the status value was modified.
   548  	StatusModifyTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=status_modify_time,json=statusModifyTime,proto3" json:"status_modify_time,omitempty"`
   549  	// The most recent time the owner made a modification to the issue.
   550  	OwnerModifyTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=owner_modify_time,json=ownerModifyTime,proto3" json:"owner_modify_time,omitempty"`
   551  	// The number of attachments associated with the issue.
   552  	AttachmentCount uint32 `protobuf:"varint,20,opt,name=attachment_count,json=attachmentCount,proto3" json:"attachment_count,omitempty"`
   553  	// The number of users who have starred the issue.
   554  	StarCount uint32 `protobuf:"varint,21,opt,name=star_count,json=starCount,proto3" json:"star_count,omitempty"`
   555  	// Phases of a process the issue is tracking (if applicable).
   556  	// See monorail/doc/userguide/concepts.md#issue-approvals-and-gates
   557  	Phases []string `protobuf:"bytes,22,rep,name=phases,proto3" json:"phases,omitempty"`
   558  	// The issue tracker ID this Monorail issue migrated to.
   559  	MigratedId string `protobuf:"bytes,23,opt,name=migrated_id,json=migratedId,proto3" json:"migrated_id,omitempty"`
   560  }
   561  
   562  func (x *Issue) Reset() {
   563  	*x = Issue{}
   564  	if protoimpl.UnsafeEnabled {
   565  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[2]
   566  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   567  		ms.StoreMessageInfo(mi)
   568  	}
   569  }
   570  
   571  func (x *Issue) String() string {
   572  	return protoimpl.X.MessageStringOf(x)
   573  }
   574  
   575  func (*Issue) ProtoMessage() {}
   576  
   577  func (x *Issue) ProtoReflect() protoreflect.Message {
   578  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[2]
   579  	if protoimpl.UnsafeEnabled && x != nil {
   580  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   581  		if ms.LoadMessageInfo() == nil {
   582  			ms.StoreMessageInfo(mi)
   583  		}
   584  		return ms
   585  	}
   586  	return mi.MessageOf(x)
   587  }
   588  
   589  // Deprecated: Use Issue.ProtoReflect.Descriptor instead.
   590  func (*Issue) Descriptor() ([]byte, []int) {
   591  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{2}
   592  }
   593  
   594  func (x *Issue) GetName() string {
   595  	if x != nil {
   596  		return x.Name
   597  	}
   598  	return ""
   599  }
   600  
   601  func (x *Issue) GetSummary() string {
   602  	if x != nil {
   603  		return x.Summary
   604  	}
   605  	return ""
   606  }
   607  
   608  func (x *Issue) GetState() IssueContentState {
   609  	if x != nil {
   610  		return x.State
   611  	}
   612  	return IssueContentState_STATE_UNSPECIFIED
   613  }
   614  
   615  func (x *Issue) GetStatus() *Issue_StatusValue {
   616  	if x != nil {
   617  		return x.Status
   618  	}
   619  	return nil
   620  }
   621  
   622  func (x *Issue) GetReporter() string {
   623  	if x != nil {
   624  		return x.Reporter
   625  	}
   626  	return ""
   627  }
   628  
   629  func (x *Issue) GetOwner() *Issue_UserValue {
   630  	if x != nil {
   631  		return x.Owner
   632  	}
   633  	return nil
   634  }
   635  
   636  func (x *Issue) GetCcUsers() []*Issue_UserValue {
   637  	if x != nil {
   638  		return x.CcUsers
   639  	}
   640  	return nil
   641  }
   642  
   643  func (x *Issue) GetLabels() []*Issue_LabelValue {
   644  	if x != nil {
   645  		return x.Labels
   646  	}
   647  	return nil
   648  }
   649  
   650  func (x *Issue) GetComponents() []*Issue_ComponentValue {
   651  	if x != nil {
   652  		return x.Components
   653  	}
   654  	return nil
   655  }
   656  
   657  func (x *Issue) GetFieldValues() []*FieldValue {
   658  	if x != nil {
   659  		return x.FieldValues
   660  	}
   661  	return nil
   662  }
   663  
   664  func (x *Issue) GetMergedIntoIssueRef() *IssueRef {
   665  	if x != nil {
   666  		return x.MergedIntoIssueRef
   667  	}
   668  	return nil
   669  }
   670  
   671  func (x *Issue) GetBlockedOnIssueRefs() []*IssueRef {
   672  	if x != nil {
   673  		return x.BlockedOnIssueRefs
   674  	}
   675  	return nil
   676  }
   677  
   678  func (x *Issue) GetBlockingIssueRefs() []*IssueRef {
   679  	if x != nil {
   680  		return x.BlockingIssueRefs
   681  	}
   682  	return nil
   683  }
   684  
   685  func (x *Issue) GetCreateTime() *timestamppb.Timestamp {
   686  	if x != nil {
   687  		return x.CreateTime
   688  	}
   689  	return nil
   690  }
   691  
   692  func (x *Issue) GetCloseTime() *timestamppb.Timestamp {
   693  	if x != nil {
   694  		return x.CloseTime
   695  	}
   696  	return nil
   697  }
   698  
   699  func (x *Issue) GetModifyTime() *timestamppb.Timestamp {
   700  	if x != nil {
   701  		return x.ModifyTime
   702  	}
   703  	return nil
   704  }
   705  
   706  func (x *Issue) GetComponentModifyTime() *timestamppb.Timestamp {
   707  	if x != nil {
   708  		return x.ComponentModifyTime
   709  	}
   710  	return nil
   711  }
   712  
   713  func (x *Issue) GetStatusModifyTime() *timestamppb.Timestamp {
   714  	if x != nil {
   715  		return x.StatusModifyTime
   716  	}
   717  	return nil
   718  }
   719  
   720  func (x *Issue) GetOwnerModifyTime() *timestamppb.Timestamp {
   721  	if x != nil {
   722  		return x.OwnerModifyTime
   723  	}
   724  	return nil
   725  }
   726  
   727  func (x *Issue) GetAttachmentCount() uint32 {
   728  	if x != nil {
   729  		return x.AttachmentCount
   730  	}
   731  	return 0
   732  }
   733  
   734  func (x *Issue) GetStarCount() uint32 {
   735  	if x != nil {
   736  		return x.StarCount
   737  	}
   738  	return 0
   739  }
   740  
   741  func (x *Issue) GetPhases() []string {
   742  	if x != nil {
   743  		return x.Phases
   744  	}
   745  	return nil
   746  }
   747  
   748  func (x *Issue) GetMigratedId() string {
   749  	if x != nil {
   750  		return x.MigratedId
   751  	}
   752  	return ""
   753  }
   754  
   755  // Specifies a column in an issues list view.
   756  // Next available tag: 2
   757  type IssuesListColumn struct {
   758  	state         protoimpl.MessageState
   759  	sizeCache     protoimpl.SizeCache
   760  	unknownFields protoimpl.UnknownFields
   761  
   762  	// Column name shown in the column header.
   763  	Column string `protobuf:"bytes,1,opt,name=column,proto3" json:"column,omitempty"`
   764  }
   765  
   766  func (x *IssuesListColumn) Reset() {
   767  	*x = IssuesListColumn{}
   768  	if protoimpl.UnsafeEnabled {
   769  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[3]
   770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   771  		ms.StoreMessageInfo(mi)
   772  	}
   773  }
   774  
   775  func (x *IssuesListColumn) String() string {
   776  	return protoimpl.X.MessageStringOf(x)
   777  }
   778  
   779  func (*IssuesListColumn) ProtoMessage() {}
   780  
   781  func (x *IssuesListColumn) ProtoReflect() protoreflect.Message {
   782  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[3]
   783  	if protoimpl.UnsafeEnabled && x != nil {
   784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   785  		if ms.LoadMessageInfo() == nil {
   786  			ms.StoreMessageInfo(mi)
   787  		}
   788  		return ms
   789  	}
   790  	return mi.MessageOf(x)
   791  }
   792  
   793  // Deprecated: Use IssuesListColumn.ProtoReflect.Descriptor instead.
   794  func (*IssuesListColumn) Descriptor() ([]byte, []int) {
   795  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{3}
   796  }
   797  
   798  func (x *IssuesListColumn) GetColumn() string {
   799  	if x != nil {
   800  		return x.Column
   801  	}
   802  	return ""
   803  }
   804  
   805  // Refers to an issue that may or may not be tracked in Monorail.
   806  // At least one of `issue` and `ext_identifier` MUST be set; they MUST NOT both
   807  // be set.
   808  // Next available tag: 3
   809  type IssueRef struct {
   810  	state         protoimpl.MessageState
   811  	sizeCache     protoimpl.SizeCache
   812  	unknownFields protoimpl.UnknownFields
   813  
   814  	// Resource name of an issue tracked in Monorail
   815  	Issue string `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
   816  	// For referencing external issues, e.g. b/1234, or a dangling reference
   817  	// to an old 'codesite' issue.
   818  	// TODO(monorail:7208): add more documentation on dangling references.
   819  	ExtIdentifier string `protobuf:"bytes,2,opt,name=ext_identifier,json=extIdentifier,proto3" json:"ext_identifier,omitempty"`
   820  }
   821  
   822  func (x *IssueRef) Reset() {
   823  	*x = IssueRef{}
   824  	if protoimpl.UnsafeEnabled {
   825  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[4]
   826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   827  		ms.StoreMessageInfo(mi)
   828  	}
   829  }
   830  
   831  func (x *IssueRef) String() string {
   832  	return protoimpl.X.MessageStringOf(x)
   833  }
   834  
   835  func (*IssueRef) ProtoMessage() {}
   836  
   837  func (x *IssueRef) ProtoReflect() protoreflect.Message {
   838  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[4]
   839  	if protoimpl.UnsafeEnabled && x != nil {
   840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   841  		if ms.LoadMessageInfo() == nil {
   842  			ms.StoreMessageInfo(mi)
   843  		}
   844  		return ms
   845  	}
   846  	return mi.MessageOf(x)
   847  }
   848  
   849  // Deprecated: Use IssueRef.ProtoReflect.Descriptor instead.
   850  func (*IssueRef) Descriptor() ([]byte, []int) {
   851  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{4}
   852  }
   853  
   854  func (x *IssueRef) GetIssue() string {
   855  	if x != nil {
   856  		return x.Issue
   857  	}
   858  	return ""
   859  }
   860  
   861  func (x *IssueRef) GetExtIdentifier() string {
   862  	if x != nil {
   863  		return x.ExtIdentifier
   864  	}
   865  	return ""
   866  }
   867  
   868  // Documents and tracks an approval process.
   869  // See monorail/doc/userguide/concepts.md#issue-approvals-and-gates
   870  // Next available tag: 9
   871  type ApprovalValue struct {
   872  	state         protoimpl.MessageState
   873  	sizeCache     protoimpl.SizeCache
   874  	unknownFields protoimpl.UnknownFields
   875  
   876  	// The resource name.
   877  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   878  	// The resource name of the ApprovalDef.
   879  	ApprovalDef string `protobuf:"bytes,2,opt,name=approval_def,json=approvalDef,proto3" json:"approval_def,omitempty"`
   880  	// The users able to grant this approval.
   881  	Approvers []string `protobuf:"bytes,3,rep,name=approvers,proto3" json:"approvers,omitempty"`
   882  	// The current status of the approval.
   883  	Status ApprovalValue_ApprovalStatus `protobuf:"varint,4,opt,name=status,proto3,enum=monorail.v3.ApprovalValue_ApprovalStatus" json:"status,omitempty"`
   884  	// The time `status` was last set.
   885  	SetTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=set_time,json=setTime,proto3" json:"set_time,omitempty"`
   886  	// The user who most recently set `status`.
   887  	Setter string `protobuf:"bytes,6,opt,name=setter,proto3" json:"setter,omitempty"`
   888  	// The phase the approval is associated with (if applicable).
   889  	Phase string `protobuf:"bytes,7,opt,name=phase,proto3" json:"phase,omitempty"`
   890  	// FieldValues with `approval_def` as their parent.
   891  	FieldValues []*FieldValue `protobuf:"bytes,8,rep,name=field_values,json=fieldValues,proto3" json:"field_values,omitempty"`
   892  }
   893  
   894  func (x *ApprovalValue) Reset() {
   895  	*x = ApprovalValue{}
   896  	if protoimpl.UnsafeEnabled {
   897  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[5]
   898  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   899  		ms.StoreMessageInfo(mi)
   900  	}
   901  }
   902  
   903  func (x *ApprovalValue) String() string {
   904  	return protoimpl.X.MessageStringOf(x)
   905  }
   906  
   907  func (*ApprovalValue) ProtoMessage() {}
   908  
   909  func (x *ApprovalValue) ProtoReflect() protoreflect.Message {
   910  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[5]
   911  	if protoimpl.UnsafeEnabled && x != nil {
   912  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   913  		if ms.LoadMessageInfo() == nil {
   914  			ms.StoreMessageInfo(mi)
   915  		}
   916  		return ms
   917  	}
   918  	return mi.MessageOf(x)
   919  }
   920  
   921  // Deprecated: Use ApprovalValue.ProtoReflect.Descriptor instead.
   922  func (*ApprovalValue) Descriptor() ([]byte, []int) {
   923  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{5}
   924  }
   925  
   926  func (x *ApprovalValue) GetName() string {
   927  	if x != nil {
   928  		return x.Name
   929  	}
   930  	return ""
   931  }
   932  
   933  func (x *ApprovalValue) GetApprovalDef() string {
   934  	if x != nil {
   935  		return x.ApprovalDef
   936  	}
   937  	return ""
   938  }
   939  
   940  func (x *ApprovalValue) GetApprovers() []string {
   941  	if x != nil {
   942  		return x.Approvers
   943  	}
   944  	return nil
   945  }
   946  
   947  func (x *ApprovalValue) GetStatus() ApprovalValue_ApprovalStatus {
   948  	if x != nil {
   949  		return x.Status
   950  	}
   951  	return ApprovalValue_APPROVAL_STATUS_UNSPECIFIED
   952  }
   953  
   954  func (x *ApprovalValue) GetSetTime() *timestamppb.Timestamp {
   955  	if x != nil {
   956  		return x.SetTime
   957  	}
   958  	return nil
   959  }
   960  
   961  func (x *ApprovalValue) GetSetter() string {
   962  	if x != nil {
   963  		return x.Setter
   964  	}
   965  	return ""
   966  }
   967  
   968  func (x *ApprovalValue) GetPhase() string {
   969  	if x != nil {
   970  		return x.Phase
   971  	}
   972  	return ""
   973  }
   974  
   975  func (x *ApprovalValue) GetFieldValues() []*FieldValue {
   976  	if x != nil {
   977  		return x.FieldValues
   978  	}
   979  	return nil
   980  }
   981  
   982  // A file attached to a comment.
   983  // Next available tag: 8
   984  type Comment_Attachment struct {
   985  	state         protoimpl.MessageState
   986  	sizeCache     protoimpl.SizeCache
   987  	unknownFields protoimpl.UnknownFields
   988  
   989  	// The name of the attached file.
   990  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
   991  	// It is possible for attachments to be deleted (and undeleted) by the
   992  	// uploader. The name of deleted attachments are still shown, but the
   993  	// content is not available.
   994  	State IssueContentState `protobuf:"varint,2,opt,name=state,proto3,enum=monorail.v3.IssueContentState" json:"state,omitempty"`
   995  	// Size of the attached file in bytes.
   996  	Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
   997  	// The type of content contained in the file, using the IANA's media type
   998  	// https://www.iana.org/assignments/media-types/media-types.xhtml.
   999  	MediaType string `protobuf:"bytes,4,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
  1000  	// The URI used for a preview of the attachment (when relelvant).
  1001  	ThumbnailUri string `protobuf:"bytes,5,opt,name=thumbnail_uri,json=thumbnailUri,proto3" json:"thumbnail_uri,omitempty"`
  1002  	// The URI used to view the content of the attachment.
  1003  	ViewUri string `protobuf:"bytes,6,opt,name=view_uri,json=viewUri,proto3" json:"view_uri,omitempty"`
  1004  	// The URI used to download the content of the attachment.
  1005  	DownloadUri string `protobuf:"bytes,7,opt,name=download_uri,json=downloadUri,proto3" json:"download_uri,omitempty"`
  1006  }
  1007  
  1008  func (x *Comment_Attachment) Reset() {
  1009  	*x = Comment_Attachment{}
  1010  	if protoimpl.UnsafeEnabled {
  1011  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[6]
  1012  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1013  		ms.StoreMessageInfo(mi)
  1014  	}
  1015  }
  1016  
  1017  func (x *Comment_Attachment) String() string {
  1018  	return protoimpl.X.MessageStringOf(x)
  1019  }
  1020  
  1021  func (*Comment_Attachment) ProtoMessage() {}
  1022  
  1023  func (x *Comment_Attachment) ProtoReflect() protoreflect.Message {
  1024  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[6]
  1025  	if protoimpl.UnsafeEnabled && x != nil {
  1026  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1027  		if ms.LoadMessageInfo() == nil {
  1028  			ms.StoreMessageInfo(mi)
  1029  		}
  1030  		return ms
  1031  	}
  1032  	return mi.MessageOf(x)
  1033  }
  1034  
  1035  // Deprecated: Use Comment_Attachment.ProtoReflect.Descriptor instead.
  1036  func (*Comment_Attachment) Descriptor() ([]byte, []int) {
  1037  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{0, 0}
  1038  }
  1039  
  1040  func (x *Comment_Attachment) GetFilename() string {
  1041  	if x != nil {
  1042  		return x.Filename
  1043  	}
  1044  	return ""
  1045  }
  1046  
  1047  func (x *Comment_Attachment) GetState() IssueContentState {
  1048  	if x != nil {
  1049  		return x.State
  1050  	}
  1051  	return IssueContentState_STATE_UNSPECIFIED
  1052  }
  1053  
  1054  func (x *Comment_Attachment) GetSize() uint64 {
  1055  	if x != nil {
  1056  		return x.Size
  1057  	}
  1058  	return 0
  1059  }
  1060  
  1061  func (x *Comment_Attachment) GetMediaType() string {
  1062  	if x != nil {
  1063  		return x.MediaType
  1064  	}
  1065  	return ""
  1066  }
  1067  
  1068  func (x *Comment_Attachment) GetThumbnailUri() string {
  1069  	if x != nil {
  1070  		return x.ThumbnailUri
  1071  	}
  1072  	return ""
  1073  }
  1074  
  1075  func (x *Comment_Attachment) GetViewUri() string {
  1076  	if x != nil {
  1077  		return x.ViewUri
  1078  	}
  1079  	return ""
  1080  }
  1081  
  1082  func (x *Comment_Attachment) GetDownloadUri() string {
  1083  	if x != nil {
  1084  		return x.DownloadUri
  1085  	}
  1086  	return ""
  1087  }
  1088  
  1089  // This message is only suitable for displaying the amendment to users.
  1090  // We don't currently offer structured amendments that client code can
  1091  // reason about, field names can be ambiguous, and we don't have
  1092  // old_value for most changes.
  1093  // Next available tag: 4
  1094  type Comment_Amendment struct {
  1095  	state         protoimpl.MessageState
  1096  	sizeCache     protoimpl.SizeCache
  1097  	unknownFields protoimpl.UnknownFields
  1098  
  1099  	// This may be the name of a built-in or custom field, or relative to
  1100  	// an approval field name.
  1101  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  1102  	// This may be a new value that overwrote the old value, e.g., "Assigned",
  1103  	// or it may be a space-separated list of changes, e.g., "Size-L -Size-S".
  1104  	NewOrDeltaValue string `protobuf:"bytes,2,opt,name=new_or_delta_value,json=newOrDeltaValue,proto3" json:"new_or_delta_value,omitempty"`
  1105  	// old_value is only used when the user changes the summary.
  1106  	OldValue string `protobuf:"bytes,3,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"`
  1107  }
  1108  
  1109  func (x *Comment_Amendment) Reset() {
  1110  	*x = Comment_Amendment{}
  1111  	if protoimpl.UnsafeEnabled {
  1112  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[7]
  1113  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1114  		ms.StoreMessageInfo(mi)
  1115  	}
  1116  }
  1117  
  1118  func (x *Comment_Amendment) String() string {
  1119  	return protoimpl.X.MessageStringOf(x)
  1120  }
  1121  
  1122  func (*Comment_Amendment) ProtoMessage() {}
  1123  
  1124  func (x *Comment_Amendment) ProtoReflect() protoreflect.Message {
  1125  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[7]
  1126  	if protoimpl.UnsafeEnabled && x != nil {
  1127  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1128  		if ms.LoadMessageInfo() == nil {
  1129  			ms.StoreMessageInfo(mi)
  1130  		}
  1131  		return ms
  1132  	}
  1133  	return mi.MessageOf(x)
  1134  }
  1135  
  1136  // Deprecated: Use Comment_Amendment.ProtoReflect.Descriptor instead.
  1137  func (*Comment_Amendment) Descriptor() ([]byte, []int) {
  1138  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{0, 1}
  1139  }
  1140  
  1141  func (x *Comment_Amendment) GetFieldName() string {
  1142  	if x != nil {
  1143  		return x.FieldName
  1144  	}
  1145  	return ""
  1146  }
  1147  
  1148  func (x *Comment_Amendment) GetNewOrDeltaValue() string {
  1149  	if x != nil {
  1150  		return x.NewOrDeltaValue
  1151  	}
  1152  	return ""
  1153  }
  1154  
  1155  func (x *Comment_Amendment) GetOldValue() string {
  1156  	if x != nil {
  1157  		return x.OldValue
  1158  	}
  1159  	return ""
  1160  }
  1161  
  1162  // A possibly rule-derived component for the issue.
  1163  // Next available tag: 3
  1164  type Issue_ComponentValue struct {
  1165  	state         protoimpl.MessageState
  1166  	sizeCache     protoimpl.SizeCache
  1167  	unknownFields protoimpl.UnknownFields
  1168  
  1169  	// AIP resource name of the component.
  1170  	Component string `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"`
  1171  	// How the component was derived.
  1172  	Derivation Derivation `protobuf:"varint,2,opt,name=derivation,proto3,enum=monorail.v3.Derivation" json:"derivation,omitempty"`
  1173  }
  1174  
  1175  func (x *Issue_ComponentValue) Reset() {
  1176  	*x = Issue_ComponentValue{}
  1177  	if protoimpl.UnsafeEnabled {
  1178  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[8]
  1179  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1180  		ms.StoreMessageInfo(mi)
  1181  	}
  1182  }
  1183  
  1184  func (x *Issue_ComponentValue) String() string {
  1185  	return protoimpl.X.MessageStringOf(x)
  1186  }
  1187  
  1188  func (*Issue_ComponentValue) ProtoMessage() {}
  1189  
  1190  func (x *Issue_ComponentValue) ProtoReflect() protoreflect.Message {
  1191  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[8]
  1192  	if protoimpl.UnsafeEnabled && x != nil {
  1193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1194  		if ms.LoadMessageInfo() == nil {
  1195  			ms.StoreMessageInfo(mi)
  1196  		}
  1197  		return ms
  1198  	}
  1199  	return mi.MessageOf(x)
  1200  }
  1201  
  1202  // Deprecated: Use Issue_ComponentValue.ProtoReflect.Descriptor instead.
  1203  func (*Issue_ComponentValue) Descriptor() ([]byte, []int) {
  1204  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{2, 0}
  1205  }
  1206  
  1207  func (x *Issue_ComponentValue) GetComponent() string {
  1208  	if x != nil {
  1209  		return x.Component
  1210  	}
  1211  	return ""
  1212  }
  1213  
  1214  func (x *Issue_ComponentValue) GetDerivation() Derivation {
  1215  	if x != nil {
  1216  		return x.Derivation
  1217  	}
  1218  	return Derivation_DERIVATION_UNSPECIFIED
  1219  }
  1220  
  1221  // A possibly rule-derived label for an issue.
  1222  // Next available tag: 3
  1223  type Issue_LabelValue struct {
  1224  	state         protoimpl.MessageState
  1225  	sizeCache     protoimpl.SizeCache
  1226  	unknownFields protoimpl.UnknownFields
  1227  
  1228  	// The label.
  1229  	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
  1230  	// How the label was derived.
  1231  	Derivation Derivation `protobuf:"varint,2,opt,name=derivation,proto3,enum=monorail.v3.Derivation" json:"derivation,omitempty"`
  1232  }
  1233  
  1234  func (x *Issue_LabelValue) Reset() {
  1235  	*x = Issue_LabelValue{}
  1236  	if protoimpl.UnsafeEnabled {
  1237  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[9]
  1238  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1239  		ms.StoreMessageInfo(mi)
  1240  	}
  1241  }
  1242  
  1243  func (x *Issue_LabelValue) String() string {
  1244  	return protoimpl.X.MessageStringOf(x)
  1245  }
  1246  
  1247  func (*Issue_LabelValue) ProtoMessage() {}
  1248  
  1249  func (x *Issue_LabelValue) ProtoReflect() protoreflect.Message {
  1250  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[9]
  1251  	if protoimpl.UnsafeEnabled && x != nil {
  1252  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253  		if ms.LoadMessageInfo() == nil {
  1254  			ms.StoreMessageInfo(mi)
  1255  		}
  1256  		return ms
  1257  	}
  1258  	return mi.MessageOf(x)
  1259  }
  1260  
  1261  // Deprecated: Use Issue_LabelValue.ProtoReflect.Descriptor instead.
  1262  func (*Issue_LabelValue) Descriptor() ([]byte, []int) {
  1263  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{2, 1}
  1264  }
  1265  
  1266  func (x *Issue_LabelValue) GetLabel() string {
  1267  	if x != nil {
  1268  		return x.Label
  1269  	}
  1270  	return ""
  1271  }
  1272  
  1273  func (x *Issue_LabelValue) GetDerivation() Derivation {
  1274  	if x != nil {
  1275  		return x.Derivation
  1276  	}
  1277  	return Derivation_DERIVATION_UNSPECIFIED
  1278  }
  1279  
  1280  // A possibly rule-derived status for an issue.
  1281  // Next available tag: 3
  1282  type Issue_StatusValue struct {
  1283  	state         protoimpl.MessageState
  1284  	sizeCache     protoimpl.SizeCache
  1285  	unknownFields protoimpl.UnknownFields
  1286  
  1287  	// The status of the issue. Note that in rare cases this can be a
  1288  	// value not defined in the project's StatusDefs (e.g. if the issue
  1289  	// was moved from another project).
  1290  	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
  1291  	// How the status was derived.
  1292  	Derivation Derivation `protobuf:"varint,2,opt,name=derivation,proto3,enum=monorail.v3.Derivation" json:"derivation,omitempty"`
  1293  }
  1294  
  1295  func (x *Issue_StatusValue) Reset() {
  1296  	*x = Issue_StatusValue{}
  1297  	if protoimpl.UnsafeEnabled {
  1298  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[10]
  1299  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1300  		ms.StoreMessageInfo(mi)
  1301  	}
  1302  }
  1303  
  1304  func (x *Issue_StatusValue) String() string {
  1305  	return protoimpl.X.MessageStringOf(x)
  1306  }
  1307  
  1308  func (*Issue_StatusValue) ProtoMessage() {}
  1309  
  1310  func (x *Issue_StatusValue) ProtoReflect() protoreflect.Message {
  1311  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[10]
  1312  	if protoimpl.UnsafeEnabled && x != nil {
  1313  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1314  		if ms.LoadMessageInfo() == nil {
  1315  			ms.StoreMessageInfo(mi)
  1316  		}
  1317  		return ms
  1318  	}
  1319  	return mi.MessageOf(x)
  1320  }
  1321  
  1322  // Deprecated: Use Issue_StatusValue.ProtoReflect.Descriptor instead.
  1323  func (*Issue_StatusValue) Descriptor() ([]byte, []int) {
  1324  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{2, 2}
  1325  }
  1326  
  1327  func (x *Issue_StatusValue) GetStatus() string {
  1328  	if x != nil {
  1329  		return x.Status
  1330  	}
  1331  	return ""
  1332  }
  1333  
  1334  func (x *Issue_StatusValue) GetDerivation() Derivation {
  1335  	if x != nil {
  1336  		return x.Derivation
  1337  	}
  1338  	return Derivation_DERIVATION_UNSPECIFIED
  1339  }
  1340  
  1341  // A possibly rule-derived user value on an issue.
  1342  // Next available tag: 3
  1343  type Issue_UserValue struct {
  1344  	state         protoimpl.MessageState
  1345  	sizeCache     protoimpl.SizeCache
  1346  	unknownFields protoimpl.UnknownFields
  1347  
  1348  	// The user.
  1349  	User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
  1350  	// How the user value was derived.
  1351  	Derivation Derivation `protobuf:"varint,2,opt,name=derivation,proto3,enum=monorail.v3.Derivation" json:"derivation,omitempty"`
  1352  }
  1353  
  1354  func (x *Issue_UserValue) Reset() {
  1355  	*x = Issue_UserValue{}
  1356  	if protoimpl.UnsafeEnabled {
  1357  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[11]
  1358  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1359  		ms.StoreMessageInfo(mi)
  1360  	}
  1361  }
  1362  
  1363  func (x *Issue_UserValue) String() string {
  1364  	return protoimpl.X.MessageStringOf(x)
  1365  }
  1366  
  1367  func (*Issue_UserValue) ProtoMessage() {}
  1368  
  1369  func (x *Issue_UserValue) ProtoReflect() protoreflect.Message {
  1370  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[11]
  1371  	if protoimpl.UnsafeEnabled && x != nil {
  1372  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1373  		if ms.LoadMessageInfo() == nil {
  1374  			ms.StoreMessageInfo(mi)
  1375  		}
  1376  		return ms
  1377  	}
  1378  	return mi.MessageOf(x)
  1379  }
  1380  
  1381  // Deprecated: Use Issue_UserValue.ProtoReflect.Descriptor instead.
  1382  func (*Issue_UserValue) Descriptor() ([]byte, []int) {
  1383  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP(), []int{2, 3}
  1384  }
  1385  
  1386  func (x *Issue_UserValue) GetUser() string {
  1387  	if x != nil {
  1388  		return x.User
  1389  	}
  1390  	return ""
  1391  }
  1392  
  1393  func (x *Issue_UserValue) GetDerivation() Derivation {
  1394  	if x != nil {
  1395  		return x.Derivation
  1396  	}
  1397  	return Derivation_DERIVATION_UNSPECIFIED
  1398  }
  1399  
  1400  var File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto protoreflect.FileDescriptor
  1401  
  1402  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDesc = []byte{
  1403  	0x0a, 0x52, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1404  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f,
  1405  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x62, 0x75, 0x67, 0x73, 0x2f, 0x6d, 0x6f,
  1406  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1407  	0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x70,
  1408  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76,
  1409  	0x33, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
  1410  	0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
  1411  	0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
  1412  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
  1413  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
  1414  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c,
  1415  	0x08, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
  1416  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39,
  1417  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e,
  1418  	0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75,
  1419  	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0,
  1420  	0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70,
  1421  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1422  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79,
  1423  	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
  1424  	0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  1425  	0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
  1426  	0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61,
  1427  	0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65,
  1428  	0x72, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b,
  1429  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
  1430  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1431  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
  1432  	0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c,
  1433  	0x0a, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
  1434  	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x69, 0x6e,
  1435  	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08,
  1436  	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20,
  1437  	0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63,
  1438  	0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
  1439  	0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x6d,
  1440  	0x65, 0x6e, 0x64, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
  1441  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d,
  1442  	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6d, 0x65, 0x6e, 0x64, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03,
  1443  	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x65, 0x6e, 0x64, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
  1444  	0x46, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a,
  1445  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1446  	0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63,
  1447  	0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61,
  1448  	0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xf4, 0x01, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61,
  1449  	0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
  1450  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
  1451  	0x6d, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1452  	0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e,
  1453  	0x49, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
  1454  	0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
  1455  	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
  1456  	0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
  1457  	0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74,
  1458  	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01,
  1459  	0x28, 0x09, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x69,
  1460  	0x12, 0x19, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01,
  1461  	0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x64,
  1462  	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28,
  1463  	0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x69, 0x1a, 0x74,
  1464  	0x0a, 0x09, 0x41, 0x6d, 0x65, 0x6e, 0x64, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66,
  1465  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1466  	0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x6e, 0x65,
  1467  	0x77, 0x5f, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
  1468  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x4f, 0x72, 0x44, 0x65, 0x6c,
  1469  	0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76,
  1470  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x56,
  1471  	0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
  1472  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a,
  1473  	0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45,
  1474  	0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x3a, 0x50, 0xea, 0x41, 0x4d,
  1475  	0x0a, 0x15, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  1476  	0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  1477  	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75,
  1478  	0x65, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
  1479  	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x22, 0xa9, 0x01,
  1480  	0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31, 0x0a, 0x05,
  1481  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xfa, 0x41, 0x18,
  1482  	0x0a, 0x16, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  1483  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12,
  1484  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  1485  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74,
  1486  	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1487  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69,
  1488  	0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74,
  1489  	0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01,
  1490  	0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x22, 0xb6, 0x0e, 0x0a, 0x05, 0x49, 0x73,
  1491  	0x73, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1492  	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
  1493  	0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
  1494  	0x79, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
  1495  	0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49,
  1496  	0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
  1497  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06,
  1498  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d,
  1499  	0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65,
  1500  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41,
  1501  	0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x70,
  1502  	0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe0, 0x41, 0x03,
  1503  	0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63,
  1504  	0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65,
  1505  	0x72, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
  1506  	0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49,
  1507  	0x73, 0x73, 0x75, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
  1508  	0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x63, 0x5f, 0x75, 0x73, 0x65, 0x72,
  1509  	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1510  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72,
  1511  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x63, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x35,
  1512  	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
  1513  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73,
  1514  	0x75, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6c,
  1515  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
  1516  	0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1517  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x43, 0x6f,
  1518  	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6f,
  1519  	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c,
  1520  	0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
  1521  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65,
  1522  	0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61,
  1523  	0x6c, 0x75, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x69,
  1524  	0x6e, 0x74, 0x6f, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0b, 0x20,
  1525  	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76,
  1526  	0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x12, 0x6d, 0x65, 0x72, 0x67,
  1527  	0x65, 0x64, 0x49, 0x6e, 0x74, 0x6f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x12, 0x48,
  1528  	0x0a, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x73, 0x73,
  1529  	0x75, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
  1530  	0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75,
  1531  	0x65, 0x52, 0x65, 0x66, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x4f, 0x6e, 0x49,
  1532  	0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x73, 0x12, 0x45, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63,
  1533  	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x18,
  1534  	0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
  1535  	0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x11, 0x62, 0x6c,
  1536  	0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x73, 0x12,
  1537  	0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e,
  1538  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1539  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1540  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
  1541  	0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  1542  	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  1543  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  1544  	0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d,
  1545  	0x65, 0x12, 0x40, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  1546  	0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1547  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1548  	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54,
  1549  	0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
  1550  	0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01,
  1551  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1552  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
  1553  	0xe0, 0x41, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4d, 0x6f,
  1554  	0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74,
  1555  	0x75, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12,
  1556  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1557  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1558  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x6f, 0x64,
  1559  	0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x6f, 0x77, 0x6e, 0x65, 0x72,
  1560  	0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01,
  1561  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1562  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
  1563  	0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
  1564  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
  1565  	0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03,
  1566  	0xe0, 0x41, 0x03, 0x52, 0x0f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43,
  1567  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x75,
  1568  	0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73,
  1569  	0x74, 0x61, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x68, 0x61, 0x73,
  1570  	0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x70,
  1571  	0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65,
  1572  	0x64, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72,
  1573  	0x61, 0x74, 0x65, 0x64, 0x49, 0x64, 0x1a, 0x8d, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
  1574  	0x6e, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6d,
  1575  	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xfa, 0x41,
  1576  	0x1c, 0x0a, 0x1a, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d,
  1577  	0x2f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63,
  1578  	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x72, 0x69,
  1579  	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d,
  1580  	0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76,
  1581  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69,
  1582  	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x60, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x56,
  1583  	0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20,
  1584  	0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65,
  1585  	0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17,
  1586  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x72,
  1587  	0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65,
  1588  	0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x63, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74,
  1589  	0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  1590  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
  1591  	0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
  1592  	0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76,
  1593  	0x33, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
  1594  	0x03, 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x76, 0x0a,
  1595  	0x09, 0x55, 0x73, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x75, 0x73,
  1596  	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61,
  1597  	0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65,
  1598  	0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76,
  1599  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f,
  1600  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61,
  1601  	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x72, 0x69, 0x76,
  1602  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3b, 0xea, 0x41, 0x38, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x2e,
  1603  	0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12,
  1604  	0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  1605  	0x63, 0x74, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75,
  1606  	0x65, 0x7d, 0x22, 0x2a, 0x0a, 0x10, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74,
  1607  	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
  1608  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x61,
  1609  	0x0a, 0x08, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x12, 0x2e, 0x0a, 0x05, 0x69, 0x73,
  1610  	0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xfa, 0x41, 0x15, 0x0a, 0x13,
  1611  	0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73,
  1612  	0x73, 0x75, 0x65, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78,
  1613  	0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
  1614  	0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
  1615  	0x72, 0x22, 0xbd, 0x05, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61,
  1616  	0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1617  	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f,
  1618  	0x76, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0,
  1619  	0x41, 0x03, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67,
  1620  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x66,
  1621  	0x52, 0x0b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x66, 0x12, 0x35, 0x0a,
  1622  	0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
  1623  	0x42, 0x17, 0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67,
  1624  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f,
  1625  	0x76, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
  1626  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1627  	0x76, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
  1628  	0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
  1629  	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x5f, 0x74,
  1630  	0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1631  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  1632  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, 0x65, 0x74, 0x54,
  1633  	0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20,
  1634  	0x01, 0x28, 0x09, 0x42, 0x1a, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61, 0x70, 0x69,
  1635  	0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65, 0x72, 0x52,
  1636  	0x06, 0x73, 0x65, 0x74, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65,
  1637  	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x70, 0x68, 0x61,
  1638  	0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75,
  1639  	0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72,
  1640  	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75,
  1641  	0x65, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xb1,
  1642  	0x01, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75,
  1643  	0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x53, 0x54,
  1644  	0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  1645  	0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12,
  1646  	0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10,
  1647  	0x02, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x41, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x56,
  1648  	0x49, 0x45, 0x57, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12,
  1649  	0x12, 0x0a, 0x0e, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45,
  1650  	0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x4f,
  1651  	0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x07,
  1652  	0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44,
  1653  	0x10, 0x08, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62,
  1654  	0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56,
  1655  	0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  1656  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x2f,
  1657  	0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
  1658  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
  1659  	0x7d, 0x2a, 0x40, 0x0a, 0x0a, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  1660  	0x1a, 0x0a, 0x16, 0x44, 0x45, 0x52, 0x49, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
  1661  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45,
  1662  	0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x4c,
  1663  	0x45, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x11, 0x49, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74,
  1664  	0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54,
  1665  	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  1666  	0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44,
  1667  	0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, 0x41, 0x4d,
  1668  	0x10, 0x03, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
  1669  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  1670  	0x73, 0x69, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x62, 0x75, 0x67,
  1671  	0x73, 0x2f, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x70,
  1672  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1673  }
  1674  
  1675  var (
  1676  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescOnce sync.Once
  1677  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescData = file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDesc
  1678  )
  1679  
  1680  func file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescGZIP() []byte {
  1681  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescOnce.Do(func() {
  1682  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescData)
  1683  	})
  1684  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDescData
  1685  }
  1686  
  1687  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
  1688  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
  1689  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_goTypes = []interface{}{
  1690  	(Derivation)(0),                   // 0: monorail.v3.Derivation
  1691  	(IssueContentState)(0),            // 1: monorail.v3.IssueContentState
  1692  	(Comment_Type)(0),                 // 2: monorail.v3.Comment.Type
  1693  	(ApprovalValue_ApprovalStatus)(0), // 3: monorail.v3.ApprovalValue.ApprovalStatus
  1694  	(*Comment)(nil),                   // 4: monorail.v3.Comment
  1695  	(*FieldValue)(nil),                // 5: monorail.v3.FieldValue
  1696  	(*Issue)(nil),                     // 6: monorail.v3.Issue
  1697  	(*IssuesListColumn)(nil),          // 7: monorail.v3.IssuesListColumn
  1698  	(*IssueRef)(nil),                  // 8: monorail.v3.IssueRef
  1699  	(*ApprovalValue)(nil),             // 9: monorail.v3.ApprovalValue
  1700  	(*Comment_Attachment)(nil),        // 10: monorail.v3.Comment.Attachment
  1701  	(*Comment_Amendment)(nil),         // 11: monorail.v3.Comment.Amendment
  1702  	(*Issue_ComponentValue)(nil),      // 12: monorail.v3.Issue.ComponentValue
  1703  	(*Issue_LabelValue)(nil),          // 13: monorail.v3.Issue.LabelValue
  1704  	(*Issue_StatusValue)(nil),         // 14: monorail.v3.Issue.StatusValue
  1705  	(*Issue_UserValue)(nil),           // 15: monorail.v3.Issue.UserValue
  1706  	(*timestamppb.Timestamp)(nil),     // 16: google.protobuf.Timestamp
  1707  }
  1708  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_depIdxs = []int32{
  1709  	1,  // 0: monorail.v3.Comment.state:type_name -> monorail.v3.IssueContentState
  1710  	2,  // 1: monorail.v3.Comment.type:type_name -> monorail.v3.Comment.Type
  1711  	16, // 2: monorail.v3.Comment.create_time:type_name -> google.protobuf.Timestamp
  1712  	11, // 3: monorail.v3.Comment.amendments:type_name -> monorail.v3.Comment.Amendment
  1713  	10, // 4: monorail.v3.Comment.attachments:type_name -> monorail.v3.Comment.Attachment
  1714  	0,  // 5: monorail.v3.FieldValue.derivation:type_name -> monorail.v3.Derivation
  1715  	1,  // 6: monorail.v3.Issue.state:type_name -> monorail.v3.IssueContentState
  1716  	14, // 7: monorail.v3.Issue.status:type_name -> monorail.v3.Issue.StatusValue
  1717  	15, // 8: monorail.v3.Issue.owner:type_name -> monorail.v3.Issue.UserValue
  1718  	15, // 9: monorail.v3.Issue.cc_users:type_name -> monorail.v3.Issue.UserValue
  1719  	13, // 10: monorail.v3.Issue.labels:type_name -> monorail.v3.Issue.LabelValue
  1720  	12, // 11: monorail.v3.Issue.components:type_name -> monorail.v3.Issue.ComponentValue
  1721  	5,  // 12: monorail.v3.Issue.field_values:type_name -> monorail.v3.FieldValue
  1722  	8,  // 13: monorail.v3.Issue.merged_into_issue_ref:type_name -> monorail.v3.IssueRef
  1723  	8,  // 14: monorail.v3.Issue.blocked_on_issue_refs:type_name -> monorail.v3.IssueRef
  1724  	8,  // 15: monorail.v3.Issue.blocking_issue_refs:type_name -> monorail.v3.IssueRef
  1725  	16, // 16: monorail.v3.Issue.create_time:type_name -> google.protobuf.Timestamp
  1726  	16, // 17: monorail.v3.Issue.close_time:type_name -> google.protobuf.Timestamp
  1727  	16, // 18: monorail.v3.Issue.modify_time:type_name -> google.protobuf.Timestamp
  1728  	16, // 19: monorail.v3.Issue.component_modify_time:type_name -> google.protobuf.Timestamp
  1729  	16, // 20: monorail.v3.Issue.status_modify_time:type_name -> google.protobuf.Timestamp
  1730  	16, // 21: monorail.v3.Issue.owner_modify_time:type_name -> google.protobuf.Timestamp
  1731  	3,  // 22: monorail.v3.ApprovalValue.status:type_name -> monorail.v3.ApprovalValue.ApprovalStatus
  1732  	16, // 23: monorail.v3.ApprovalValue.set_time:type_name -> google.protobuf.Timestamp
  1733  	5,  // 24: monorail.v3.ApprovalValue.field_values:type_name -> monorail.v3.FieldValue
  1734  	1,  // 25: monorail.v3.Comment.Attachment.state:type_name -> monorail.v3.IssueContentState
  1735  	0,  // 26: monorail.v3.Issue.ComponentValue.derivation:type_name -> monorail.v3.Derivation
  1736  	0,  // 27: monorail.v3.Issue.LabelValue.derivation:type_name -> monorail.v3.Derivation
  1737  	0,  // 28: monorail.v3.Issue.StatusValue.derivation:type_name -> monorail.v3.Derivation
  1738  	0,  // 29: monorail.v3.Issue.UserValue.derivation:type_name -> monorail.v3.Derivation
  1739  	30, // [30:30] is the sub-list for method output_type
  1740  	30, // [30:30] is the sub-list for method input_type
  1741  	30, // [30:30] is the sub-list for extension type_name
  1742  	30, // [30:30] is the sub-list for extension extendee
  1743  	0,  // [0:30] is the sub-list for field type_name
  1744  }
  1745  
  1746  func init() {
  1747  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_init()
  1748  }
  1749  func file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_init() {
  1750  	if File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto != nil {
  1751  		return
  1752  	}
  1753  	if !protoimpl.UnsafeEnabled {
  1754  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1755  			switch v := v.(*Comment); i {
  1756  			case 0:
  1757  				return &v.state
  1758  			case 1:
  1759  				return &v.sizeCache
  1760  			case 2:
  1761  				return &v.unknownFields
  1762  			default:
  1763  				return nil
  1764  			}
  1765  		}
  1766  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1767  			switch v := v.(*FieldValue); i {
  1768  			case 0:
  1769  				return &v.state
  1770  			case 1:
  1771  				return &v.sizeCache
  1772  			case 2:
  1773  				return &v.unknownFields
  1774  			default:
  1775  				return nil
  1776  			}
  1777  		}
  1778  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1779  			switch v := v.(*Issue); i {
  1780  			case 0:
  1781  				return &v.state
  1782  			case 1:
  1783  				return &v.sizeCache
  1784  			case 2:
  1785  				return &v.unknownFields
  1786  			default:
  1787  				return nil
  1788  			}
  1789  		}
  1790  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1791  			switch v := v.(*IssuesListColumn); i {
  1792  			case 0:
  1793  				return &v.state
  1794  			case 1:
  1795  				return &v.sizeCache
  1796  			case 2:
  1797  				return &v.unknownFields
  1798  			default:
  1799  				return nil
  1800  			}
  1801  		}
  1802  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1803  			switch v := v.(*IssueRef); i {
  1804  			case 0:
  1805  				return &v.state
  1806  			case 1:
  1807  				return &v.sizeCache
  1808  			case 2:
  1809  				return &v.unknownFields
  1810  			default:
  1811  				return nil
  1812  			}
  1813  		}
  1814  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1815  			switch v := v.(*ApprovalValue); i {
  1816  			case 0:
  1817  				return &v.state
  1818  			case 1:
  1819  				return &v.sizeCache
  1820  			case 2:
  1821  				return &v.unknownFields
  1822  			default:
  1823  				return nil
  1824  			}
  1825  		}
  1826  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1827  			switch v := v.(*Comment_Attachment); i {
  1828  			case 0:
  1829  				return &v.state
  1830  			case 1:
  1831  				return &v.sizeCache
  1832  			case 2:
  1833  				return &v.unknownFields
  1834  			default:
  1835  				return nil
  1836  			}
  1837  		}
  1838  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1839  			switch v := v.(*Comment_Amendment); i {
  1840  			case 0:
  1841  				return &v.state
  1842  			case 1:
  1843  				return &v.sizeCache
  1844  			case 2:
  1845  				return &v.unknownFields
  1846  			default:
  1847  				return nil
  1848  			}
  1849  		}
  1850  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1851  			switch v := v.(*Issue_ComponentValue); i {
  1852  			case 0:
  1853  				return &v.state
  1854  			case 1:
  1855  				return &v.sizeCache
  1856  			case 2:
  1857  				return &v.unknownFields
  1858  			default:
  1859  				return nil
  1860  			}
  1861  		}
  1862  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1863  			switch v := v.(*Issue_LabelValue); i {
  1864  			case 0:
  1865  				return &v.state
  1866  			case 1:
  1867  				return &v.sizeCache
  1868  			case 2:
  1869  				return &v.unknownFields
  1870  			default:
  1871  				return nil
  1872  			}
  1873  		}
  1874  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1875  			switch v := v.(*Issue_StatusValue); i {
  1876  			case 0:
  1877  				return &v.state
  1878  			case 1:
  1879  				return &v.sizeCache
  1880  			case 2:
  1881  				return &v.unknownFields
  1882  			default:
  1883  				return nil
  1884  			}
  1885  		}
  1886  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1887  			switch v := v.(*Issue_UserValue); i {
  1888  			case 0:
  1889  				return &v.state
  1890  			case 1:
  1891  				return &v.sizeCache
  1892  			case 2:
  1893  				return &v.unknownFields
  1894  			default:
  1895  				return nil
  1896  			}
  1897  		}
  1898  	}
  1899  	type x struct{}
  1900  	out := protoimpl.TypeBuilder{
  1901  		File: protoimpl.DescBuilder{
  1902  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1903  			RawDescriptor: file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDesc,
  1904  			NumEnums:      4,
  1905  			NumMessages:   12,
  1906  			NumExtensions: 0,
  1907  			NumServices:   0,
  1908  		},
  1909  		GoTypes:           file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_goTypes,
  1910  		DependencyIndexes: file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_depIdxs,
  1911  		EnumInfos:         file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_enumTypes,
  1912  		MessageInfos:      file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_msgTypes,
  1913  	}.Build()
  1914  	File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto = out.File
  1915  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_rawDesc = nil
  1916  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_goTypes = nil
  1917  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_depIdxs = nil
  1918  }