github.com/status-im/status-go@v1.1.0/protocol/protobuf/chat_message.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.31.0
     4  // 	protoc        v3.20.3
     5  // source: chat_message.proto
     6  
     7  package protobuf
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	reflect "reflect"
    13  	sync "sync"
    14  )
    15  
    16  const (
    17  	// Verify that this generated code is sufficiently up-to-date.
    18  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    19  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    21  )
    22  
    23  type AudioMessage_AudioType int32
    24  
    25  const (
    26  	AudioMessage_UNKNOWN_AUDIO_TYPE AudioMessage_AudioType = 0
    27  	AudioMessage_AAC                AudioMessage_AudioType = 1
    28  	AudioMessage_AMR                AudioMessage_AudioType = 2
    29  )
    30  
    31  // Enum value maps for AudioMessage_AudioType.
    32  var (
    33  	AudioMessage_AudioType_name = map[int32]string{
    34  		0: "UNKNOWN_AUDIO_TYPE",
    35  		1: "AAC",
    36  		2: "AMR",
    37  	}
    38  	AudioMessage_AudioType_value = map[string]int32{
    39  		"UNKNOWN_AUDIO_TYPE": 0,
    40  		"AAC":                1,
    41  		"AMR":                2,
    42  	}
    43  )
    44  
    45  func (x AudioMessage_AudioType) Enum() *AudioMessage_AudioType {
    46  	p := new(AudioMessage_AudioType)
    47  	*p = x
    48  	return p
    49  }
    50  
    51  func (x AudioMessage_AudioType) String() string {
    52  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    53  }
    54  
    55  func (AudioMessage_AudioType) Descriptor() protoreflect.EnumDescriptor {
    56  	return file_chat_message_proto_enumTypes[0].Descriptor()
    57  }
    58  
    59  func (AudioMessage_AudioType) Type() protoreflect.EnumType {
    60  	return &file_chat_message_proto_enumTypes[0]
    61  }
    62  
    63  func (x AudioMessage_AudioType) Number() protoreflect.EnumNumber {
    64  	return protoreflect.EnumNumber(x)
    65  }
    66  
    67  // Deprecated: Use AudioMessage_AudioType.Descriptor instead.
    68  func (AudioMessage_AudioType) EnumDescriptor() ([]byte, []int) {
    69  	return file_chat_message_proto_rawDescGZIP(), []int{2, 0}
    70  }
    71  
    72  type UnfurledLink_LinkType int32
    73  
    74  const (
    75  	UnfurledLink_LINK  UnfurledLink_LinkType = 0
    76  	UnfurledLink_IMAGE UnfurledLink_LinkType = 1
    77  )
    78  
    79  // Enum value maps for UnfurledLink_LinkType.
    80  var (
    81  	UnfurledLink_LinkType_name = map[int32]string{
    82  		0: "LINK",
    83  		1: "IMAGE",
    84  	}
    85  	UnfurledLink_LinkType_value = map[string]int32{
    86  		"LINK":  0,
    87  		"IMAGE": 1,
    88  	}
    89  )
    90  
    91  func (x UnfurledLink_LinkType) Enum() *UnfurledLink_LinkType {
    92  	p := new(UnfurledLink_LinkType)
    93  	*p = x
    94  	return p
    95  }
    96  
    97  func (x UnfurledLink_LinkType) String() string {
    98  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    99  }
   100  
   101  func (UnfurledLink_LinkType) Descriptor() protoreflect.EnumDescriptor {
   102  	return file_chat_message_proto_enumTypes[1].Descriptor()
   103  }
   104  
   105  func (UnfurledLink_LinkType) Type() protoreflect.EnumType {
   106  	return &file_chat_message_proto_enumTypes[1]
   107  }
   108  
   109  func (x UnfurledLink_LinkType) Number() protoreflect.EnumNumber {
   110  	return protoreflect.EnumNumber(x)
   111  }
   112  
   113  // Deprecated: Use UnfurledLink_LinkType.Descriptor instead.
   114  func (UnfurledLink_LinkType) EnumDescriptor() ([]byte, []int) {
   115  	return file_chat_message_proto_rawDescGZIP(), []int{12, 0}
   116  }
   117  
   118  type ChatMessage_ContentType int32
   119  
   120  const (
   121  	ChatMessage_UNKNOWN_CONTENT_TYPE ChatMessage_ContentType = 0
   122  	ChatMessage_TEXT_PLAIN           ChatMessage_ContentType = 1
   123  	ChatMessage_STICKER              ChatMessage_ContentType = 2
   124  	ChatMessage_STATUS               ChatMessage_ContentType = 3
   125  	ChatMessage_EMOJI                ChatMessage_ContentType = 4
   126  	ChatMessage_TRANSACTION_COMMAND  ChatMessage_ContentType = 5
   127  	// Only local
   128  	ChatMessage_SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP ChatMessage_ContentType = 6
   129  	ChatMessage_IMAGE                                ChatMessage_ContentType = 7
   130  	ChatMessage_AUDIO                                ChatMessage_ContentType = 8
   131  	ChatMessage_COMMUNITY                            ChatMessage_ContentType = 9
   132  	// Only local
   133  	ChatMessage_SYSTEM_MESSAGE_GAP    ChatMessage_ContentType = 10
   134  	ChatMessage_CONTACT_REQUEST       ChatMessage_ContentType = 11
   135  	ChatMessage_DISCORD_MESSAGE       ChatMessage_ContentType = 12
   136  	ChatMessage_IDENTITY_VERIFICATION ChatMessage_ContentType = 13
   137  	// Only local
   138  	ChatMessage_SYSTEM_MESSAGE_PINNED_MESSAGE ChatMessage_ContentType = 14
   139  	// Only local
   140  	ChatMessage_SYSTEM_MESSAGE_MUTUAL_EVENT_SENT ChatMessage_ContentType = 15
   141  	// Only local
   142  	ChatMessage_SYSTEM_MESSAGE_MUTUAL_EVENT_ACCEPTED ChatMessage_ContentType = 16
   143  	// Only local
   144  	ChatMessage_SYSTEM_MESSAGE_MUTUAL_EVENT_REMOVED ChatMessage_ContentType = 17
   145  	ChatMessage_BRIDGE_MESSAGE                      ChatMessage_ContentType = 18
   146  )
   147  
   148  // Enum value maps for ChatMessage_ContentType.
   149  var (
   150  	ChatMessage_ContentType_name = map[int32]string{
   151  		0:  "UNKNOWN_CONTENT_TYPE",
   152  		1:  "TEXT_PLAIN",
   153  		2:  "STICKER",
   154  		3:  "STATUS",
   155  		4:  "EMOJI",
   156  		5:  "TRANSACTION_COMMAND",
   157  		6:  "SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP",
   158  		7:  "IMAGE",
   159  		8:  "AUDIO",
   160  		9:  "COMMUNITY",
   161  		10: "SYSTEM_MESSAGE_GAP",
   162  		11: "CONTACT_REQUEST",
   163  		12: "DISCORD_MESSAGE",
   164  		13: "IDENTITY_VERIFICATION",
   165  		14: "SYSTEM_MESSAGE_PINNED_MESSAGE",
   166  		15: "SYSTEM_MESSAGE_MUTUAL_EVENT_SENT",
   167  		16: "SYSTEM_MESSAGE_MUTUAL_EVENT_ACCEPTED",
   168  		17: "SYSTEM_MESSAGE_MUTUAL_EVENT_REMOVED",
   169  		18: "BRIDGE_MESSAGE",
   170  	}
   171  	ChatMessage_ContentType_value = map[string]int32{
   172  		"UNKNOWN_CONTENT_TYPE":                 0,
   173  		"TEXT_PLAIN":                           1,
   174  		"STICKER":                              2,
   175  		"STATUS":                               3,
   176  		"EMOJI":                                4,
   177  		"TRANSACTION_COMMAND":                  5,
   178  		"SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP": 6,
   179  		"IMAGE":                                7,
   180  		"AUDIO":                                8,
   181  		"COMMUNITY":                            9,
   182  		"SYSTEM_MESSAGE_GAP":                   10,
   183  		"CONTACT_REQUEST":                      11,
   184  		"DISCORD_MESSAGE":                      12,
   185  		"IDENTITY_VERIFICATION":                13,
   186  		"SYSTEM_MESSAGE_PINNED_MESSAGE":        14,
   187  		"SYSTEM_MESSAGE_MUTUAL_EVENT_SENT":     15,
   188  		"SYSTEM_MESSAGE_MUTUAL_EVENT_ACCEPTED": 16,
   189  		"SYSTEM_MESSAGE_MUTUAL_EVENT_REMOVED":  17,
   190  		"BRIDGE_MESSAGE":                       18,
   191  	}
   192  )
   193  
   194  func (x ChatMessage_ContentType) Enum() *ChatMessage_ContentType {
   195  	p := new(ChatMessage_ContentType)
   196  	*p = x
   197  	return p
   198  }
   199  
   200  func (x ChatMessage_ContentType) String() string {
   201  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   202  }
   203  
   204  func (ChatMessage_ContentType) Descriptor() protoreflect.EnumDescriptor {
   205  	return file_chat_message_proto_enumTypes[2].Descriptor()
   206  }
   207  
   208  func (ChatMessage_ContentType) Type() protoreflect.EnumType {
   209  	return &file_chat_message_proto_enumTypes[2]
   210  }
   211  
   212  func (x ChatMessage_ContentType) Number() protoreflect.EnumNumber {
   213  	return protoreflect.EnumNumber(x)
   214  }
   215  
   216  // Deprecated: Use ChatMessage_ContentType.Descriptor instead.
   217  func (ChatMessage_ContentType) EnumDescriptor() ([]byte, []int) {
   218  	return file_chat_message_proto_rawDescGZIP(), []int{18, 0}
   219  }
   220  
   221  type StickerMessage struct {
   222  	state         protoimpl.MessageState
   223  	sizeCache     protoimpl.SizeCache
   224  	unknownFields protoimpl.UnknownFields
   225  
   226  	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
   227  	Pack int32  `protobuf:"varint,2,opt,name=pack,proto3" json:"pack,omitempty"`
   228  }
   229  
   230  func (x *StickerMessage) Reset() {
   231  	*x = StickerMessage{}
   232  	if protoimpl.UnsafeEnabled {
   233  		mi := &file_chat_message_proto_msgTypes[0]
   234  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   235  		ms.StoreMessageInfo(mi)
   236  	}
   237  }
   238  
   239  func (x *StickerMessage) String() string {
   240  	return protoimpl.X.MessageStringOf(x)
   241  }
   242  
   243  func (*StickerMessage) ProtoMessage() {}
   244  
   245  func (x *StickerMessage) ProtoReflect() protoreflect.Message {
   246  	mi := &file_chat_message_proto_msgTypes[0]
   247  	if protoimpl.UnsafeEnabled && x != nil {
   248  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   249  		if ms.LoadMessageInfo() == nil {
   250  			ms.StoreMessageInfo(mi)
   251  		}
   252  		return ms
   253  	}
   254  	return mi.MessageOf(x)
   255  }
   256  
   257  // Deprecated: Use StickerMessage.ProtoReflect.Descriptor instead.
   258  func (*StickerMessage) Descriptor() ([]byte, []int) {
   259  	return file_chat_message_proto_rawDescGZIP(), []int{0}
   260  }
   261  
   262  func (x *StickerMessage) GetHash() string {
   263  	if x != nil {
   264  		return x.Hash
   265  	}
   266  	return ""
   267  }
   268  
   269  func (x *StickerMessage) GetPack() int32 {
   270  	if x != nil {
   271  		return x.Pack
   272  	}
   273  	return 0
   274  }
   275  
   276  type ImageMessage struct {
   277  	state         protoimpl.MessageState
   278  	sizeCache     protoimpl.SizeCache
   279  	unknownFields protoimpl.UnknownFields
   280  
   281  	Payload          []byte      `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   282  	Format           ImageFormat `protobuf:"varint,2,opt,name=format,proto3,enum=protobuf.ImageFormat" json:"format,omitempty"`
   283  	AlbumId          string      `protobuf:"bytes,3,opt,name=album_id,json=albumId,proto3" json:"album_id,omitempty"`
   284  	Width            uint32      `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"`
   285  	Height           uint32      `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
   286  	AlbumImagesCount uint32      `protobuf:"varint,6,opt,name=album_images_count,json=albumImagesCount,proto3" json:"album_images_count,omitempty"`
   287  }
   288  
   289  func (x *ImageMessage) Reset() {
   290  	*x = ImageMessage{}
   291  	if protoimpl.UnsafeEnabled {
   292  		mi := &file_chat_message_proto_msgTypes[1]
   293  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   294  		ms.StoreMessageInfo(mi)
   295  	}
   296  }
   297  
   298  func (x *ImageMessage) String() string {
   299  	return protoimpl.X.MessageStringOf(x)
   300  }
   301  
   302  func (*ImageMessage) ProtoMessage() {}
   303  
   304  func (x *ImageMessage) ProtoReflect() protoreflect.Message {
   305  	mi := &file_chat_message_proto_msgTypes[1]
   306  	if protoimpl.UnsafeEnabled && x != nil {
   307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   308  		if ms.LoadMessageInfo() == nil {
   309  			ms.StoreMessageInfo(mi)
   310  		}
   311  		return ms
   312  	}
   313  	return mi.MessageOf(x)
   314  }
   315  
   316  // Deprecated: Use ImageMessage.ProtoReflect.Descriptor instead.
   317  func (*ImageMessage) Descriptor() ([]byte, []int) {
   318  	return file_chat_message_proto_rawDescGZIP(), []int{1}
   319  }
   320  
   321  func (x *ImageMessage) GetPayload() []byte {
   322  	if x != nil {
   323  		return x.Payload
   324  	}
   325  	return nil
   326  }
   327  
   328  func (x *ImageMessage) GetFormat() ImageFormat {
   329  	if x != nil {
   330  		return x.Format
   331  	}
   332  	return ImageFormat_UNKNOWN_IMAGE_FORMAT
   333  }
   334  
   335  func (x *ImageMessage) GetAlbumId() string {
   336  	if x != nil {
   337  		return x.AlbumId
   338  	}
   339  	return ""
   340  }
   341  
   342  func (x *ImageMessage) GetWidth() uint32 {
   343  	if x != nil {
   344  		return x.Width
   345  	}
   346  	return 0
   347  }
   348  
   349  func (x *ImageMessage) GetHeight() uint32 {
   350  	if x != nil {
   351  		return x.Height
   352  	}
   353  	return 0
   354  }
   355  
   356  func (x *ImageMessage) GetAlbumImagesCount() uint32 {
   357  	if x != nil {
   358  		return x.AlbumImagesCount
   359  	}
   360  	return 0
   361  }
   362  
   363  type AudioMessage struct {
   364  	state         protoimpl.MessageState
   365  	sizeCache     protoimpl.SizeCache
   366  	unknownFields protoimpl.UnknownFields
   367  
   368  	Payload    []byte                 `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   369  	Type       AudioMessage_AudioType `protobuf:"varint,2,opt,name=type,proto3,enum=protobuf.AudioMessage_AudioType" json:"type,omitempty"`
   370  	DurationMs uint64                 `protobuf:"varint,3,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
   371  }
   372  
   373  func (x *AudioMessage) Reset() {
   374  	*x = AudioMessage{}
   375  	if protoimpl.UnsafeEnabled {
   376  		mi := &file_chat_message_proto_msgTypes[2]
   377  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   378  		ms.StoreMessageInfo(mi)
   379  	}
   380  }
   381  
   382  func (x *AudioMessage) String() string {
   383  	return protoimpl.X.MessageStringOf(x)
   384  }
   385  
   386  func (*AudioMessage) ProtoMessage() {}
   387  
   388  func (x *AudioMessage) ProtoReflect() protoreflect.Message {
   389  	mi := &file_chat_message_proto_msgTypes[2]
   390  	if protoimpl.UnsafeEnabled && x != nil {
   391  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   392  		if ms.LoadMessageInfo() == nil {
   393  			ms.StoreMessageInfo(mi)
   394  		}
   395  		return ms
   396  	}
   397  	return mi.MessageOf(x)
   398  }
   399  
   400  // Deprecated: Use AudioMessage.ProtoReflect.Descriptor instead.
   401  func (*AudioMessage) Descriptor() ([]byte, []int) {
   402  	return file_chat_message_proto_rawDescGZIP(), []int{2}
   403  }
   404  
   405  func (x *AudioMessage) GetPayload() []byte {
   406  	if x != nil {
   407  		return x.Payload
   408  	}
   409  	return nil
   410  }
   411  
   412  func (x *AudioMessage) GetType() AudioMessage_AudioType {
   413  	if x != nil {
   414  		return x.Type
   415  	}
   416  	return AudioMessage_UNKNOWN_AUDIO_TYPE
   417  }
   418  
   419  func (x *AudioMessage) GetDurationMs() uint64 {
   420  	if x != nil {
   421  		return x.DurationMs
   422  	}
   423  	return 0
   424  }
   425  
   426  type EditMessage struct {
   427  	state         protoimpl.MessageState
   428  	sizeCache     protoimpl.SizeCache
   429  	unknownFields protoimpl.UnknownFields
   430  
   431  	Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
   432  	// Text of the message
   433  	Text      string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
   434  	ChatId    string `protobuf:"bytes,3,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
   435  	MessageId string `protobuf:"bytes,4,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
   436  	// Grant for community edit messages
   437  	//
   438  	// Deprecated: Marked as deprecated in chat_message.proto.
   439  	Grant []byte `protobuf:"bytes,5,opt,name=grant,proto3" json:"grant,omitempty"`
   440  	// The type of message (public/one-to-one/private-group-chat)
   441  	MessageType         MessageType             `protobuf:"varint,6,opt,name=message_type,json=messageType,proto3,enum=protobuf.MessageType" json:"message_type,omitempty"`
   442  	ContentType         ChatMessage_ContentType `protobuf:"varint,7,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
   443  	UnfurledLinks       []*UnfurledLink         `protobuf:"bytes,8,rep,name=unfurled_links,json=unfurledLinks,proto3" json:"unfurled_links,omitempty"`
   444  	UnfurledStatusLinks *UnfurledStatusLinks    `protobuf:"bytes,9,opt,name=unfurled_status_links,json=unfurledStatusLinks,proto3" json:"unfurled_status_links,omitempty"`
   445  }
   446  
   447  func (x *EditMessage) Reset() {
   448  	*x = EditMessage{}
   449  	if protoimpl.UnsafeEnabled {
   450  		mi := &file_chat_message_proto_msgTypes[3]
   451  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   452  		ms.StoreMessageInfo(mi)
   453  	}
   454  }
   455  
   456  func (x *EditMessage) String() string {
   457  	return protoimpl.X.MessageStringOf(x)
   458  }
   459  
   460  func (*EditMessage) ProtoMessage() {}
   461  
   462  func (x *EditMessage) ProtoReflect() protoreflect.Message {
   463  	mi := &file_chat_message_proto_msgTypes[3]
   464  	if protoimpl.UnsafeEnabled && x != nil {
   465  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   466  		if ms.LoadMessageInfo() == nil {
   467  			ms.StoreMessageInfo(mi)
   468  		}
   469  		return ms
   470  	}
   471  	return mi.MessageOf(x)
   472  }
   473  
   474  // Deprecated: Use EditMessage.ProtoReflect.Descriptor instead.
   475  func (*EditMessage) Descriptor() ([]byte, []int) {
   476  	return file_chat_message_proto_rawDescGZIP(), []int{3}
   477  }
   478  
   479  func (x *EditMessage) GetClock() uint64 {
   480  	if x != nil {
   481  		return x.Clock
   482  	}
   483  	return 0
   484  }
   485  
   486  func (x *EditMessage) GetText() string {
   487  	if x != nil {
   488  		return x.Text
   489  	}
   490  	return ""
   491  }
   492  
   493  func (x *EditMessage) GetChatId() string {
   494  	if x != nil {
   495  		return x.ChatId
   496  	}
   497  	return ""
   498  }
   499  
   500  func (x *EditMessage) GetMessageId() string {
   501  	if x != nil {
   502  		return x.MessageId
   503  	}
   504  	return ""
   505  }
   506  
   507  // Deprecated: Marked as deprecated in chat_message.proto.
   508  func (x *EditMessage) GetGrant() []byte {
   509  	if x != nil {
   510  		return x.Grant
   511  	}
   512  	return nil
   513  }
   514  
   515  func (x *EditMessage) GetMessageType() MessageType {
   516  	if x != nil {
   517  		return x.MessageType
   518  	}
   519  	return MessageType_UNKNOWN_MESSAGE_TYPE
   520  }
   521  
   522  func (x *EditMessage) GetContentType() ChatMessage_ContentType {
   523  	if x != nil {
   524  		return x.ContentType
   525  	}
   526  	return ChatMessage_UNKNOWN_CONTENT_TYPE
   527  }
   528  
   529  func (x *EditMessage) GetUnfurledLinks() []*UnfurledLink {
   530  	if x != nil {
   531  		return x.UnfurledLinks
   532  	}
   533  	return nil
   534  }
   535  
   536  func (x *EditMessage) GetUnfurledStatusLinks() *UnfurledStatusLinks {
   537  	if x != nil {
   538  		return x.UnfurledStatusLinks
   539  	}
   540  	return nil
   541  }
   542  
   543  type DeleteMessage struct {
   544  	state         protoimpl.MessageState
   545  	sizeCache     protoimpl.SizeCache
   546  	unknownFields protoimpl.UnknownFields
   547  
   548  	Clock     uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
   549  	ChatId    string `protobuf:"bytes,2,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
   550  	MessageId string `protobuf:"bytes,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
   551  	// Grant for community delete messages
   552  	//
   553  	// Deprecated: Marked as deprecated in chat_message.proto.
   554  	Grant []byte `protobuf:"bytes,4,opt,name=grant,proto3" json:"grant,omitempty"`
   555  	// The type of message (public/one-to-one/private-group-chat)
   556  	MessageType MessageType `protobuf:"varint,5,opt,name=message_type,json=messageType,proto3,enum=protobuf.MessageType" json:"message_type,omitempty"`
   557  	DeletedBy   string      `protobuf:"bytes,6,opt,name=deleted_by,json=deletedBy,proto3" json:"deleted_by,omitempty"`
   558  }
   559  
   560  func (x *DeleteMessage) Reset() {
   561  	*x = DeleteMessage{}
   562  	if protoimpl.UnsafeEnabled {
   563  		mi := &file_chat_message_proto_msgTypes[4]
   564  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   565  		ms.StoreMessageInfo(mi)
   566  	}
   567  }
   568  
   569  func (x *DeleteMessage) String() string {
   570  	return protoimpl.X.MessageStringOf(x)
   571  }
   572  
   573  func (*DeleteMessage) ProtoMessage() {}
   574  
   575  func (x *DeleteMessage) ProtoReflect() protoreflect.Message {
   576  	mi := &file_chat_message_proto_msgTypes[4]
   577  	if protoimpl.UnsafeEnabled && x != nil {
   578  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   579  		if ms.LoadMessageInfo() == nil {
   580  			ms.StoreMessageInfo(mi)
   581  		}
   582  		return ms
   583  	}
   584  	return mi.MessageOf(x)
   585  }
   586  
   587  // Deprecated: Use DeleteMessage.ProtoReflect.Descriptor instead.
   588  func (*DeleteMessage) Descriptor() ([]byte, []int) {
   589  	return file_chat_message_proto_rawDescGZIP(), []int{4}
   590  }
   591  
   592  func (x *DeleteMessage) GetClock() uint64 {
   593  	if x != nil {
   594  		return x.Clock
   595  	}
   596  	return 0
   597  }
   598  
   599  func (x *DeleteMessage) GetChatId() string {
   600  	if x != nil {
   601  		return x.ChatId
   602  	}
   603  	return ""
   604  }
   605  
   606  func (x *DeleteMessage) GetMessageId() string {
   607  	if x != nil {
   608  		return x.MessageId
   609  	}
   610  	return ""
   611  }
   612  
   613  // Deprecated: Marked as deprecated in chat_message.proto.
   614  func (x *DeleteMessage) GetGrant() []byte {
   615  	if x != nil {
   616  		return x.Grant
   617  	}
   618  	return nil
   619  }
   620  
   621  func (x *DeleteMessage) GetMessageType() MessageType {
   622  	if x != nil {
   623  		return x.MessageType
   624  	}
   625  	return MessageType_UNKNOWN_MESSAGE_TYPE
   626  }
   627  
   628  func (x *DeleteMessage) GetDeletedBy() string {
   629  	if x != nil {
   630  		return x.DeletedBy
   631  	}
   632  	return ""
   633  }
   634  
   635  type SyncDeleteForMeMessage struct {
   636  	state         protoimpl.MessageState
   637  	sizeCache     protoimpl.SizeCache
   638  	unknownFields protoimpl.UnknownFields
   639  
   640  	Clock     uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
   641  	MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
   642  }
   643  
   644  func (x *SyncDeleteForMeMessage) Reset() {
   645  	*x = SyncDeleteForMeMessage{}
   646  	if protoimpl.UnsafeEnabled {
   647  		mi := &file_chat_message_proto_msgTypes[5]
   648  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   649  		ms.StoreMessageInfo(mi)
   650  	}
   651  }
   652  
   653  func (x *SyncDeleteForMeMessage) String() string {
   654  	return protoimpl.X.MessageStringOf(x)
   655  }
   656  
   657  func (*SyncDeleteForMeMessage) ProtoMessage() {}
   658  
   659  func (x *SyncDeleteForMeMessage) ProtoReflect() protoreflect.Message {
   660  	mi := &file_chat_message_proto_msgTypes[5]
   661  	if protoimpl.UnsafeEnabled && x != nil {
   662  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   663  		if ms.LoadMessageInfo() == nil {
   664  			ms.StoreMessageInfo(mi)
   665  		}
   666  		return ms
   667  	}
   668  	return mi.MessageOf(x)
   669  }
   670  
   671  // Deprecated: Use SyncDeleteForMeMessage.ProtoReflect.Descriptor instead.
   672  func (*SyncDeleteForMeMessage) Descriptor() ([]byte, []int) {
   673  	return file_chat_message_proto_rawDescGZIP(), []int{5}
   674  }
   675  
   676  func (x *SyncDeleteForMeMessage) GetClock() uint64 {
   677  	if x != nil {
   678  		return x.Clock
   679  	}
   680  	return 0
   681  }
   682  
   683  func (x *SyncDeleteForMeMessage) GetMessageId() string {
   684  	if x != nil {
   685  		return x.MessageId
   686  	}
   687  	return ""
   688  }
   689  
   690  type DiscordMessage struct {
   691  	state         protoimpl.MessageState
   692  	sizeCache     protoimpl.SizeCache
   693  	unknownFields protoimpl.UnknownFields
   694  
   695  	Id              string                      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   696  	Type            string                      `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
   697  	Timestamp       string                      `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   698  	TimestampEdited string                      `protobuf:"bytes,4,opt,name=timestampEdited,proto3" json:"timestampEdited,omitempty"`
   699  	Content         string                      `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`
   700  	Author          *DiscordMessageAuthor       `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"`
   701  	Reference       *DiscordMessageReference    `protobuf:"bytes,7,opt,name=reference,proto3" json:"reference,omitempty"`
   702  	Attachments     []*DiscordMessageAttachment `protobuf:"bytes,8,rep,name=attachments,proto3" json:"attachments,omitempty"`
   703  }
   704  
   705  func (x *DiscordMessage) Reset() {
   706  	*x = DiscordMessage{}
   707  	if protoimpl.UnsafeEnabled {
   708  		mi := &file_chat_message_proto_msgTypes[6]
   709  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   710  		ms.StoreMessageInfo(mi)
   711  	}
   712  }
   713  
   714  func (x *DiscordMessage) String() string {
   715  	return protoimpl.X.MessageStringOf(x)
   716  }
   717  
   718  func (*DiscordMessage) ProtoMessage() {}
   719  
   720  func (x *DiscordMessage) ProtoReflect() protoreflect.Message {
   721  	mi := &file_chat_message_proto_msgTypes[6]
   722  	if protoimpl.UnsafeEnabled && x != nil {
   723  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   724  		if ms.LoadMessageInfo() == nil {
   725  			ms.StoreMessageInfo(mi)
   726  		}
   727  		return ms
   728  	}
   729  	return mi.MessageOf(x)
   730  }
   731  
   732  // Deprecated: Use DiscordMessage.ProtoReflect.Descriptor instead.
   733  func (*DiscordMessage) Descriptor() ([]byte, []int) {
   734  	return file_chat_message_proto_rawDescGZIP(), []int{6}
   735  }
   736  
   737  func (x *DiscordMessage) GetId() string {
   738  	if x != nil {
   739  		return x.Id
   740  	}
   741  	return ""
   742  }
   743  
   744  func (x *DiscordMessage) GetType() string {
   745  	if x != nil {
   746  		return x.Type
   747  	}
   748  	return ""
   749  }
   750  
   751  func (x *DiscordMessage) GetTimestamp() string {
   752  	if x != nil {
   753  		return x.Timestamp
   754  	}
   755  	return ""
   756  }
   757  
   758  func (x *DiscordMessage) GetTimestampEdited() string {
   759  	if x != nil {
   760  		return x.TimestampEdited
   761  	}
   762  	return ""
   763  }
   764  
   765  func (x *DiscordMessage) GetContent() string {
   766  	if x != nil {
   767  		return x.Content
   768  	}
   769  	return ""
   770  }
   771  
   772  func (x *DiscordMessage) GetAuthor() *DiscordMessageAuthor {
   773  	if x != nil {
   774  		return x.Author
   775  	}
   776  	return nil
   777  }
   778  
   779  func (x *DiscordMessage) GetReference() *DiscordMessageReference {
   780  	if x != nil {
   781  		return x.Reference
   782  	}
   783  	return nil
   784  }
   785  
   786  func (x *DiscordMessage) GetAttachments() []*DiscordMessageAttachment {
   787  	if x != nil {
   788  		return x.Attachments
   789  	}
   790  	return nil
   791  }
   792  
   793  type DiscordMessageAuthor struct {
   794  	state         protoimpl.MessageState
   795  	sizeCache     protoimpl.SizeCache
   796  	unknownFields protoimpl.UnknownFields
   797  
   798  	Id                 string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   799  	Name               string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   800  	Discriminator      string `protobuf:"bytes,3,opt,name=discriminator,proto3" json:"discriminator,omitempty"`
   801  	Nickname           string `protobuf:"bytes,4,opt,name=nickname,proto3" json:"nickname,omitempty"`
   802  	AvatarUrl          string `protobuf:"bytes,5,opt,name=avatarUrl,proto3" json:"avatarUrl,omitempty"`
   803  	AvatarImagePayload []byte `protobuf:"bytes,6,opt,name=avatarImagePayload,proto3" json:"avatarImagePayload,omitempty"`
   804  	LocalUrl           string `protobuf:"bytes,7,opt,name=localUrl,proto3" json:"localUrl,omitempty"`
   805  }
   806  
   807  func (x *DiscordMessageAuthor) Reset() {
   808  	*x = DiscordMessageAuthor{}
   809  	if protoimpl.UnsafeEnabled {
   810  		mi := &file_chat_message_proto_msgTypes[7]
   811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   812  		ms.StoreMessageInfo(mi)
   813  	}
   814  }
   815  
   816  func (x *DiscordMessageAuthor) String() string {
   817  	return protoimpl.X.MessageStringOf(x)
   818  }
   819  
   820  func (*DiscordMessageAuthor) ProtoMessage() {}
   821  
   822  func (x *DiscordMessageAuthor) ProtoReflect() protoreflect.Message {
   823  	mi := &file_chat_message_proto_msgTypes[7]
   824  	if protoimpl.UnsafeEnabled && x != nil {
   825  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   826  		if ms.LoadMessageInfo() == nil {
   827  			ms.StoreMessageInfo(mi)
   828  		}
   829  		return ms
   830  	}
   831  	return mi.MessageOf(x)
   832  }
   833  
   834  // Deprecated: Use DiscordMessageAuthor.ProtoReflect.Descriptor instead.
   835  func (*DiscordMessageAuthor) Descriptor() ([]byte, []int) {
   836  	return file_chat_message_proto_rawDescGZIP(), []int{7}
   837  }
   838  
   839  func (x *DiscordMessageAuthor) GetId() string {
   840  	if x != nil {
   841  		return x.Id
   842  	}
   843  	return ""
   844  }
   845  
   846  func (x *DiscordMessageAuthor) GetName() string {
   847  	if x != nil {
   848  		return x.Name
   849  	}
   850  	return ""
   851  }
   852  
   853  func (x *DiscordMessageAuthor) GetDiscriminator() string {
   854  	if x != nil {
   855  		return x.Discriminator
   856  	}
   857  	return ""
   858  }
   859  
   860  func (x *DiscordMessageAuthor) GetNickname() string {
   861  	if x != nil {
   862  		return x.Nickname
   863  	}
   864  	return ""
   865  }
   866  
   867  func (x *DiscordMessageAuthor) GetAvatarUrl() string {
   868  	if x != nil {
   869  		return x.AvatarUrl
   870  	}
   871  	return ""
   872  }
   873  
   874  func (x *DiscordMessageAuthor) GetAvatarImagePayload() []byte {
   875  	if x != nil {
   876  		return x.AvatarImagePayload
   877  	}
   878  	return nil
   879  }
   880  
   881  func (x *DiscordMessageAuthor) GetLocalUrl() string {
   882  	if x != nil {
   883  		return x.LocalUrl
   884  	}
   885  	return ""
   886  }
   887  
   888  type DiscordMessageReference struct {
   889  	state         protoimpl.MessageState
   890  	sizeCache     protoimpl.SizeCache
   891  	unknownFields protoimpl.UnknownFields
   892  
   893  	MessageId string `protobuf:"bytes,1,opt,name=messageId,proto3" json:"messageId,omitempty"`
   894  	ChannelId string `protobuf:"bytes,2,opt,name=channelId,proto3" json:"channelId,omitempty"`
   895  	GuildId   string `protobuf:"bytes,3,opt,name=guildId,proto3" json:"guildId,omitempty"`
   896  }
   897  
   898  func (x *DiscordMessageReference) Reset() {
   899  	*x = DiscordMessageReference{}
   900  	if protoimpl.UnsafeEnabled {
   901  		mi := &file_chat_message_proto_msgTypes[8]
   902  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   903  		ms.StoreMessageInfo(mi)
   904  	}
   905  }
   906  
   907  func (x *DiscordMessageReference) String() string {
   908  	return protoimpl.X.MessageStringOf(x)
   909  }
   910  
   911  func (*DiscordMessageReference) ProtoMessage() {}
   912  
   913  func (x *DiscordMessageReference) ProtoReflect() protoreflect.Message {
   914  	mi := &file_chat_message_proto_msgTypes[8]
   915  	if protoimpl.UnsafeEnabled && x != nil {
   916  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   917  		if ms.LoadMessageInfo() == nil {
   918  			ms.StoreMessageInfo(mi)
   919  		}
   920  		return ms
   921  	}
   922  	return mi.MessageOf(x)
   923  }
   924  
   925  // Deprecated: Use DiscordMessageReference.ProtoReflect.Descriptor instead.
   926  func (*DiscordMessageReference) Descriptor() ([]byte, []int) {
   927  	return file_chat_message_proto_rawDescGZIP(), []int{8}
   928  }
   929  
   930  func (x *DiscordMessageReference) GetMessageId() string {
   931  	if x != nil {
   932  		return x.MessageId
   933  	}
   934  	return ""
   935  }
   936  
   937  func (x *DiscordMessageReference) GetChannelId() string {
   938  	if x != nil {
   939  		return x.ChannelId
   940  	}
   941  	return ""
   942  }
   943  
   944  func (x *DiscordMessageReference) GetGuildId() string {
   945  	if x != nil {
   946  		return x.GuildId
   947  	}
   948  	return ""
   949  }
   950  
   951  type DiscordMessageAttachment struct {
   952  	state         protoimpl.MessageState
   953  	sizeCache     protoimpl.SizeCache
   954  	unknownFields protoimpl.UnknownFields
   955  
   956  	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   957  	MessageId     string `protobuf:"bytes,2,opt,name=messageId,proto3" json:"messageId,omitempty"`
   958  	Url           string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
   959  	FileName      string `protobuf:"bytes,4,opt,name=fileName,proto3" json:"fileName,omitempty"`
   960  	FileSizeBytes uint64 `protobuf:"varint,5,opt,name=fileSizeBytes,proto3" json:"fileSizeBytes,omitempty"`
   961  	ContentType   string `protobuf:"bytes,6,opt,name=contentType,proto3" json:"contentType,omitempty"`
   962  	Payload       []byte `protobuf:"bytes,7,opt,name=payload,proto3" json:"payload,omitempty"`
   963  	LocalUrl      string `protobuf:"bytes,8,opt,name=localUrl,proto3" json:"localUrl,omitempty"`
   964  }
   965  
   966  func (x *DiscordMessageAttachment) Reset() {
   967  	*x = DiscordMessageAttachment{}
   968  	if protoimpl.UnsafeEnabled {
   969  		mi := &file_chat_message_proto_msgTypes[9]
   970  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   971  		ms.StoreMessageInfo(mi)
   972  	}
   973  }
   974  
   975  func (x *DiscordMessageAttachment) String() string {
   976  	return protoimpl.X.MessageStringOf(x)
   977  }
   978  
   979  func (*DiscordMessageAttachment) ProtoMessage() {}
   980  
   981  func (x *DiscordMessageAttachment) ProtoReflect() protoreflect.Message {
   982  	mi := &file_chat_message_proto_msgTypes[9]
   983  	if protoimpl.UnsafeEnabled && x != nil {
   984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   985  		if ms.LoadMessageInfo() == nil {
   986  			ms.StoreMessageInfo(mi)
   987  		}
   988  		return ms
   989  	}
   990  	return mi.MessageOf(x)
   991  }
   992  
   993  // Deprecated: Use DiscordMessageAttachment.ProtoReflect.Descriptor instead.
   994  func (*DiscordMessageAttachment) Descriptor() ([]byte, []int) {
   995  	return file_chat_message_proto_rawDescGZIP(), []int{9}
   996  }
   997  
   998  func (x *DiscordMessageAttachment) GetId() string {
   999  	if x != nil {
  1000  		return x.Id
  1001  	}
  1002  	return ""
  1003  }
  1004  
  1005  func (x *DiscordMessageAttachment) GetMessageId() string {
  1006  	if x != nil {
  1007  		return x.MessageId
  1008  	}
  1009  	return ""
  1010  }
  1011  
  1012  func (x *DiscordMessageAttachment) GetUrl() string {
  1013  	if x != nil {
  1014  		return x.Url
  1015  	}
  1016  	return ""
  1017  }
  1018  
  1019  func (x *DiscordMessageAttachment) GetFileName() string {
  1020  	if x != nil {
  1021  		return x.FileName
  1022  	}
  1023  	return ""
  1024  }
  1025  
  1026  func (x *DiscordMessageAttachment) GetFileSizeBytes() uint64 {
  1027  	if x != nil {
  1028  		return x.FileSizeBytes
  1029  	}
  1030  	return 0
  1031  }
  1032  
  1033  func (x *DiscordMessageAttachment) GetContentType() string {
  1034  	if x != nil {
  1035  		return x.ContentType
  1036  	}
  1037  	return ""
  1038  }
  1039  
  1040  func (x *DiscordMessageAttachment) GetPayload() []byte {
  1041  	if x != nil {
  1042  		return x.Payload
  1043  	}
  1044  	return nil
  1045  }
  1046  
  1047  func (x *DiscordMessageAttachment) GetLocalUrl() string {
  1048  	if x != nil {
  1049  		return x.LocalUrl
  1050  	}
  1051  	return ""
  1052  }
  1053  
  1054  type BridgeMessage struct {
  1055  	state         protoimpl.MessageState
  1056  	sizeCache     protoimpl.SizeCache
  1057  	unknownFields protoimpl.UnknownFields
  1058  
  1059  	BridgeName      string `protobuf:"bytes,1,opt,name=bridgeName,proto3" json:"bridgeName,omitempty"`
  1060  	UserName        string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName,omitempty"`
  1061  	UserAvatar      string `protobuf:"bytes,3,opt,name=userAvatar,proto3" json:"userAvatar,omitempty"`
  1062  	UserID          string `protobuf:"bytes,4,opt,name=userID,proto3" json:"userID,omitempty"`
  1063  	Content         string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`
  1064  	MessageID       string `protobuf:"bytes,6,opt,name=messageID,proto3" json:"messageID,omitempty"`
  1065  	ParentMessageID string `protobuf:"bytes,7,opt,name=parentMessageID,proto3" json:"parentMessageID,omitempty"`
  1066  }
  1067  
  1068  func (x *BridgeMessage) Reset() {
  1069  	*x = BridgeMessage{}
  1070  	if protoimpl.UnsafeEnabled {
  1071  		mi := &file_chat_message_proto_msgTypes[10]
  1072  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1073  		ms.StoreMessageInfo(mi)
  1074  	}
  1075  }
  1076  
  1077  func (x *BridgeMessage) String() string {
  1078  	return protoimpl.X.MessageStringOf(x)
  1079  }
  1080  
  1081  func (*BridgeMessage) ProtoMessage() {}
  1082  
  1083  func (x *BridgeMessage) ProtoReflect() protoreflect.Message {
  1084  	mi := &file_chat_message_proto_msgTypes[10]
  1085  	if protoimpl.UnsafeEnabled && x != nil {
  1086  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1087  		if ms.LoadMessageInfo() == nil {
  1088  			ms.StoreMessageInfo(mi)
  1089  		}
  1090  		return ms
  1091  	}
  1092  	return mi.MessageOf(x)
  1093  }
  1094  
  1095  // Deprecated: Use BridgeMessage.ProtoReflect.Descriptor instead.
  1096  func (*BridgeMessage) Descriptor() ([]byte, []int) {
  1097  	return file_chat_message_proto_rawDescGZIP(), []int{10}
  1098  }
  1099  
  1100  func (x *BridgeMessage) GetBridgeName() string {
  1101  	if x != nil {
  1102  		return x.BridgeName
  1103  	}
  1104  	return ""
  1105  }
  1106  
  1107  func (x *BridgeMessage) GetUserName() string {
  1108  	if x != nil {
  1109  		return x.UserName
  1110  	}
  1111  	return ""
  1112  }
  1113  
  1114  func (x *BridgeMessage) GetUserAvatar() string {
  1115  	if x != nil {
  1116  		return x.UserAvatar
  1117  	}
  1118  	return ""
  1119  }
  1120  
  1121  func (x *BridgeMessage) GetUserID() string {
  1122  	if x != nil {
  1123  		return x.UserID
  1124  	}
  1125  	return ""
  1126  }
  1127  
  1128  func (x *BridgeMessage) GetContent() string {
  1129  	if x != nil {
  1130  		return x.Content
  1131  	}
  1132  	return ""
  1133  }
  1134  
  1135  func (x *BridgeMessage) GetMessageID() string {
  1136  	if x != nil {
  1137  		return x.MessageID
  1138  	}
  1139  	return ""
  1140  }
  1141  
  1142  func (x *BridgeMessage) GetParentMessageID() string {
  1143  	if x != nil {
  1144  		return x.ParentMessageID
  1145  	}
  1146  	return ""
  1147  }
  1148  
  1149  type UnfurledLinkThumbnail struct {
  1150  	state         protoimpl.MessageState
  1151  	sizeCache     protoimpl.SizeCache
  1152  	unknownFields protoimpl.UnknownFields
  1153  
  1154  	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
  1155  	Width   uint32 `protobuf:"varint,2,opt,name=width,proto3" json:"width,omitempty"`
  1156  	Height  uint32 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  1157  }
  1158  
  1159  func (x *UnfurledLinkThumbnail) Reset() {
  1160  	*x = UnfurledLinkThumbnail{}
  1161  	if protoimpl.UnsafeEnabled {
  1162  		mi := &file_chat_message_proto_msgTypes[11]
  1163  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1164  		ms.StoreMessageInfo(mi)
  1165  	}
  1166  }
  1167  
  1168  func (x *UnfurledLinkThumbnail) String() string {
  1169  	return protoimpl.X.MessageStringOf(x)
  1170  }
  1171  
  1172  func (*UnfurledLinkThumbnail) ProtoMessage() {}
  1173  
  1174  func (x *UnfurledLinkThumbnail) ProtoReflect() protoreflect.Message {
  1175  	mi := &file_chat_message_proto_msgTypes[11]
  1176  	if protoimpl.UnsafeEnabled && x != nil {
  1177  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1178  		if ms.LoadMessageInfo() == nil {
  1179  			ms.StoreMessageInfo(mi)
  1180  		}
  1181  		return ms
  1182  	}
  1183  	return mi.MessageOf(x)
  1184  }
  1185  
  1186  // Deprecated: Use UnfurledLinkThumbnail.ProtoReflect.Descriptor instead.
  1187  func (*UnfurledLinkThumbnail) Descriptor() ([]byte, []int) {
  1188  	return file_chat_message_proto_rawDescGZIP(), []int{11}
  1189  }
  1190  
  1191  func (x *UnfurledLinkThumbnail) GetPayload() []byte {
  1192  	if x != nil {
  1193  		return x.Payload
  1194  	}
  1195  	return nil
  1196  }
  1197  
  1198  func (x *UnfurledLinkThumbnail) GetWidth() uint32 {
  1199  	if x != nil {
  1200  		return x.Width
  1201  	}
  1202  	return 0
  1203  }
  1204  
  1205  func (x *UnfurledLinkThumbnail) GetHeight() uint32 {
  1206  	if x != nil {
  1207  		return x.Height
  1208  	}
  1209  	return 0
  1210  }
  1211  
  1212  type UnfurledLink struct {
  1213  	state         protoimpl.MessageState
  1214  	sizeCache     protoimpl.SizeCache
  1215  	unknownFields protoimpl.UnknownFields
  1216  
  1217  	// A valid URL which uniquely identifies this link.
  1218  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
  1219  	// Website's title.
  1220  	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
  1221  	// Description is sometimes available, but can be empty. Most mainstream
  1222  	// websites provide this information.
  1223  	Description      string                `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  1224  	ThumbnailPayload []byte                `protobuf:"bytes,4,opt,name=thumbnail_payload,json=thumbnailPayload,proto3" json:"thumbnail_payload,omitempty"`
  1225  	ThumbnailWidth   uint32                `protobuf:"varint,5,opt,name=thumbnail_width,json=thumbnailWidth,proto3" json:"thumbnail_width,omitempty"`
  1226  	ThumbnailHeight  uint32                `protobuf:"varint,6,opt,name=thumbnail_height,json=thumbnailHeight,proto3" json:"thumbnail_height,omitempty"`
  1227  	Type             UnfurledLink_LinkType `protobuf:"varint,7,opt,name=type,proto3,enum=protobuf.UnfurledLink_LinkType" json:"type,omitempty"`
  1228  	FaviconPayload   []byte                `protobuf:"bytes,8,opt,name=favicon_payload,json=faviconPayload,proto3" json:"favicon_payload,omitempty"`
  1229  }
  1230  
  1231  func (x *UnfurledLink) Reset() {
  1232  	*x = UnfurledLink{}
  1233  	if protoimpl.UnsafeEnabled {
  1234  		mi := &file_chat_message_proto_msgTypes[12]
  1235  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1236  		ms.StoreMessageInfo(mi)
  1237  	}
  1238  }
  1239  
  1240  func (x *UnfurledLink) String() string {
  1241  	return protoimpl.X.MessageStringOf(x)
  1242  }
  1243  
  1244  func (*UnfurledLink) ProtoMessage() {}
  1245  
  1246  func (x *UnfurledLink) ProtoReflect() protoreflect.Message {
  1247  	mi := &file_chat_message_proto_msgTypes[12]
  1248  	if protoimpl.UnsafeEnabled && x != nil {
  1249  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1250  		if ms.LoadMessageInfo() == nil {
  1251  			ms.StoreMessageInfo(mi)
  1252  		}
  1253  		return ms
  1254  	}
  1255  	return mi.MessageOf(x)
  1256  }
  1257  
  1258  // Deprecated: Use UnfurledLink.ProtoReflect.Descriptor instead.
  1259  func (*UnfurledLink) Descriptor() ([]byte, []int) {
  1260  	return file_chat_message_proto_rawDescGZIP(), []int{12}
  1261  }
  1262  
  1263  func (x *UnfurledLink) GetUrl() string {
  1264  	if x != nil {
  1265  		return x.Url
  1266  	}
  1267  	return ""
  1268  }
  1269  
  1270  func (x *UnfurledLink) GetTitle() string {
  1271  	if x != nil {
  1272  		return x.Title
  1273  	}
  1274  	return ""
  1275  }
  1276  
  1277  func (x *UnfurledLink) GetDescription() string {
  1278  	if x != nil {
  1279  		return x.Description
  1280  	}
  1281  	return ""
  1282  }
  1283  
  1284  func (x *UnfurledLink) GetThumbnailPayload() []byte {
  1285  	if x != nil {
  1286  		return x.ThumbnailPayload
  1287  	}
  1288  	return nil
  1289  }
  1290  
  1291  func (x *UnfurledLink) GetThumbnailWidth() uint32 {
  1292  	if x != nil {
  1293  		return x.ThumbnailWidth
  1294  	}
  1295  	return 0
  1296  }
  1297  
  1298  func (x *UnfurledLink) GetThumbnailHeight() uint32 {
  1299  	if x != nil {
  1300  		return x.ThumbnailHeight
  1301  	}
  1302  	return 0
  1303  }
  1304  
  1305  func (x *UnfurledLink) GetType() UnfurledLink_LinkType {
  1306  	if x != nil {
  1307  		return x.Type
  1308  	}
  1309  	return UnfurledLink_LINK
  1310  }
  1311  
  1312  func (x *UnfurledLink) GetFaviconPayload() []byte {
  1313  	if x != nil {
  1314  		return x.FaviconPayload
  1315  	}
  1316  	return nil
  1317  }
  1318  
  1319  type UnfurledStatusContactLink struct {
  1320  	state         protoimpl.MessageState
  1321  	sizeCache     protoimpl.SizeCache
  1322  	unknownFields protoimpl.UnknownFields
  1323  
  1324  	PublicKey   []byte                 `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
  1325  	DisplayName string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  1326  	Description string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  1327  	Icon        *UnfurledLinkThumbnail `protobuf:"bytes,4,opt,name=icon,proto3" json:"icon,omitempty"`
  1328  }
  1329  
  1330  func (x *UnfurledStatusContactLink) Reset() {
  1331  	*x = UnfurledStatusContactLink{}
  1332  	if protoimpl.UnsafeEnabled {
  1333  		mi := &file_chat_message_proto_msgTypes[13]
  1334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1335  		ms.StoreMessageInfo(mi)
  1336  	}
  1337  }
  1338  
  1339  func (x *UnfurledStatusContactLink) String() string {
  1340  	return protoimpl.X.MessageStringOf(x)
  1341  }
  1342  
  1343  func (*UnfurledStatusContactLink) ProtoMessage() {}
  1344  
  1345  func (x *UnfurledStatusContactLink) ProtoReflect() protoreflect.Message {
  1346  	mi := &file_chat_message_proto_msgTypes[13]
  1347  	if protoimpl.UnsafeEnabled && x != nil {
  1348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1349  		if ms.LoadMessageInfo() == nil {
  1350  			ms.StoreMessageInfo(mi)
  1351  		}
  1352  		return ms
  1353  	}
  1354  	return mi.MessageOf(x)
  1355  }
  1356  
  1357  // Deprecated: Use UnfurledStatusContactLink.ProtoReflect.Descriptor instead.
  1358  func (*UnfurledStatusContactLink) Descriptor() ([]byte, []int) {
  1359  	return file_chat_message_proto_rawDescGZIP(), []int{13}
  1360  }
  1361  
  1362  func (x *UnfurledStatusContactLink) GetPublicKey() []byte {
  1363  	if x != nil {
  1364  		return x.PublicKey
  1365  	}
  1366  	return nil
  1367  }
  1368  
  1369  func (x *UnfurledStatusContactLink) GetDisplayName() string {
  1370  	if x != nil {
  1371  		return x.DisplayName
  1372  	}
  1373  	return ""
  1374  }
  1375  
  1376  func (x *UnfurledStatusContactLink) GetDescription() string {
  1377  	if x != nil {
  1378  		return x.Description
  1379  	}
  1380  	return ""
  1381  }
  1382  
  1383  func (x *UnfurledStatusContactLink) GetIcon() *UnfurledLinkThumbnail {
  1384  	if x != nil {
  1385  		return x.Icon
  1386  	}
  1387  	return nil
  1388  }
  1389  
  1390  type UnfurledStatusCommunityLink struct {
  1391  	state         protoimpl.MessageState
  1392  	sizeCache     protoimpl.SizeCache
  1393  	unknownFields protoimpl.UnknownFields
  1394  
  1395  	CommunityId  []byte                 `protobuf:"bytes,1,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
  1396  	DisplayName  string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  1397  	Description  string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  1398  	MembersCount uint32                 `protobuf:"varint,4,opt,name=members_count,json=membersCount,proto3" json:"members_count,omitempty"`
  1399  	Color        string                 `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
  1400  	Icon         *UnfurledLinkThumbnail `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
  1401  	Banner       *UnfurledLinkThumbnail `protobuf:"bytes,8,opt,name=banner,proto3" json:"banner,omitempty"`
  1402  }
  1403  
  1404  func (x *UnfurledStatusCommunityLink) Reset() {
  1405  	*x = UnfurledStatusCommunityLink{}
  1406  	if protoimpl.UnsafeEnabled {
  1407  		mi := &file_chat_message_proto_msgTypes[14]
  1408  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1409  		ms.StoreMessageInfo(mi)
  1410  	}
  1411  }
  1412  
  1413  func (x *UnfurledStatusCommunityLink) String() string {
  1414  	return protoimpl.X.MessageStringOf(x)
  1415  }
  1416  
  1417  func (*UnfurledStatusCommunityLink) ProtoMessage() {}
  1418  
  1419  func (x *UnfurledStatusCommunityLink) ProtoReflect() protoreflect.Message {
  1420  	mi := &file_chat_message_proto_msgTypes[14]
  1421  	if protoimpl.UnsafeEnabled && x != nil {
  1422  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1423  		if ms.LoadMessageInfo() == nil {
  1424  			ms.StoreMessageInfo(mi)
  1425  		}
  1426  		return ms
  1427  	}
  1428  	return mi.MessageOf(x)
  1429  }
  1430  
  1431  // Deprecated: Use UnfurledStatusCommunityLink.ProtoReflect.Descriptor instead.
  1432  func (*UnfurledStatusCommunityLink) Descriptor() ([]byte, []int) {
  1433  	return file_chat_message_proto_rawDescGZIP(), []int{14}
  1434  }
  1435  
  1436  func (x *UnfurledStatusCommunityLink) GetCommunityId() []byte {
  1437  	if x != nil {
  1438  		return x.CommunityId
  1439  	}
  1440  	return nil
  1441  }
  1442  
  1443  func (x *UnfurledStatusCommunityLink) GetDisplayName() string {
  1444  	if x != nil {
  1445  		return x.DisplayName
  1446  	}
  1447  	return ""
  1448  }
  1449  
  1450  func (x *UnfurledStatusCommunityLink) GetDescription() string {
  1451  	if x != nil {
  1452  		return x.Description
  1453  	}
  1454  	return ""
  1455  }
  1456  
  1457  func (x *UnfurledStatusCommunityLink) GetMembersCount() uint32 {
  1458  	if x != nil {
  1459  		return x.MembersCount
  1460  	}
  1461  	return 0
  1462  }
  1463  
  1464  func (x *UnfurledStatusCommunityLink) GetColor() string {
  1465  	if x != nil {
  1466  		return x.Color
  1467  	}
  1468  	return ""
  1469  }
  1470  
  1471  func (x *UnfurledStatusCommunityLink) GetIcon() *UnfurledLinkThumbnail {
  1472  	if x != nil {
  1473  		return x.Icon
  1474  	}
  1475  	return nil
  1476  }
  1477  
  1478  func (x *UnfurledStatusCommunityLink) GetBanner() *UnfurledLinkThumbnail {
  1479  	if x != nil {
  1480  		return x.Banner
  1481  	}
  1482  	return nil
  1483  }
  1484  
  1485  type UnfurledStatusChannelLink struct {
  1486  	state         protoimpl.MessageState
  1487  	sizeCache     protoimpl.SizeCache
  1488  	unknownFields protoimpl.UnknownFields
  1489  
  1490  	ChannelUuid string                       `protobuf:"bytes,1,opt,name=channel_uuid,json=channelUuid,proto3" json:"channel_uuid,omitempty"`
  1491  	Emoji       string                       `protobuf:"bytes,2,opt,name=emoji,proto3" json:"emoji,omitempty"`
  1492  	DisplayName string                       `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  1493  	Description string                       `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
  1494  	Color       string                       `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
  1495  	Community   *UnfurledStatusCommunityLink `protobuf:"bytes,6,opt,name=community,proto3" json:"community,omitempty"`
  1496  }
  1497  
  1498  func (x *UnfurledStatusChannelLink) Reset() {
  1499  	*x = UnfurledStatusChannelLink{}
  1500  	if protoimpl.UnsafeEnabled {
  1501  		mi := &file_chat_message_proto_msgTypes[15]
  1502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1503  		ms.StoreMessageInfo(mi)
  1504  	}
  1505  }
  1506  
  1507  func (x *UnfurledStatusChannelLink) String() string {
  1508  	return protoimpl.X.MessageStringOf(x)
  1509  }
  1510  
  1511  func (*UnfurledStatusChannelLink) ProtoMessage() {}
  1512  
  1513  func (x *UnfurledStatusChannelLink) ProtoReflect() protoreflect.Message {
  1514  	mi := &file_chat_message_proto_msgTypes[15]
  1515  	if protoimpl.UnsafeEnabled && x != nil {
  1516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1517  		if ms.LoadMessageInfo() == nil {
  1518  			ms.StoreMessageInfo(mi)
  1519  		}
  1520  		return ms
  1521  	}
  1522  	return mi.MessageOf(x)
  1523  }
  1524  
  1525  // Deprecated: Use UnfurledStatusChannelLink.ProtoReflect.Descriptor instead.
  1526  func (*UnfurledStatusChannelLink) Descriptor() ([]byte, []int) {
  1527  	return file_chat_message_proto_rawDescGZIP(), []int{15}
  1528  }
  1529  
  1530  func (x *UnfurledStatusChannelLink) GetChannelUuid() string {
  1531  	if x != nil {
  1532  		return x.ChannelUuid
  1533  	}
  1534  	return ""
  1535  }
  1536  
  1537  func (x *UnfurledStatusChannelLink) GetEmoji() string {
  1538  	if x != nil {
  1539  		return x.Emoji
  1540  	}
  1541  	return ""
  1542  }
  1543  
  1544  func (x *UnfurledStatusChannelLink) GetDisplayName() string {
  1545  	if x != nil {
  1546  		return x.DisplayName
  1547  	}
  1548  	return ""
  1549  }
  1550  
  1551  func (x *UnfurledStatusChannelLink) GetDescription() string {
  1552  	if x != nil {
  1553  		return x.Description
  1554  	}
  1555  	return ""
  1556  }
  1557  
  1558  func (x *UnfurledStatusChannelLink) GetColor() string {
  1559  	if x != nil {
  1560  		return x.Color
  1561  	}
  1562  	return ""
  1563  }
  1564  
  1565  func (x *UnfurledStatusChannelLink) GetCommunity() *UnfurledStatusCommunityLink {
  1566  	if x != nil {
  1567  		return x.Community
  1568  	}
  1569  	return nil
  1570  }
  1571  
  1572  type UnfurledStatusLink struct {
  1573  	state         protoimpl.MessageState
  1574  	sizeCache     protoimpl.SizeCache
  1575  	unknownFields protoimpl.UnknownFields
  1576  
  1577  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
  1578  	// Types that are assignable to Payload:
  1579  	//
  1580  	//	*UnfurledStatusLink_Contact
  1581  	//	*UnfurledStatusLink_Community
  1582  	//	*UnfurledStatusLink_Channel
  1583  	Payload isUnfurledStatusLink_Payload `protobuf_oneof:"payload"`
  1584  }
  1585  
  1586  func (x *UnfurledStatusLink) Reset() {
  1587  	*x = UnfurledStatusLink{}
  1588  	if protoimpl.UnsafeEnabled {
  1589  		mi := &file_chat_message_proto_msgTypes[16]
  1590  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1591  		ms.StoreMessageInfo(mi)
  1592  	}
  1593  }
  1594  
  1595  func (x *UnfurledStatusLink) String() string {
  1596  	return protoimpl.X.MessageStringOf(x)
  1597  }
  1598  
  1599  func (*UnfurledStatusLink) ProtoMessage() {}
  1600  
  1601  func (x *UnfurledStatusLink) ProtoReflect() protoreflect.Message {
  1602  	mi := &file_chat_message_proto_msgTypes[16]
  1603  	if protoimpl.UnsafeEnabled && x != nil {
  1604  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1605  		if ms.LoadMessageInfo() == nil {
  1606  			ms.StoreMessageInfo(mi)
  1607  		}
  1608  		return ms
  1609  	}
  1610  	return mi.MessageOf(x)
  1611  }
  1612  
  1613  // Deprecated: Use UnfurledStatusLink.ProtoReflect.Descriptor instead.
  1614  func (*UnfurledStatusLink) Descriptor() ([]byte, []int) {
  1615  	return file_chat_message_proto_rawDescGZIP(), []int{16}
  1616  }
  1617  
  1618  func (x *UnfurledStatusLink) GetUrl() string {
  1619  	if x != nil {
  1620  		return x.Url
  1621  	}
  1622  	return ""
  1623  }
  1624  
  1625  func (m *UnfurledStatusLink) GetPayload() isUnfurledStatusLink_Payload {
  1626  	if m != nil {
  1627  		return m.Payload
  1628  	}
  1629  	return nil
  1630  }
  1631  
  1632  func (x *UnfurledStatusLink) GetContact() *UnfurledStatusContactLink {
  1633  	if x, ok := x.GetPayload().(*UnfurledStatusLink_Contact); ok {
  1634  		return x.Contact
  1635  	}
  1636  	return nil
  1637  }
  1638  
  1639  func (x *UnfurledStatusLink) GetCommunity() *UnfurledStatusCommunityLink {
  1640  	if x, ok := x.GetPayload().(*UnfurledStatusLink_Community); ok {
  1641  		return x.Community
  1642  	}
  1643  	return nil
  1644  }
  1645  
  1646  func (x *UnfurledStatusLink) GetChannel() *UnfurledStatusChannelLink {
  1647  	if x, ok := x.GetPayload().(*UnfurledStatusLink_Channel); ok {
  1648  		return x.Channel
  1649  	}
  1650  	return nil
  1651  }
  1652  
  1653  type isUnfurledStatusLink_Payload interface {
  1654  	isUnfurledStatusLink_Payload()
  1655  }
  1656  
  1657  type UnfurledStatusLink_Contact struct {
  1658  	Contact *UnfurledStatusContactLink `protobuf:"bytes,2,opt,name=contact,proto3,oneof"`
  1659  }
  1660  
  1661  type UnfurledStatusLink_Community struct {
  1662  	Community *UnfurledStatusCommunityLink `protobuf:"bytes,3,opt,name=community,proto3,oneof"`
  1663  }
  1664  
  1665  type UnfurledStatusLink_Channel struct {
  1666  	Channel *UnfurledStatusChannelLink `protobuf:"bytes,4,opt,name=channel,proto3,oneof"`
  1667  }
  1668  
  1669  func (*UnfurledStatusLink_Contact) isUnfurledStatusLink_Payload() {}
  1670  
  1671  func (*UnfurledStatusLink_Community) isUnfurledStatusLink_Payload() {}
  1672  
  1673  func (*UnfurledStatusLink_Channel) isUnfurledStatusLink_Payload() {}
  1674  
  1675  // Create a wrapper around repeated property for proper unmarshalling
  1676  type UnfurledStatusLinks struct {
  1677  	state         protoimpl.MessageState
  1678  	sizeCache     protoimpl.SizeCache
  1679  	unknownFields protoimpl.UnknownFields
  1680  
  1681  	UnfurledStatusLinks []*UnfurledStatusLink `protobuf:"bytes,1,rep,name=unfurled_status_links,json=unfurledStatusLinks,proto3" json:"unfurled_status_links,omitempty"`
  1682  }
  1683  
  1684  func (x *UnfurledStatusLinks) Reset() {
  1685  	*x = UnfurledStatusLinks{}
  1686  	if protoimpl.UnsafeEnabled {
  1687  		mi := &file_chat_message_proto_msgTypes[17]
  1688  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1689  		ms.StoreMessageInfo(mi)
  1690  	}
  1691  }
  1692  
  1693  func (x *UnfurledStatusLinks) String() string {
  1694  	return protoimpl.X.MessageStringOf(x)
  1695  }
  1696  
  1697  func (*UnfurledStatusLinks) ProtoMessage() {}
  1698  
  1699  func (x *UnfurledStatusLinks) ProtoReflect() protoreflect.Message {
  1700  	mi := &file_chat_message_proto_msgTypes[17]
  1701  	if protoimpl.UnsafeEnabled && x != nil {
  1702  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1703  		if ms.LoadMessageInfo() == nil {
  1704  			ms.StoreMessageInfo(mi)
  1705  		}
  1706  		return ms
  1707  	}
  1708  	return mi.MessageOf(x)
  1709  }
  1710  
  1711  // Deprecated: Use UnfurledStatusLinks.ProtoReflect.Descriptor instead.
  1712  func (*UnfurledStatusLinks) Descriptor() ([]byte, []int) {
  1713  	return file_chat_message_proto_rawDescGZIP(), []int{17}
  1714  }
  1715  
  1716  func (x *UnfurledStatusLinks) GetUnfurledStatusLinks() []*UnfurledStatusLink {
  1717  	if x != nil {
  1718  		return x.UnfurledStatusLinks
  1719  	}
  1720  	return nil
  1721  }
  1722  
  1723  type ChatMessage struct {
  1724  	state         protoimpl.MessageState
  1725  	sizeCache     protoimpl.SizeCache
  1726  	unknownFields protoimpl.UnknownFields
  1727  
  1728  	// Lamport timestamp of the chat message
  1729  	Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
  1730  	// Unix timestamps in milliseconds, currently not used as we use whisper as
  1731  	// more reliable, but here so that we don't rely on it
  1732  	Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  1733  	// Text of the message
  1734  	Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
  1735  	// Id of the message that we are replying to
  1736  	ResponseTo string `protobuf:"bytes,4,opt,name=response_to,json=responseTo,proto3" json:"response_to,omitempty"`
  1737  	// Ens name of the sender
  1738  	EnsName string `protobuf:"bytes,5,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
  1739  	// Chat id, this field is symmetric for public-chats and private group chats,
  1740  	// but asymmetric in case of one-to-ones, as the sender will use the chat-id
  1741  	// of the received, while the receiver will use the chat-id of the sender.
  1742  	// Probably should be the concatenation of sender-pk & receiver-pk in
  1743  	// alphabetical order
  1744  	ChatId string `protobuf:"bytes,6,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
  1745  	// The type of message (public/one-to-one/private-group-chat)
  1746  	MessageType MessageType `protobuf:"varint,7,opt,name=message_type,json=messageType,proto3,enum=protobuf.MessageType" json:"message_type,omitempty"`
  1747  	// The type of the content of the message
  1748  	ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
  1749  	// Types that are assignable to Payload:
  1750  	//
  1751  	//	*ChatMessage_Sticker
  1752  	//	*ChatMessage_Image
  1753  	//	*ChatMessage_Audio
  1754  	//	*ChatMessage_Community
  1755  	//	*ChatMessage_DiscordMessage
  1756  	//	*ChatMessage_BridgeMessage
  1757  	Payload isChatMessage_Payload `protobuf_oneof:"payload"`
  1758  	// Grant for community chat messages
  1759  	//
  1760  	// Deprecated: Marked as deprecated in chat_message.proto.
  1761  	Grant []byte `protobuf:"bytes,13,opt,name=grant,proto3" json:"grant,omitempty"`
  1762  	// Message author's display name, introduced in version 1
  1763  	DisplayName                   string                         `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
  1764  	ContactRequestPropagatedState *ContactRequestPropagatedState `protobuf:"bytes,15,opt,name=contact_request_propagated_state,json=contactRequestPropagatedState,proto3" json:"contact_request_propagated_state,omitempty"`
  1765  	UnfurledLinks                 []*UnfurledLink                `protobuf:"bytes,16,rep,name=unfurled_links,json=unfurledLinks,proto3" json:"unfurled_links,omitempty"`
  1766  	Shard                         *Shard                         `protobuf:"bytes,17,opt,name=shard,proto3" json:"shard,omitempty"`
  1767  	UnfurledStatusLinks           *UnfurledStatusLinks           `protobuf:"bytes,18,opt,name=unfurled_status_links,json=unfurledStatusLinks,proto3" json:"unfurled_status_links,omitempty"`
  1768  	CustomizationColor            uint32                         `protobuf:"varint,19,opt,name=customization_color,json=customizationColor,proto3" json:"customization_color,omitempty"`
  1769  }
  1770  
  1771  func (x *ChatMessage) Reset() {
  1772  	*x = ChatMessage{}
  1773  	if protoimpl.UnsafeEnabled {
  1774  		mi := &file_chat_message_proto_msgTypes[18]
  1775  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1776  		ms.StoreMessageInfo(mi)
  1777  	}
  1778  }
  1779  
  1780  func (x *ChatMessage) String() string {
  1781  	return protoimpl.X.MessageStringOf(x)
  1782  }
  1783  
  1784  func (*ChatMessage) ProtoMessage() {}
  1785  
  1786  func (x *ChatMessage) ProtoReflect() protoreflect.Message {
  1787  	mi := &file_chat_message_proto_msgTypes[18]
  1788  	if protoimpl.UnsafeEnabled && x != nil {
  1789  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1790  		if ms.LoadMessageInfo() == nil {
  1791  			ms.StoreMessageInfo(mi)
  1792  		}
  1793  		return ms
  1794  	}
  1795  	return mi.MessageOf(x)
  1796  }
  1797  
  1798  // Deprecated: Use ChatMessage.ProtoReflect.Descriptor instead.
  1799  func (*ChatMessage) Descriptor() ([]byte, []int) {
  1800  	return file_chat_message_proto_rawDescGZIP(), []int{18}
  1801  }
  1802  
  1803  func (x *ChatMessage) GetClock() uint64 {
  1804  	if x != nil {
  1805  		return x.Clock
  1806  	}
  1807  	return 0
  1808  }
  1809  
  1810  func (x *ChatMessage) GetTimestamp() uint64 {
  1811  	if x != nil {
  1812  		return x.Timestamp
  1813  	}
  1814  	return 0
  1815  }
  1816  
  1817  func (x *ChatMessage) GetText() string {
  1818  	if x != nil {
  1819  		return x.Text
  1820  	}
  1821  	return ""
  1822  }
  1823  
  1824  func (x *ChatMessage) GetResponseTo() string {
  1825  	if x != nil {
  1826  		return x.ResponseTo
  1827  	}
  1828  	return ""
  1829  }
  1830  
  1831  func (x *ChatMessage) GetEnsName() string {
  1832  	if x != nil {
  1833  		return x.EnsName
  1834  	}
  1835  	return ""
  1836  }
  1837  
  1838  func (x *ChatMessage) GetChatId() string {
  1839  	if x != nil {
  1840  		return x.ChatId
  1841  	}
  1842  	return ""
  1843  }
  1844  
  1845  func (x *ChatMessage) GetMessageType() MessageType {
  1846  	if x != nil {
  1847  		return x.MessageType
  1848  	}
  1849  	return MessageType_UNKNOWN_MESSAGE_TYPE
  1850  }
  1851  
  1852  func (x *ChatMessage) GetContentType() ChatMessage_ContentType {
  1853  	if x != nil {
  1854  		return x.ContentType
  1855  	}
  1856  	return ChatMessage_UNKNOWN_CONTENT_TYPE
  1857  }
  1858  
  1859  func (m *ChatMessage) GetPayload() isChatMessage_Payload {
  1860  	if m != nil {
  1861  		return m.Payload
  1862  	}
  1863  	return nil
  1864  }
  1865  
  1866  func (x *ChatMessage) GetSticker() *StickerMessage {
  1867  	if x, ok := x.GetPayload().(*ChatMessage_Sticker); ok {
  1868  		return x.Sticker
  1869  	}
  1870  	return nil
  1871  }
  1872  
  1873  func (x *ChatMessage) GetImage() *ImageMessage {
  1874  	if x, ok := x.GetPayload().(*ChatMessage_Image); ok {
  1875  		return x.Image
  1876  	}
  1877  	return nil
  1878  }
  1879  
  1880  func (x *ChatMessage) GetAudio() *AudioMessage {
  1881  	if x, ok := x.GetPayload().(*ChatMessage_Audio); ok {
  1882  		return x.Audio
  1883  	}
  1884  	return nil
  1885  }
  1886  
  1887  func (x *ChatMessage) GetCommunity() []byte {
  1888  	if x, ok := x.GetPayload().(*ChatMessage_Community); ok {
  1889  		return x.Community
  1890  	}
  1891  	return nil
  1892  }
  1893  
  1894  func (x *ChatMessage) GetDiscordMessage() *DiscordMessage {
  1895  	if x, ok := x.GetPayload().(*ChatMessage_DiscordMessage); ok {
  1896  		return x.DiscordMessage
  1897  	}
  1898  	return nil
  1899  }
  1900  
  1901  func (x *ChatMessage) GetBridgeMessage() *BridgeMessage {
  1902  	if x, ok := x.GetPayload().(*ChatMessage_BridgeMessage); ok {
  1903  		return x.BridgeMessage
  1904  	}
  1905  	return nil
  1906  }
  1907  
  1908  // Deprecated: Marked as deprecated in chat_message.proto.
  1909  func (x *ChatMessage) GetGrant() []byte {
  1910  	if x != nil {
  1911  		return x.Grant
  1912  	}
  1913  	return nil
  1914  }
  1915  
  1916  func (x *ChatMessage) GetDisplayName() string {
  1917  	if x != nil {
  1918  		return x.DisplayName
  1919  	}
  1920  	return ""
  1921  }
  1922  
  1923  func (x *ChatMessage) GetContactRequestPropagatedState() *ContactRequestPropagatedState {
  1924  	if x != nil {
  1925  		return x.ContactRequestPropagatedState
  1926  	}
  1927  	return nil
  1928  }
  1929  
  1930  func (x *ChatMessage) GetUnfurledLinks() []*UnfurledLink {
  1931  	if x != nil {
  1932  		return x.UnfurledLinks
  1933  	}
  1934  	return nil
  1935  }
  1936  
  1937  func (x *ChatMessage) GetShard() *Shard {
  1938  	if x != nil {
  1939  		return x.Shard
  1940  	}
  1941  	return nil
  1942  }
  1943  
  1944  func (x *ChatMessage) GetUnfurledStatusLinks() *UnfurledStatusLinks {
  1945  	if x != nil {
  1946  		return x.UnfurledStatusLinks
  1947  	}
  1948  	return nil
  1949  }
  1950  
  1951  func (x *ChatMessage) GetCustomizationColor() uint32 {
  1952  	if x != nil {
  1953  		return x.CustomizationColor
  1954  	}
  1955  	return 0
  1956  }
  1957  
  1958  type isChatMessage_Payload interface {
  1959  	isChatMessage_Payload()
  1960  }
  1961  
  1962  type ChatMessage_Sticker struct {
  1963  	Sticker *StickerMessage `protobuf:"bytes,9,opt,name=sticker,proto3,oneof"`
  1964  }
  1965  
  1966  type ChatMessage_Image struct {
  1967  	Image *ImageMessage `protobuf:"bytes,10,opt,name=image,proto3,oneof"`
  1968  }
  1969  
  1970  type ChatMessage_Audio struct {
  1971  	Audio *AudioMessage `protobuf:"bytes,11,opt,name=audio,proto3,oneof"`
  1972  }
  1973  
  1974  type ChatMessage_Community struct {
  1975  	Community []byte `protobuf:"bytes,12,opt,name=community,proto3,oneof"`
  1976  }
  1977  
  1978  type ChatMessage_DiscordMessage struct {
  1979  	DiscordMessage *DiscordMessage `protobuf:"bytes,99,opt,name=discord_message,json=discordMessage,proto3,oneof"`
  1980  }
  1981  
  1982  type ChatMessage_BridgeMessage struct {
  1983  	BridgeMessage *BridgeMessage `protobuf:"bytes,100,opt,name=bridge_message,json=bridgeMessage,proto3,oneof"`
  1984  }
  1985  
  1986  func (*ChatMessage_Sticker) isChatMessage_Payload() {}
  1987  
  1988  func (*ChatMessage_Image) isChatMessage_Payload() {}
  1989  
  1990  func (*ChatMessage_Audio) isChatMessage_Payload() {}
  1991  
  1992  func (*ChatMessage_Community) isChatMessage_Payload() {}
  1993  
  1994  func (*ChatMessage_DiscordMessage) isChatMessage_Payload() {}
  1995  
  1996  func (*ChatMessage_BridgeMessage) isChatMessage_Payload() {}
  1997  
  1998  var File_chat_message_proto protoreflect.FileDescriptor
  1999  
  2000  var file_chat_message_proto_rawDesc = []byte{
  2001  	0x0a, 0x12, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70,
  2002  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x0b,
  2003  	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x63, 0x6f, 0x6e,
  2004  	0x74, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x73, 0x68, 0x61, 0x72,
  2005  	0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x0e, 0x53, 0x74, 0x69, 0x63, 0x6b,
  2006  	0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73,
  2007  	0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a,
  2008  	0x04, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x63,
  2009  	0x6b, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
  2010  	0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20,
  2011  	0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06,
  2012  	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70,
  2013  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72,
  2014  	0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61,
  2015  	0x6c, 0x62, 0x75, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
  2016  	0x6c, 0x62, 0x75, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
  2017  	0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06,
  2018  	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65,
  2019  	0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x5f, 0x69, 0x6d,
  2020  	0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
  2021  	0x52, 0x10, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6f, 0x75,
  2022  	0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73,
  2023  	0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01,
  2024  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x34, 0x0a,
  2025  	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72,
  2026  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73,
  2027  	0x61, 0x67, 0x65, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
  2028  	0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  2029  	0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
  2030  	0x6f, 0x6e, 0x4d, 0x73, 0x22, 0x35, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x79, 0x70,
  2031  	0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x55, 0x44,
  2032  	0x49, 0x4f, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x41, 0x43,
  2033  	0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4d, 0x52, 0x10, 0x02, 0x22, 0x9b, 0x03, 0x0a, 0x0b,
  2034  	0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63,
  2035  	0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63,
  2036  	0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  2037  	0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64,
  2038  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d,
  2039  	0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
  2040  	0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a,
  2041  	0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01,
  2042  	0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61,
  2043  	0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e,
  2044  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2045  	0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70,
  2046  	0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70,
  2047  	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2048  	0x75, 0x66, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43,
  2049  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
  2050  	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x75, 0x6e, 0x66, 0x75, 0x72,
  2051  	0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2052  	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72,
  2053  	0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0d, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65,
  2054  	0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c,
  2055  	0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18,
  2056  	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2057  	0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c,
  2058  	0x69, 0x6e, 0x6b, 0x73, 0x52, 0x13, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74,
  2059  	0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x0d, 0x44, 0x65,
  2060  	0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63,
  2061  	0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63,
  2062  	0x6b, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
  2063  	0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65,
  2064  	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
  2065  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x05, 0x67, 0x72, 0x61,
  2066  	0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x67, 0x72,
  2067  	0x61, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74,
  2068  	0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2069  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
  2070  	0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
  2071  	0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28,
  2072  	0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x4d, 0x0a, 0x16,
  2073  	0x53, 0x79, 0x6e, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x65, 0x4d,
  2074  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18,
  2075  	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a,
  2076  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2077  	0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0e,
  2078  	0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e,
  2079  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
  2080  	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
  2081  	0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
  2082  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  2083  	0x12, 0x28, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x64, 0x69,
  2084  	0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73,
  2085  	0x74, 0x61, 0x6d, 0x70, 0x45, 0x64, 0x69, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
  2086  	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
  2087  	0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x06,
  2088  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2089  	0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x75,
  2090  	0x74, 0x68, 0x6f, 0x72, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x09,
  2091  	0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2092  	0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f,
  2093  	0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
  2094  	0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x44, 0x0a,
  2095  	0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03,
  2096  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x69,
  2097  	0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x74, 0x74, 0x61,
  2098  	0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
  2099  	0x6e, 0x74, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d,
  2100  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02,
  2101  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
  2102  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  2103  	0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f,
  2104  	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d,
  2105  	0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
  2106  	0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
  2107  	0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18,
  2108  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c,
  2109  	0x12, 0x2e, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50,
  2110  	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61, 0x76,
  2111  	0x61, 0x74, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
  2112  	0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01,
  2113  	0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x22, 0x6f, 0x0a, 0x17,
  2114  	0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
  2115  	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61,
  2116  	0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73,
  2117  	0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  2118  	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  2119  	0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03,
  2120  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0xf4, 0x01,
  2121  	0x0a, 0x18, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2122  	0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
  2123  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65,
  2124  	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d,
  2125  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
  2126  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69,
  2127  	0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69,
  2128  	0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69,
  2129  	0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66,
  2130  	0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b,
  2131  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
  2132  	0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
  2133  	0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52,
  2134  	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
  2135  	0x6c, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
  2136  	0x6c, 0x55, 0x72, 0x6c, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4d,
  2137  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
  2138  	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64,
  2139  	0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61,
  2140  	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61,
  2141  	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
  2142  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x41, 0x76, 0x61, 0x74,
  2143  	0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
  2144  	0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
  2145  	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
  2146  	0x74, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49,
  2147  	0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2148  	0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73,
  2149  	0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72,
  2150  	0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x22, 0x5f, 0x0a, 0x15,
  2151  	0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x68, 0x75, 0x6d,
  2152  	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
  2153  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
  2154  	0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
  2155  	0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
  2156  	0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd8, 0x02,
  2157  	0x0a, 0x0c, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x10,
  2158  	0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
  2159  	0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  2160  	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
  2161  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
  2162  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x75, 0x6d,
  2163  	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20,
  2164  	0x01, 0x28, 0x0c, 0x52, 0x10, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x50, 0x61,
  2165  	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61,
  2166  	0x69, 0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
  2167  	0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x29,
  2168  	0x0a, 0x10, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67,
  2169  	0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e,
  2170  	0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70,
  2171  	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2172  	0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x2e,
  2173  	0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x27,
  2174  	0x0a, 0x0f, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
  2175  	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e,
  2176  	0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x1f, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x54,
  2177  	0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x00, 0x12, 0x09, 0x0a,
  2178  	0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x01, 0x22, 0xb4, 0x01, 0x0a, 0x19, 0x55, 0x6e, 0x66,
  2179  	0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
  2180  	0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2181  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c,
  2182  	0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  2183  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73,
  2184  	0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
  2185  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
  2186  	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x63,
  2187  	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2188  	0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b,
  2189  	0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22,
  2190  	0xae, 0x02, 0x0a, 0x1b, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
  2191  	0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12,
  2192  	0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
  2193  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
  2194  	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61,
  2195  	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
  2196  	0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
  2197  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
  2198  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65,
  2199  	0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
  2200  	0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
  2201  	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c,
  2202  	0x6f, 0x72, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
  2203  	0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75,
  2204  	0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
  2205  	0x6c, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65,
  2206  	0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2207  	0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x54,
  2208  	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72,
  2209  	0x22, 0xf4, 0x01, 0x0a, 0x19, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61,
  2210  	0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x21,
  2211  	0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01,
  2212  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x75, 0x69,
  2213  	0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2214  	0x52, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c,
  2215  	0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
  2216  	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
  2217  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  2218  	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05,
  2219  	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c,
  2220  	0x6f, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18,
  2221  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2222  	0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43,
  2223  	0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x09, 0x63, 0x6f,
  2224  	0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x22, 0xfa, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x66, 0x75,
  2225  	0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x10,
  2226  	0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
  2227  	0x12, 0x3f, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  2228  	0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66,
  2229  	0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61,
  2230  	0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63,
  2231  	0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x03,
  2232  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2233  	0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f,
  2234  	0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x09, 0x63,
  2235  	0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e,
  2236  	0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2237  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61,
  2238  	0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00,
  2239  	0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79,
  2240  	0x6c, 0x6f, 0x61, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64,
  2241  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x50, 0x0a, 0x15, 0x75,
  2242  	0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6c,
  2243  	0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
  2244  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53, 0x74,
  2245  	0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x13, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c,
  2246  	0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xde, 0x0b,
  2247  	0x0a, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a,
  2248  	0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c,
  2249  	0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  2250  	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  2251  	0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  2252  	0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2253  	0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70,
  2254  	0x6f, 0x6e, 0x73, 0x65, 0x54, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x73, 0x5f, 0x6e, 0x61,
  2255  	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x73, 0x4e, 0x61, 0x6d,
  2256  	0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
  2257  	0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x65,
  2258  	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
  2259  	0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73,
  2260  	0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2261  	0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
  2262  	0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f,
  2263  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
  2264  	0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63,
  2265  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74,
  2266  	0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72,
  2267  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65,
  2268  	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72,
  2269  	0x12, 0x2e, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2270  	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
  2271  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
  2272  	0x12, 0x2e, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2273  	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f,
  2274  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f,
  2275  	0x12, 0x1e, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20,
  2276  	0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
  2277  	0x12, 0x43, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
  2278  	0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2279  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65, 0x73, 0x73,
  2280  	0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x65,
  2281  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f,
  2282  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  2283  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4d,
  2284  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
  2285  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74,
  2286  	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e,
  2287  	0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  2288  	0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  2289  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x70, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f,
  2290  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74,
  2291  	0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
  2292  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63,
  2293  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74,
  2294  	0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x1d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
  2295  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65,
  2296  	0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c,
  2297  	0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
  2298  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c,
  2299  	0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0d, 0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64,
  2300  	0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x11,
  2301  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2302  	0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x51, 0x0a, 0x15,
  2303  	0x75, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f,
  2304  	0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
  2305  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x66, 0x75, 0x72, 0x6c, 0x65, 0x64, 0x53,
  2306  	0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x13, 0x75, 0x6e, 0x66, 0x75,
  2307  	0x72, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12,
  2308  	0x2f, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2309  	0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x75,
  2310  	0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
  2311  	0x22, 0xd0, 0x03, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
  2312  	0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
  2313  	0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45,
  2314  	0x58, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54,
  2315  	0x49, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x55,
  2316  	0x53, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x4f, 0x4a, 0x49, 0x10, 0x04, 0x12, 0x17,
  2317  	0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f,
  2318  	0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x59, 0x53, 0x54, 0x45,
  2319  	0x4d, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e,
  2320  	0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10,
  2321  	0x06, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05,
  2322  	0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x55,
  2323  	0x4e, 0x49, 0x54, 0x59, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d,
  2324  	0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x41, 0x50, 0x10, 0x0a, 0x12, 0x13,
  2325  	0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53,
  2326  	0x54, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x4d,
  2327  	0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x44, 0x45, 0x4e,
  2328  	0x54, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
  2329  	0x4e, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4d, 0x45,
  2330  	0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x49, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x53,
  2331  	0x53, 0x41, 0x47, 0x45, 0x10, 0x0e, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d,
  2332  	0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f,
  2333  	0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24,
  2334  	0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4d,
  2335  	0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45,
  2336  	0x50, 0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d,
  2337  	0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f,
  2338  	0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x11, 0x12,
  2339  	0x12, 0x0a, 0x0e, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47,
  2340  	0x45, 0x10, 0x12, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0d,
  2341  	0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70,
  2342  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  2343  }
  2344  
  2345  var (
  2346  	file_chat_message_proto_rawDescOnce sync.Once
  2347  	file_chat_message_proto_rawDescData = file_chat_message_proto_rawDesc
  2348  )
  2349  
  2350  func file_chat_message_proto_rawDescGZIP() []byte {
  2351  	file_chat_message_proto_rawDescOnce.Do(func() {
  2352  		file_chat_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_chat_message_proto_rawDescData)
  2353  	})
  2354  	return file_chat_message_proto_rawDescData
  2355  }
  2356  
  2357  var file_chat_message_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2358  var file_chat_message_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
  2359  var file_chat_message_proto_goTypes = []interface{}{
  2360  	(AudioMessage_AudioType)(0),           // 0: protobuf.AudioMessage.AudioType
  2361  	(UnfurledLink_LinkType)(0),            // 1: protobuf.UnfurledLink.LinkType
  2362  	(ChatMessage_ContentType)(0),          // 2: protobuf.ChatMessage.ContentType
  2363  	(*StickerMessage)(nil),                // 3: protobuf.StickerMessage
  2364  	(*ImageMessage)(nil),                  // 4: protobuf.ImageMessage
  2365  	(*AudioMessage)(nil),                  // 5: protobuf.AudioMessage
  2366  	(*EditMessage)(nil),                   // 6: protobuf.EditMessage
  2367  	(*DeleteMessage)(nil),                 // 7: protobuf.DeleteMessage
  2368  	(*SyncDeleteForMeMessage)(nil),        // 8: protobuf.SyncDeleteForMeMessage
  2369  	(*DiscordMessage)(nil),                // 9: protobuf.DiscordMessage
  2370  	(*DiscordMessageAuthor)(nil),          // 10: protobuf.DiscordMessageAuthor
  2371  	(*DiscordMessageReference)(nil),       // 11: protobuf.DiscordMessageReference
  2372  	(*DiscordMessageAttachment)(nil),      // 12: protobuf.DiscordMessageAttachment
  2373  	(*BridgeMessage)(nil),                 // 13: protobuf.BridgeMessage
  2374  	(*UnfurledLinkThumbnail)(nil),         // 14: protobuf.UnfurledLinkThumbnail
  2375  	(*UnfurledLink)(nil),                  // 15: protobuf.UnfurledLink
  2376  	(*UnfurledStatusContactLink)(nil),     // 16: protobuf.UnfurledStatusContactLink
  2377  	(*UnfurledStatusCommunityLink)(nil),   // 17: protobuf.UnfurledStatusCommunityLink
  2378  	(*UnfurledStatusChannelLink)(nil),     // 18: protobuf.UnfurledStatusChannelLink
  2379  	(*UnfurledStatusLink)(nil),            // 19: protobuf.UnfurledStatusLink
  2380  	(*UnfurledStatusLinks)(nil),           // 20: protobuf.UnfurledStatusLinks
  2381  	(*ChatMessage)(nil),                   // 21: protobuf.ChatMessage
  2382  	(ImageFormat)(0),                      // 22: protobuf.ImageFormat
  2383  	(MessageType)(0),                      // 23: protobuf.MessageType
  2384  	(*ContactRequestPropagatedState)(nil), // 24: protobuf.ContactRequestPropagatedState
  2385  	(*Shard)(nil),                         // 25: protobuf.Shard
  2386  }
  2387  var file_chat_message_proto_depIdxs = []int32{
  2388  	22, // 0: protobuf.ImageMessage.format:type_name -> protobuf.ImageFormat
  2389  	0,  // 1: protobuf.AudioMessage.type:type_name -> protobuf.AudioMessage.AudioType
  2390  	23, // 2: protobuf.EditMessage.message_type:type_name -> protobuf.MessageType
  2391  	2,  // 3: protobuf.EditMessage.content_type:type_name -> protobuf.ChatMessage.ContentType
  2392  	15, // 4: protobuf.EditMessage.unfurled_links:type_name -> protobuf.UnfurledLink
  2393  	20, // 5: protobuf.EditMessage.unfurled_status_links:type_name -> protobuf.UnfurledStatusLinks
  2394  	23, // 6: protobuf.DeleteMessage.message_type:type_name -> protobuf.MessageType
  2395  	10, // 7: protobuf.DiscordMessage.author:type_name -> protobuf.DiscordMessageAuthor
  2396  	11, // 8: protobuf.DiscordMessage.reference:type_name -> protobuf.DiscordMessageReference
  2397  	12, // 9: protobuf.DiscordMessage.attachments:type_name -> protobuf.DiscordMessageAttachment
  2398  	1,  // 10: protobuf.UnfurledLink.type:type_name -> protobuf.UnfurledLink.LinkType
  2399  	14, // 11: protobuf.UnfurledStatusContactLink.icon:type_name -> protobuf.UnfurledLinkThumbnail
  2400  	14, // 12: protobuf.UnfurledStatusCommunityLink.icon:type_name -> protobuf.UnfurledLinkThumbnail
  2401  	14, // 13: protobuf.UnfurledStatusCommunityLink.banner:type_name -> protobuf.UnfurledLinkThumbnail
  2402  	17, // 14: protobuf.UnfurledStatusChannelLink.community:type_name -> protobuf.UnfurledStatusCommunityLink
  2403  	16, // 15: protobuf.UnfurledStatusLink.contact:type_name -> protobuf.UnfurledStatusContactLink
  2404  	17, // 16: protobuf.UnfurledStatusLink.community:type_name -> protobuf.UnfurledStatusCommunityLink
  2405  	18, // 17: protobuf.UnfurledStatusLink.channel:type_name -> protobuf.UnfurledStatusChannelLink
  2406  	19, // 18: protobuf.UnfurledStatusLinks.unfurled_status_links:type_name -> protobuf.UnfurledStatusLink
  2407  	23, // 19: protobuf.ChatMessage.message_type:type_name -> protobuf.MessageType
  2408  	2,  // 20: protobuf.ChatMessage.content_type:type_name -> protobuf.ChatMessage.ContentType
  2409  	3,  // 21: protobuf.ChatMessage.sticker:type_name -> protobuf.StickerMessage
  2410  	4,  // 22: protobuf.ChatMessage.image:type_name -> protobuf.ImageMessage
  2411  	5,  // 23: protobuf.ChatMessage.audio:type_name -> protobuf.AudioMessage
  2412  	9,  // 24: protobuf.ChatMessage.discord_message:type_name -> protobuf.DiscordMessage
  2413  	13, // 25: protobuf.ChatMessage.bridge_message:type_name -> protobuf.BridgeMessage
  2414  	24, // 26: protobuf.ChatMessage.contact_request_propagated_state:type_name -> protobuf.ContactRequestPropagatedState
  2415  	15, // 27: protobuf.ChatMessage.unfurled_links:type_name -> protobuf.UnfurledLink
  2416  	25, // 28: protobuf.ChatMessage.shard:type_name -> protobuf.Shard
  2417  	20, // 29: protobuf.ChatMessage.unfurled_status_links:type_name -> protobuf.UnfurledStatusLinks
  2418  	30, // [30:30] is the sub-list for method output_type
  2419  	30, // [30:30] is the sub-list for method input_type
  2420  	30, // [30:30] is the sub-list for extension type_name
  2421  	30, // [30:30] is the sub-list for extension extendee
  2422  	0,  // [0:30] is the sub-list for field type_name
  2423  }
  2424  
  2425  func init() { file_chat_message_proto_init() }
  2426  func file_chat_message_proto_init() {
  2427  	if File_chat_message_proto != nil {
  2428  		return
  2429  	}
  2430  	file_enums_proto_init()
  2431  	file_contact_proto_init()
  2432  	file_shard_proto_init()
  2433  	if !protoimpl.UnsafeEnabled {
  2434  		file_chat_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2435  			switch v := v.(*StickerMessage); i {
  2436  			case 0:
  2437  				return &v.state
  2438  			case 1:
  2439  				return &v.sizeCache
  2440  			case 2:
  2441  				return &v.unknownFields
  2442  			default:
  2443  				return nil
  2444  			}
  2445  		}
  2446  		file_chat_message_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2447  			switch v := v.(*ImageMessage); i {
  2448  			case 0:
  2449  				return &v.state
  2450  			case 1:
  2451  				return &v.sizeCache
  2452  			case 2:
  2453  				return &v.unknownFields
  2454  			default:
  2455  				return nil
  2456  			}
  2457  		}
  2458  		file_chat_message_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2459  			switch v := v.(*AudioMessage); i {
  2460  			case 0:
  2461  				return &v.state
  2462  			case 1:
  2463  				return &v.sizeCache
  2464  			case 2:
  2465  				return &v.unknownFields
  2466  			default:
  2467  				return nil
  2468  			}
  2469  		}
  2470  		file_chat_message_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2471  			switch v := v.(*EditMessage); i {
  2472  			case 0:
  2473  				return &v.state
  2474  			case 1:
  2475  				return &v.sizeCache
  2476  			case 2:
  2477  				return &v.unknownFields
  2478  			default:
  2479  				return nil
  2480  			}
  2481  		}
  2482  		file_chat_message_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2483  			switch v := v.(*DeleteMessage); i {
  2484  			case 0:
  2485  				return &v.state
  2486  			case 1:
  2487  				return &v.sizeCache
  2488  			case 2:
  2489  				return &v.unknownFields
  2490  			default:
  2491  				return nil
  2492  			}
  2493  		}
  2494  		file_chat_message_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2495  			switch v := v.(*SyncDeleteForMeMessage); i {
  2496  			case 0:
  2497  				return &v.state
  2498  			case 1:
  2499  				return &v.sizeCache
  2500  			case 2:
  2501  				return &v.unknownFields
  2502  			default:
  2503  				return nil
  2504  			}
  2505  		}
  2506  		file_chat_message_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2507  			switch v := v.(*DiscordMessage); i {
  2508  			case 0:
  2509  				return &v.state
  2510  			case 1:
  2511  				return &v.sizeCache
  2512  			case 2:
  2513  				return &v.unknownFields
  2514  			default:
  2515  				return nil
  2516  			}
  2517  		}
  2518  		file_chat_message_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2519  			switch v := v.(*DiscordMessageAuthor); i {
  2520  			case 0:
  2521  				return &v.state
  2522  			case 1:
  2523  				return &v.sizeCache
  2524  			case 2:
  2525  				return &v.unknownFields
  2526  			default:
  2527  				return nil
  2528  			}
  2529  		}
  2530  		file_chat_message_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2531  			switch v := v.(*DiscordMessageReference); i {
  2532  			case 0:
  2533  				return &v.state
  2534  			case 1:
  2535  				return &v.sizeCache
  2536  			case 2:
  2537  				return &v.unknownFields
  2538  			default:
  2539  				return nil
  2540  			}
  2541  		}
  2542  		file_chat_message_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2543  			switch v := v.(*DiscordMessageAttachment); i {
  2544  			case 0:
  2545  				return &v.state
  2546  			case 1:
  2547  				return &v.sizeCache
  2548  			case 2:
  2549  				return &v.unknownFields
  2550  			default:
  2551  				return nil
  2552  			}
  2553  		}
  2554  		file_chat_message_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2555  			switch v := v.(*BridgeMessage); i {
  2556  			case 0:
  2557  				return &v.state
  2558  			case 1:
  2559  				return &v.sizeCache
  2560  			case 2:
  2561  				return &v.unknownFields
  2562  			default:
  2563  				return nil
  2564  			}
  2565  		}
  2566  		file_chat_message_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2567  			switch v := v.(*UnfurledLinkThumbnail); i {
  2568  			case 0:
  2569  				return &v.state
  2570  			case 1:
  2571  				return &v.sizeCache
  2572  			case 2:
  2573  				return &v.unknownFields
  2574  			default:
  2575  				return nil
  2576  			}
  2577  		}
  2578  		file_chat_message_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2579  			switch v := v.(*UnfurledLink); i {
  2580  			case 0:
  2581  				return &v.state
  2582  			case 1:
  2583  				return &v.sizeCache
  2584  			case 2:
  2585  				return &v.unknownFields
  2586  			default:
  2587  				return nil
  2588  			}
  2589  		}
  2590  		file_chat_message_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2591  			switch v := v.(*UnfurledStatusContactLink); i {
  2592  			case 0:
  2593  				return &v.state
  2594  			case 1:
  2595  				return &v.sizeCache
  2596  			case 2:
  2597  				return &v.unknownFields
  2598  			default:
  2599  				return nil
  2600  			}
  2601  		}
  2602  		file_chat_message_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2603  			switch v := v.(*UnfurledStatusCommunityLink); i {
  2604  			case 0:
  2605  				return &v.state
  2606  			case 1:
  2607  				return &v.sizeCache
  2608  			case 2:
  2609  				return &v.unknownFields
  2610  			default:
  2611  				return nil
  2612  			}
  2613  		}
  2614  		file_chat_message_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2615  			switch v := v.(*UnfurledStatusChannelLink); i {
  2616  			case 0:
  2617  				return &v.state
  2618  			case 1:
  2619  				return &v.sizeCache
  2620  			case 2:
  2621  				return &v.unknownFields
  2622  			default:
  2623  				return nil
  2624  			}
  2625  		}
  2626  		file_chat_message_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2627  			switch v := v.(*UnfurledStatusLink); i {
  2628  			case 0:
  2629  				return &v.state
  2630  			case 1:
  2631  				return &v.sizeCache
  2632  			case 2:
  2633  				return &v.unknownFields
  2634  			default:
  2635  				return nil
  2636  			}
  2637  		}
  2638  		file_chat_message_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2639  			switch v := v.(*UnfurledStatusLinks); i {
  2640  			case 0:
  2641  				return &v.state
  2642  			case 1:
  2643  				return &v.sizeCache
  2644  			case 2:
  2645  				return &v.unknownFields
  2646  			default:
  2647  				return nil
  2648  			}
  2649  		}
  2650  		file_chat_message_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2651  			switch v := v.(*ChatMessage); i {
  2652  			case 0:
  2653  				return &v.state
  2654  			case 1:
  2655  				return &v.sizeCache
  2656  			case 2:
  2657  				return &v.unknownFields
  2658  			default:
  2659  				return nil
  2660  			}
  2661  		}
  2662  	}
  2663  	file_chat_message_proto_msgTypes[16].OneofWrappers = []interface{}{
  2664  		(*UnfurledStatusLink_Contact)(nil),
  2665  		(*UnfurledStatusLink_Community)(nil),
  2666  		(*UnfurledStatusLink_Channel)(nil),
  2667  	}
  2668  	file_chat_message_proto_msgTypes[18].OneofWrappers = []interface{}{
  2669  		(*ChatMessage_Sticker)(nil),
  2670  		(*ChatMessage_Image)(nil),
  2671  		(*ChatMessage_Audio)(nil),
  2672  		(*ChatMessage_Community)(nil),
  2673  		(*ChatMessage_DiscordMessage)(nil),
  2674  		(*ChatMessage_BridgeMessage)(nil),
  2675  	}
  2676  	type x struct{}
  2677  	out := protoimpl.TypeBuilder{
  2678  		File: protoimpl.DescBuilder{
  2679  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2680  			RawDescriptor: file_chat_message_proto_rawDesc,
  2681  			NumEnums:      3,
  2682  			NumMessages:   19,
  2683  			NumExtensions: 0,
  2684  			NumServices:   0,
  2685  		},
  2686  		GoTypes:           file_chat_message_proto_goTypes,
  2687  		DependencyIndexes: file_chat_message_proto_depIdxs,
  2688  		EnumInfos:         file_chat_message_proto_enumTypes,
  2689  		MessageInfos:      file_chat_message_proto_msgTypes,
  2690  	}.Build()
  2691  	File_chat_message_proto = out.File
  2692  	file_chat_message_proto_rawDesc = nil
  2693  	file_chat_message_proto_goTypes = nil
  2694  	file_chat_message_proto_depIdxs = nil
  2695  }