github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_analytics.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.30.0
     4  // 	protoc        v3.20.3
     5  // source: livekit_analytics.proto
     6  
     7  package livekit
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    13  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    14  	reflect "reflect"
    15  	sync "sync"
    16  )
    17  
    18  const (
    19  	// Verify that this generated code is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    23  )
    24  
    25  type StreamType int32
    26  
    27  const (
    28  	StreamType_UPSTREAM   StreamType = 0
    29  	StreamType_DOWNSTREAM StreamType = 1
    30  )
    31  
    32  // Enum value maps for StreamType.
    33  var (
    34  	StreamType_name = map[int32]string{
    35  		0: "UPSTREAM",
    36  		1: "DOWNSTREAM",
    37  	}
    38  	StreamType_value = map[string]int32{
    39  		"UPSTREAM":   0,
    40  		"DOWNSTREAM": 1,
    41  	}
    42  )
    43  
    44  func (x StreamType) Enum() *StreamType {
    45  	p := new(StreamType)
    46  	*p = x
    47  	return p
    48  }
    49  
    50  func (x StreamType) String() string {
    51  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    52  }
    53  
    54  func (StreamType) Descriptor() protoreflect.EnumDescriptor {
    55  	return file_livekit_analytics_proto_enumTypes[0].Descriptor()
    56  }
    57  
    58  func (StreamType) Type() protoreflect.EnumType {
    59  	return &file_livekit_analytics_proto_enumTypes[0]
    60  }
    61  
    62  func (x StreamType) Number() protoreflect.EnumNumber {
    63  	return protoreflect.EnumNumber(x)
    64  }
    65  
    66  // Deprecated: Use StreamType.Descriptor instead.
    67  func (StreamType) EnumDescriptor() ([]byte, []int) {
    68  	return file_livekit_analytics_proto_rawDescGZIP(), []int{0}
    69  }
    70  
    71  type AnalyticsEventType int32
    72  
    73  const (
    74  	AnalyticsEventType_ROOM_CREATED                       AnalyticsEventType = 0
    75  	AnalyticsEventType_ROOM_ENDED                         AnalyticsEventType = 1
    76  	AnalyticsEventType_PARTICIPANT_JOINED                 AnalyticsEventType = 2
    77  	AnalyticsEventType_PARTICIPANT_LEFT                   AnalyticsEventType = 3
    78  	AnalyticsEventType_TRACK_PUBLISHED                    AnalyticsEventType = 4
    79  	AnalyticsEventType_TRACK_PUBLISH_REQUESTED            AnalyticsEventType = 20
    80  	AnalyticsEventType_TRACK_UNPUBLISHED                  AnalyticsEventType = 5
    81  	AnalyticsEventType_TRACK_SUBSCRIBED                   AnalyticsEventType = 6
    82  	AnalyticsEventType_TRACK_SUBSCRIBE_REQUESTED          AnalyticsEventType = 21
    83  	AnalyticsEventType_TRACK_SUBSCRIBE_FAILED             AnalyticsEventType = 25
    84  	AnalyticsEventType_TRACK_UNSUBSCRIBED                 AnalyticsEventType = 7
    85  	AnalyticsEventType_TRACK_PUBLISHED_UPDATE             AnalyticsEventType = 10
    86  	AnalyticsEventType_TRACK_MUTED                        AnalyticsEventType = 23
    87  	AnalyticsEventType_TRACK_UNMUTED                      AnalyticsEventType = 24
    88  	AnalyticsEventType_TRACK_PUBLISH_STATS                AnalyticsEventType = 26
    89  	AnalyticsEventType_TRACK_SUBSCRIBE_STATS              AnalyticsEventType = 27
    90  	AnalyticsEventType_PARTICIPANT_ACTIVE                 AnalyticsEventType = 11
    91  	AnalyticsEventType_PARTICIPANT_RESUMED                AnalyticsEventType = 22
    92  	AnalyticsEventType_EGRESS_STARTED                     AnalyticsEventType = 12
    93  	AnalyticsEventType_EGRESS_ENDED                       AnalyticsEventType = 13
    94  	AnalyticsEventType_TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY AnalyticsEventType = 14
    95  	AnalyticsEventType_RECONNECTED                        AnalyticsEventType = 15
    96  	AnalyticsEventType_INGRESS_CREATED                    AnalyticsEventType = 18
    97  	AnalyticsEventType_INGRESS_DELETED                    AnalyticsEventType = 19
    98  	AnalyticsEventType_INGRESS_STARTED                    AnalyticsEventType = 16
    99  	AnalyticsEventType_INGRESS_ENDED                      AnalyticsEventType = 17
   100  )
   101  
   102  // Enum value maps for AnalyticsEventType.
   103  var (
   104  	AnalyticsEventType_name = map[int32]string{
   105  		0:  "ROOM_CREATED",
   106  		1:  "ROOM_ENDED",
   107  		2:  "PARTICIPANT_JOINED",
   108  		3:  "PARTICIPANT_LEFT",
   109  		4:  "TRACK_PUBLISHED",
   110  		20: "TRACK_PUBLISH_REQUESTED",
   111  		5:  "TRACK_UNPUBLISHED",
   112  		6:  "TRACK_SUBSCRIBED",
   113  		21: "TRACK_SUBSCRIBE_REQUESTED",
   114  		25: "TRACK_SUBSCRIBE_FAILED",
   115  		7:  "TRACK_UNSUBSCRIBED",
   116  		10: "TRACK_PUBLISHED_UPDATE",
   117  		23: "TRACK_MUTED",
   118  		24: "TRACK_UNMUTED",
   119  		26: "TRACK_PUBLISH_STATS",
   120  		27: "TRACK_SUBSCRIBE_STATS",
   121  		11: "PARTICIPANT_ACTIVE",
   122  		22: "PARTICIPANT_RESUMED",
   123  		12: "EGRESS_STARTED",
   124  		13: "EGRESS_ENDED",
   125  		14: "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY",
   126  		15: "RECONNECTED",
   127  		18: "INGRESS_CREATED",
   128  		19: "INGRESS_DELETED",
   129  		16: "INGRESS_STARTED",
   130  		17: "INGRESS_ENDED",
   131  	}
   132  	AnalyticsEventType_value = map[string]int32{
   133  		"ROOM_CREATED":                       0,
   134  		"ROOM_ENDED":                         1,
   135  		"PARTICIPANT_JOINED":                 2,
   136  		"PARTICIPANT_LEFT":                   3,
   137  		"TRACK_PUBLISHED":                    4,
   138  		"TRACK_PUBLISH_REQUESTED":            20,
   139  		"TRACK_UNPUBLISHED":                  5,
   140  		"TRACK_SUBSCRIBED":                   6,
   141  		"TRACK_SUBSCRIBE_REQUESTED":          21,
   142  		"TRACK_SUBSCRIBE_FAILED":             25,
   143  		"TRACK_UNSUBSCRIBED":                 7,
   144  		"TRACK_PUBLISHED_UPDATE":             10,
   145  		"TRACK_MUTED":                        23,
   146  		"TRACK_UNMUTED":                      24,
   147  		"TRACK_PUBLISH_STATS":                26,
   148  		"TRACK_SUBSCRIBE_STATS":              27,
   149  		"PARTICIPANT_ACTIVE":                 11,
   150  		"PARTICIPANT_RESUMED":                22,
   151  		"EGRESS_STARTED":                     12,
   152  		"EGRESS_ENDED":                       13,
   153  		"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY": 14,
   154  		"RECONNECTED":                        15,
   155  		"INGRESS_CREATED":                    18,
   156  		"INGRESS_DELETED":                    19,
   157  		"INGRESS_STARTED":                    16,
   158  		"INGRESS_ENDED":                      17,
   159  	}
   160  )
   161  
   162  func (x AnalyticsEventType) Enum() *AnalyticsEventType {
   163  	p := new(AnalyticsEventType)
   164  	*p = x
   165  	return p
   166  }
   167  
   168  func (x AnalyticsEventType) String() string {
   169  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   170  }
   171  
   172  func (AnalyticsEventType) Descriptor() protoreflect.EnumDescriptor {
   173  	return file_livekit_analytics_proto_enumTypes[1].Descriptor()
   174  }
   175  
   176  func (AnalyticsEventType) Type() protoreflect.EnumType {
   177  	return &file_livekit_analytics_proto_enumTypes[1]
   178  }
   179  
   180  func (x AnalyticsEventType) Number() protoreflect.EnumNumber {
   181  	return protoreflect.EnumNumber(x)
   182  }
   183  
   184  // Deprecated: Use AnalyticsEventType.Descriptor instead.
   185  func (AnalyticsEventType) EnumDescriptor() ([]byte, []int) {
   186  	return file_livekit_analytics_proto_rawDescGZIP(), []int{1}
   187  }
   188  
   189  type AnalyticsVideoLayer struct {
   190  	state         protoimpl.MessageState
   191  	sizeCache     protoimpl.SizeCache
   192  	unknownFields protoimpl.UnknownFields
   193  
   194  	Layer   int32  `protobuf:"varint,1,opt,name=layer,proto3" json:"layer,omitempty"`
   195  	Packets uint32 `protobuf:"varint,2,opt,name=packets,proto3" json:"packets,omitempty"`
   196  	Bytes   uint64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
   197  	Frames  uint32 `protobuf:"varint,4,opt,name=frames,proto3" json:"frames,omitempty"`
   198  }
   199  
   200  func (x *AnalyticsVideoLayer) Reset() {
   201  	*x = AnalyticsVideoLayer{}
   202  	if protoimpl.UnsafeEnabled {
   203  		mi := &file_livekit_analytics_proto_msgTypes[0]
   204  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   205  		ms.StoreMessageInfo(mi)
   206  	}
   207  }
   208  
   209  func (x *AnalyticsVideoLayer) String() string {
   210  	return protoimpl.X.MessageStringOf(x)
   211  }
   212  
   213  func (*AnalyticsVideoLayer) ProtoMessage() {}
   214  
   215  func (x *AnalyticsVideoLayer) ProtoReflect() protoreflect.Message {
   216  	mi := &file_livekit_analytics_proto_msgTypes[0]
   217  	if protoimpl.UnsafeEnabled && x != nil {
   218  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   219  		if ms.LoadMessageInfo() == nil {
   220  			ms.StoreMessageInfo(mi)
   221  		}
   222  		return ms
   223  	}
   224  	return mi.MessageOf(x)
   225  }
   226  
   227  // Deprecated: Use AnalyticsVideoLayer.ProtoReflect.Descriptor instead.
   228  func (*AnalyticsVideoLayer) Descriptor() ([]byte, []int) {
   229  	return file_livekit_analytics_proto_rawDescGZIP(), []int{0}
   230  }
   231  
   232  func (x *AnalyticsVideoLayer) GetLayer() int32 {
   233  	if x != nil {
   234  		return x.Layer
   235  	}
   236  	return 0
   237  }
   238  
   239  func (x *AnalyticsVideoLayer) GetPackets() uint32 {
   240  	if x != nil {
   241  		return x.Packets
   242  	}
   243  	return 0
   244  }
   245  
   246  func (x *AnalyticsVideoLayer) GetBytes() uint64 {
   247  	if x != nil {
   248  		return x.Bytes
   249  	}
   250  	return 0
   251  }
   252  
   253  func (x *AnalyticsVideoLayer) GetFrames() uint32 {
   254  	if x != nil {
   255  		return x.Frames
   256  	}
   257  	return 0
   258  }
   259  
   260  type AnalyticsStream struct {
   261  	state         protoimpl.MessageState
   262  	sizeCache     protoimpl.SizeCache
   263  	unknownFields protoimpl.UnknownFields
   264  
   265  	Ssrc              uint32                 `protobuf:"varint,1,opt,name=ssrc,proto3" json:"ssrc,omitempty"`
   266  	PrimaryPackets    uint32                 `protobuf:"varint,2,opt,name=primary_packets,json=primaryPackets,proto3" json:"primary_packets,omitempty"`
   267  	PrimaryBytes      uint64                 `protobuf:"varint,3,opt,name=primary_bytes,json=primaryBytes,proto3" json:"primary_bytes,omitempty"`
   268  	RetransmitPackets uint32                 `protobuf:"varint,4,opt,name=retransmit_packets,json=retransmitPackets,proto3" json:"retransmit_packets,omitempty"`
   269  	RetransmitBytes   uint64                 `protobuf:"varint,5,opt,name=retransmit_bytes,json=retransmitBytes,proto3" json:"retransmit_bytes,omitempty"`
   270  	PaddingPackets    uint32                 `protobuf:"varint,6,opt,name=padding_packets,json=paddingPackets,proto3" json:"padding_packets,omitempty"`
   271  	PaddingBytes      uint64                 `protobuf:"varint,7,opt,name=padding_bytes,json=paddingBytes,proto3" json:"padding_bytes,omitempty"`
   272  	PacketsLost       uint32                 `protobuf:"varint,8,opt,name=packets_lost,json=packetsLost,proto3" json:"packets_lost,omitempty"`
   273  	Frames            uint32                 `protobuf:"varint,9,opt,name=frames,proto3" json:"frames,omitempty"`
   274  	Rtt               uint32                 `protobuf:"varint,10,opt,name=rtt,proto3" json:"rtt,omitempty"`
   275  	Jitter            uint32                 `protobuf:"varint,11,opt,name=jitter,proto3" json:"jitter,omitempty"`
   276  	Nacks             uint32                 `protobuf:"varint,12,opt,name=nacks,proto3" json:"nacks,omitempty"`
   277  	Plis              uint32                 `protobuf:"varint,13,opt,name=plis,proto3" json:"plis,omitempty"`
   278  	Firs              uint32                 `protobuf:"varint,14,opt,name=firs,proto3" json:"firs,omitempty"`
   279  	VideoLayers       []*AnalyticsVideoLayer `protobuf:"bytes,15,rep,name=video_layers,json=videoLayers,proto3" json:"video_layers,omitempty"`
   280  }
   281  
   282  func (x *AnalyticsStream) Reset() {
   283  	*x = AnalyticsStream{}
   284  	if protoimpl.UnsafeEnabled {
   285  		mi := &file_livekit_analytics_proto_msgTypes[1]
   286  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   287  		ms.StoreMessageInfo(mi)
   288  	}
   289  }
   290  
   291  func (x *AnalyticsStream) String() string {
   292  	return protoimpl.X.MessageStringOf(x)
   293  }
   294  
   295  func (*AnalyticsStream) ProtoMessage() {}
   296  
   297  func (x *AnalyticsStream) ProtoReflect() protoreflect.Message {
   298  	mi := &file_livekit_analytics_proto_msgTypes[1]
   299  	if protoimpl.UnsafeEnabled && x != nil {
   300  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   301  		if ms.LoadMessageInfo() == nil {
   302  			ms.StoreMessageInfo(mi)
   303  		}
   304  		return ms
   305  	}
   306  	return mi.MessageOf(x)
   307  }
   308  
   309  // Deprecated: Use AnalyticsStream.ProtoReflect.Descriptor instead.
   310  func (*AnalyticsStream) Descriptor() ([]byte, []int) {
   311  	return file_livekit_analytics_proto_rawDescGZIP(), []int{1}
   312  }
   313  
   314  func (x *AnalyticsStream) GetSsrc() uint32 {
   315  	if x != nil {
   316  		return x.Ssrc
   317  	}
   318  	return 0
   319  }
   320  
   321  func (x *AnalyticsStream) GetPrimaryPackets() uint32 {
   322  	if x != nil {
   323  		return x.PrimaryPackets
   324  	}
   325  	return 0
   326  }
   327  
   328  func (x *AnalyticsStream) GetPrimaryBytes() uint64 {
   329  	if x != nil {
   330  		return x.PrimaryBytes
   331  	}
   332  	return 0
   333  }
   334  
   335  func (x *AnalyticsStream) GetRetransmitPackets() uint32 {
   336  	if x != nil {
   337  		return x.RetransmitPackets
   338  	}
   339  	return 0
   340  }
   341  
   342  func (x *AnalyticsStream) GetRetransmitBytes() uint64 {
   343  	if x != nil {
   344  		return x.RetransmitBytes
   345  	}
   346  	return 0
   347  }
   348  
   349  func (x *AnalyticsStream) GetPaddingPackets() uint32 {
   350  	if x != nil {
   351  		return x.PaddingPackets
   352  	}
   353  	return 0
   354  }
   355  
   356  func (x *AnalyticsStream) GetPaddingBytes() uint64 {
   357  	if x != nil {
   358  		return x.PaddingBytes
   359  	}
   360  	return 0
   361  }
   362  
   363  func (x *AnalyticsStream) GetPacketsLost() uint32 {
   364  	if x != nil {
   365  		return x.PacketsLost
   366  	}
   367  	return 0
   368  }
   369  
   370  func (x *AnalyticsStream) GetFrames() uint32 {
   371  	if x != nil {
   372  		return x.Frames
   373  	}
   374  	return 0
   375  }
   376  
   377  func (x *AnalyticsStream) GetRtt() uint32 {
   378  	if x != nil {
   379  		return x.Rtt
   380  	}
   381  	return 0
   382  }
   383  
   384  func (x *AnalyticsStream) GetJitter() uint32 {
   385  	if x != nil {
   386  		return x.Jitter
   387  	}
   388  	return 0
   389  }
   390  
   391  func (x *AnalyticsStream) GetNacks() uint32 {
   392  	if x != nil {
   393  		return x.Nacks
   394  	}
   395  	return 0
   396  }
   397  
   398  func (x *AnalyticsStream) GetPlis() uint32 {
   399  	if x != nil {
   400  		return x.Plis
   401  	}
   402  	return 0
   403  }
   404  
   405  func (x *AnalyticsStream) GetFirs() uint32 {
   406  	if x != nil {
   407  		return x.Firs
   408  	}
   409  	return 0
   410  }
   411  
   412  func (x *AnalyticsStream) GetVideoLayers() []*AnalyticsVideoLayer {
   413  	if x != nil {
   414  		return x.VideoLayers
   415  	}
   416  	return nil
   417  }
   418  
   419  type AnalyticsStat struct {
   420  	state         protoimpl.MessageState
   421  	sizeCache     protoimpl.SizeCache
   422  	unknownFields protoimpl.UnknownFields
   423  
   424  	AnalyticsKey  string                 `protobuf:"bytes,1,opt,name=analytics_key,json=analyticsKey,proto3" json:"analytics_key,omitempty"`
   425  	Kind          StreamType             `protobuf:"varint,2,opt,name=kind,proto3,enum=livekit.StreamType" json:"kind,omitempty"`
   426  	TimeStamp     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"`
   427  	Node          string                 `protobuf:"bytes,4,opt,name=node,proto3" json:"node,omitempty"`
   428  	RoomId        string                 `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
   429  	RoomName      string                 `protobuf:"bytes,6,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
   430  	ParticipantId string                 `protobuf:"bytes,7,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
   431  	TrackId       string                 `protobuf:"bytes,8,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
   432  	Score         float32                `protobuf:"fixed32,9,opt,name=score,proto3" json:"score,omitempty"` // average score
   433  	Streams       []*AnalyticsStream     `protobuf:"bytes,10,rep,name=streams,proto3" json:"streams,omitempty"`
   434  	Mime          string                 `protobuf:"bytes,11,opt,name=mime,proto3" json:"mime,omitempty"`
   435  	MinScore      float32                `protobuf:"fixed32,12,opt,name=min_score,json=minScore,proto3" json:"min_score,omitempty"`
   436  	MedianScore   float32                `protobuf:"fixed32,13,opt,name=median_score,json=medianScore,proto3" json:"median_score,omitempty"`
   437  }
   438  
   439  func (x *AnalyticsStat) Reset() {
   440  	*x = AnalyticsStat{}
   441  	if protoimpl.UnsafeEnabled {
   442  		mi := &file_livekit_analytics_proto_msgTypes[2]
   443  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   444  		ms.StoreMessageInfo(mi)
   445  	}
   446  }
   447  
   448  func (x *AnalyticsStat) String() string {
   449  	return protoimpl.X.MessageStringOf(x)
   450  }
   451  
   452  func (*AnalyticsStat) ProtoMessage() {}
   453  
   454  func (x *AnalyticsStat) ProtoReflect() protoreflect.Message {
   455  	mi := &file_livekit_analytics_proto_msgTypes[2]
   456  	if protoimpl.UnsafeEnabled && x != nil {
   457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   458  		if ms.LoadMessageInfo() == nil {
   459  			ms.StoreMessageInfo(mi)
   460  		}
   461  		return ms
   462  	}
   463  	return mi.MessageOf(x)
   464  }
   465  
   466  // Deprecated: Use AnalyticsStat.ProtoReflect.Descriptor instead.
   467  func (*AnalyticsStat) Descriptor() ([]byte, []int) {
   468  	return file_livekit_analytics_proto_rawDescGZIP(), []int{2}
   469  }
   470  
   471  func (x *AnalyticsStat) GetAnalyticsKey() string {
   472  	if x != nil {
   473  		return x.AnalyticsKey
   474  	}
   475  	return ""
   476  }
   477  
   478  func (x *AnalyticsStat) GetKind() StreamType {
   479  	if x != nil {
   480  		return x.Kind
   481  	}
   482  	return StreamType_UPSTREAM
   483  }
   484  
   485  func (x *AnalyticsStat) GetTimeStamp() *timestamppb.Timestamp {
   486  	if x != nil {
   487  		return x.TimeStamp
   488  	}
   489  	return nil
   490  }
   491  
   492  func (x *AnalyticsStat) GetNode() string {
   493  	if x != nil {
   494  		return x.Node
   495  	}
   496  	return ""
   497  }
   498  
   499  func (x *AnalyticsStat) GetRoomId() string {
   500  	if x != nil {
   501  		return x.RoomId
   502  	}
   503  	return ""
   504  }
   505  
   506  func (x *AnalyticsStat) GetRoomName() string {
   507  	if x != nil {
   508  		return x.RoomName
   509  	}
   510  	return ""
   511  }
   512  
   513  func (x *AnalyticsStat) GetParticipantId() string {
   514  	if x != nil {
   515  		return x.ParticipantId
   516  	}
   517  	return ""
   518  }
   519  
   520  func (x *AnalyticsStat) GetTrackId() string {
   521  	if x != nil {
   522  		return x.TrackId
   523  	}
   524  	return ""
   525  }
   526  
   527  func (x *AnalyticsStat) GetScore() float32 {
   528  	if x != nil {
   529  		return x.Score
   530  	}
   531  	return 0
   532  }
   533  
   534  func (x *AnalyticsStat) GetStreams() []*AnalyticsStream {
   535  	if x != nil {
   536  		return x.Streams
   537  	}
   538  	return nil
   539  }
   540  
   541  func (x *AnalyticsStat) GetMime() string {
   542  	if x != nil {
   543  		return x.Mime
   544  	}
   545  	return ""
   546  }
   547  
   548  func (x *AnalyticsStat) GetMinScore() float32 {
   549  	if x != nil {
   550  		return x.MinScore
   551  	}
   552  	return 0
   553  }
   554  
   555  func (x *AnalyticsStat) GetMedianScore() float32 {
   556  	if x != nil {
   557  		return x.MedianScore
   558  	}
   559  	return 0
   560  }
   561  
   562  type AnalyticsStats struct {
   563  	state         protoimpl.MessageState
   564  	sizeCache     protoimpl.SizeCache
   565  	unknownFields protoimpl.UnknownFields
   566  
   567  	Stats []*AnalyticsStat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
   568  }
   569  
   570  func (x *AnalyticsStats) Reset() {
   571  	*x = AnalyticsStats{}
   572  	if protoimpl.UnsafeEnabled {
   573  		mi := &file_livekit_analytics_proto_msgTypes[3]
   574  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   575  		ms.StoreMessageInfo(mi)
   576  	}
   577  }
   578  
   579  func (x *AnalyticsStats) String() string {
   580  	return protoimpl.X.MessageStringOf(x)
   581  }
   582  
   583  func (*AnalyticsStats) ProtoMessage() {}
   584  
   585  func (x *AnalyticsStats) ProtoReflect() protoreflect.Message {
   586  	mi := &file_livekit_analytics_proto_msgTypes[3]
   587  	if protoimpl.UnsafeEnabled && x != nil {
   588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   589  		if ms.LoadMessageInfo() == nil {
   590  			ms.StoreMessageInfo(mi)
   591  		}
   592  		return ms
   593  	}
   594  	return mi.MessageOf(x)
   595  }
   596  
   597  // Deprecated: Use AnalyticsStats.ProtoReflect.Descriptor instead.
   598  func (*AnalyticsStats) Descriptor() ([]byte, []int) {
   599  	return file_livekit_analytics_proto_rawDescGZIP(), []int{3}
   600  }
   601  
   602  func (x *AnalyticsStats) GetStats() []*AnalyticsStat {
   603  	if x != nil {
   604  		return x.Stats
   605  	}
   606  	return nil
   607  }
   608  
   609  type AnalyticsClientMeta struct {
   610  	state         protoimpl.MessageState
   611  	sizeCache     protoimpl.SizeCache
   612  	unknownFields protoimpl.UnknownFields
   613  
   614  	Region            string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
   615  	Node              string `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
   616  	ClientAddr        string `protobuf:"bytes,3,opt,name=client_addr,json=clientAddr,proto3" json:"client_addr,omitempty"`
   617  	ClientConnectTime uint32 `protobuf:"varint,4,opt,name=client_connect_time,json=clientConnectTime,proto3" json:"client_connect_time,omitempty"`
   618  	// udp, tcp, turn
   619  	ConnectionType  string          `protobuf:"bytes,5,opt,name=connection_type,json=connectionType,proto3" json:"connection_type,omitempty"`
   620  	ReconnectReason ReconnectReason `protobuf:"varint,6,opt,name=reconnect_reason,json=reconnectReason,proto3,enum=livekit.ReconnectReason" json:"reconnect_reason,omitempty"`
   621  }
   622  
   623  func (x *AnalyticsClientMeta) Reset() {
   624  	*x = AnalyticsClientMeta{}
   625  	if protoimpl.UnsafeEnabled {
   626  		mi := &file_livekit_analytics_proto_msgTypes[4]
   627  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   628  		ms.StoreMessageInfo(mi)
   629  	}
   630  }
   631  
   632  func (x *AnalyticsClientMeta) String() string {
   633  	return protoimpl.X.MessageStringOf(x)
   634  }
   635  
   636  func (*AnalyticsClientMeta) ProtoMessage() {}
   637  
   638  func (x *AnalyticsClientMeta) ProtoReflect() protoreflect.Message {
   639  	mi := &file_livekit_analytics_proto_msgTypes[4]
   640  	if protoimpl.UnsafeEnabled && x != nil {
   641  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   642  		if ms.LoadMessageInfo() == nil {
   643  			ms.StoreMessageInfo(mi)
   644  		}
   645  		return ms
   646  	}
   647  	return mi.MessageOf(x)
   648  }
   649  
   650  // Deprecated: Use AnalyticsClientMeta.ProtoReflect.Descriptor instead.
   651  func (*AnalyticsClientMeta) Descriptor() ([]byte, []int) {
   652  	return file_livekit_analytics_proto_rawDescGZIP(), []int{4}
   653  }
   654  
   655  func (x *AnalyticsClientMeta) GetRegion() string {
   656  	if x != nil {
   657  		return x.Region
   658  	}
   659  	return ""
   660  }
   661  
   662  func (x *AnalyticsClientMeta) GetNode() string {
   663  	if x != nil {
   664  		return x.Node
   665  	}
   666  	return ""
   667  }
   668  
   669  func (x *AnalyticsClientMeta) GetClientAddr() string {
   670  	if x != nil {
   671  		return x.ClientAddr
   672  	}
   673  	return ""
   674  }
   675  
   676  func (x *AnalyticsClientMeta) GetClientConnectTime() uint32 {
   677  	if x != nil {
   678  		return x.ClientConnectTime
   679  	}
   680  	return 0
   681  }
   682  
   683  func (x *AnalyticsClientMeta) GetConnectionType() string {
   684  	if x != nil {
   685  		return x.ConnectionType
   686  	}
   687  	return ""
   688  }
   689  
   690  func (x *AnalyticsClientMeta) GetReconnectReason() ReconnectReason {
   691  	if x != nil {
   692  		return x.ReconnectReason
   693  	}
   694  	return ReconnectReason_RR_UNKOWN
   695  }
   696  
   697  type AnalyticsEvent struct {
   698  	state         protoimpl.MessageState
   699  	sizeCache     protoimpl.SizeCache
   700  	unknownFields protoimpl.UnknownFields
   701  
   702  	Type                      AnalyticsEventType     `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.AnalyticsEventType" json:"type,omitempty"`
   703  	Timestamp                 *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   704  	RoomId                    string                 `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
   705  	Room                      *Room                  `protobuf:"bytes,4,opt,name=room,proto3" json:"room,omitempty"`
   706  	ParticipantId             string                 `protobuf:"bytes,5,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
   707  	Participant               *ParticipantInfo       `protobuf:"bytes,6,opt,name=participant,proto3" json:"participant,omitempty"`
   708  	TrackId                   string                 `protobuf:"bytes,7,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"`
   709  	Track                     *TrackInfo             `protobuf:"bytes,8,opt,name=track,proto3" json:"track,omitempty"`
   710  	AnalyticsKey              string                 `protobuf:"bytes,10,opt,name=analytics_key,json=analyticsKey,proto3" json:"analytics_key,omitempty"`
   711  	ClientInfo                *ClientInfo            `protobuf:"bytes,11,opt,name=client_info,json=clientInfo,proto3" json:"client_info,omitempty"`
   712  	ClientMeta                *AnalyticsClientMeta   `protobuf:"bytes,12,opt,name=client_meta,json=clientMeta,proto3" json:"client_meta,omitempty"`
   713  	EgressId                  string                 `protobuf:"bytes,13,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"`
   714  	IngressId                 string                 `protobuf:"bytes,19,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"`
   715  	MaxSubscribedVideoQuality VideoQuality           `protobuf:"varint,14,opt,name=max_subscribed_video_quality,json=maxSubscribedVideoQuality,proto3,enum=livekit.VideoQuality" json:"max_subscribed_video_quality,omitempty"`
   716  	Publisher                 *ParticipantInfo       `protobuf:"bytes,15,opt,name=publisher,proto3" json:"publisher,omitempty"`
   717  	Mime                      string                 `protobuf:"bytes,16,opt,name=mime,proto3" json:"mime,omitempty"`
   718  	Egress                    *EgressInfo            `protobuf:"bytes,17,opt,name=egress,proto3" json:"egress,omitempty"`
   719  	Ingress                   *IngressInfo           `protobuf:"bytes,18,opt,name=ingress,proto3" json:"ingress,omitempty"`
   720  	Error                     string                 `protobuf:"bytes,20,opt,name=error,proto3" json:"error,omitempty"`
   721  	RtpStats                  *RTPStats              `protobuf:"bytes,21,opt,name=rtp_stats,json=rtpStats,proto3" json:"rtp_stats,omitempty"`
   722  	VideoLayer                int32                  `protobuf:"varint,22,opt,name=video_layer,json=videoLayer,proto3" json:"video_layer,omitempty"`
   723  }
   724  
   725  func (x *AnalyticsEvent) Reset() {
   726  	*x = AnalyticsEvent{}
   727  	if protoimpl.UnsafeEnabled {
   728  		mi := &file_livekit_analytics_proto_msgTypes[5]
   729  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   730  		ms.StoreMessageInfo(mi)
   731  	}
   732  }
   733  
   734  func (x *AnalyticsEvent) String() string {
   735  	return protoimpl.X.MessageStringOf(x)
   736  }
   737  
   738  func (*AnalyticsEvent) ProtoMessage() {}
   739  
   740  func (x *AnalyticsEvent) ProtoReflect() protoreflect.Message {
   741  	mi := &file_livekit_analytics_proto_msgTypes[5]
   742  	if protoimpl.UnsafeEnabled && x != nil {
   743  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   744  		if ms.LoadMessageInfo() == nil {
   745  			ms.StoreMessageInfo(mi)
   746  		}
   747  		return ms
   748  	}
   749  	return mi.MessageOf(x)
   750  }
   751  
   752  // Deprecated: Use AnalyticsEvent.ProtoReflect.Descriptor instead.
   753  func (*AnalyticsEvent) Descriptor() ([]byte, []int) {
   754  	return file_livekit_analytics_proto_rawDescGZIP(), []int{5}
   755  }
   756  
   757  func (x *AnalyticsEvent) GetType() AnalyticsEventType {
   758  	if x != nil {
   759  		return x.Type
   760  	}
   761  	return AnalyticsEventType_ROOM_CREATED
   762  }
   763  
   764  func (x *AnalyticsEvent) GetTimestamp() *timestamppb.Timestamp {
   765  	if x != nil {
   766  		return x.Timestamp
   767  	}
   768  	return nil
   769  }
   770  
   771  func (x *AnalyticsEvent) GetRoomId() string {
   772  	if x != nil {
   773  		return x.RoomId
   774  	}
   775  	return ""
   776  }
   777  
   778  func (x *AnalyticsEvent) GetRoom() *Room {
   779  	if x != nil {
   780  		return x.Room
   781  	}
   782  	return nil
   783  }
   784  
   785  func (x *AnalyticsEvent) GetParticipantId() string {
   786  	if x != nil {
   787  		return x.ParticipantId
   788  	}
   789  	return ""
   790  }
   791  
   792  func (x *AnalyticsEvent) GetParticipant() *ParticipantInfo {
   793  	if x != nil {
   794  		return x.Participant
   795  	}
   796  	return nil
   797  }
   798  
   799  func (x *AnalyticsEvent) GetTrackId() string {
   800  	if x != nil {
   801  		return x.TrackId
   802  	}
   803  	return ""
   804  }
   805  
   806  func (x *AnalyticsEvent) GetTrack() *TrackInfo {
   807  	if x != nil {
   808  		return x.Track
   809  	}
   810  	return nil
   811  }
   812  
   813  func (x *AnalyticsEvent) GetAnalyticsKey() string {
   814  	if x != nil {
   815  		return x.AnalyticsKey
   816  	}
   817  	return ""
   818  }
   819  
   820  func (x *AnalyticsEvent) GetClientInfo() *ClientInfo {
   821  	if x != nil {
   822  		return x.ClientInfo
   823  	}
   824  	return nil
   825  }
   826  
   827  func (x *AnalyticsEvent) GetClientMeta() *AnalyticsClientMeta {
   828  	if x != nil {
   829  		return x.ClientMeta
   830  	}
   831  	return nil
   832  }
   833  
   834  func (x *AnalyticsEvent) GetEgressId() string {
   835  	if x != nil {
   836  		return x.EgressId
   837  	}
   838  	return ""
   839  }
   840  
   841  func (x *AnalyticsEvent) GetIngressId() string {
   842  	if x != nil {
   843  		return x.IngressId
   844  	}
   845  	return ""
   846  }
   847  
   848  func (x *AnalyticsEvent) GetMaxSubscribedVideoQuality() VideoQuality {
   849  	if x != nil {
   850  		return x.MaxSubscribedVideoQuality
   851  	}
   852  	return VideoQuality_LOW
   853  }
   854  
   855  func (x *AnalyticsEvent) GetPublisher() *ParticipantInfo {
   856  	if x != nil {
   857  		return x.Publisher
   858  	}
   859  	return nil
   860  }
   861  
   862  func (x *AnalyticsEvent) GetMime() string {
   863  	if x != nil {
   864  		return x.Mime
   865  	}
   866  	return ""
   867  }
   868  
   869  func (x *AnalyticsEvent) GetEgress() *EgressInfo {
   870  	if x != nil {
   871  		return x.Egress
   872  	}
   873  	return nil
   874  }
   875  
   876  func (x *AnalyticsEvent) GetIngress() *IngressInfo {
   877  	if x != nil {
   878  		return x.Ingress
   879  	}
   880  	return nil
   881  }
   882  
   883  func (x *AnalyticsEvent) GetError() string {
   884  	if x != nil {
   885  		return x.Error
   886  	}
   887  	return ""
   888  }
   889  
   890  func (x *AnalyticsEvent) GetRtpStats() *RTPStats {
   891  	if x != nil {
   892  		return x.RtpStats
   893  	}
   894  	return nil
   895  }
   896  
   897  func (x *AnalyticsEvent) GetVideoLayer() int32 {
   898  	if x != nil {
   899  		return x.VideoLayer
   900  	}
   901  	return 0
   902  }
   903  
   904  type AnalyticsEvents struct {
   905  	state         protoimpl.MessageState
   906  	sizeCache     protoimpl.SizeCache
   907  	unknownFields protoimpl.UnknownFields
   908  
   909  	Events []*AnalyticsEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
   910  }
   911  
   912  func (x *AnalyticsEvents) Reset() {
   913  	*x = AnalyticsEvents{}
   914  	if protoimpl.UnsafeEnabled {
   915  		mi := &file_livekit_analytics_proto_msgTypes[6]
   916  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   917  		ms.StoreMessageInfo(mi)
   918  	}
   919  }
   920  
   921  func (x *AnalyticsEvents) String() string {
   922  	return protoimpl.X.MessageStringOf(x)
   923  }
   924  
   925  func (*AnalyticsEvents) ProtoMessage() {}
   926  
   927  func (x *AnalyticsEvents) ProtoReflect() protoreflect.Message {
   928  	mi := &file_livekit_analytics_proto_msgTypes[6]
   929  	if protoimpl.UnsafeEnabled && x != nil {
   930  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   931  		if ms.LoadMessageInfo() == nil {
   932  			ms.StoreMessageInfo(mi)
   933  		}
   934  		return ms
   935  	}
   936  	return mi.MessageOf(x)
   937  }
   938  
   939  // Deprecated: Use AnalyticsEvents.ProtoReflect.Descriptor instead.
   940  func (*AnalyticsEvents) Descriptor() ([]byte, []int) {
   941  	return file_livekit_analytics_proto_rawDescGZIP(), []int{6}
   942  }
   943  
   944  func (x *AnalyticsEvents) GetEvents() []*AnalyticsEvent {
   945  	if x != nil {
   946  		return x.Events
   947  	}
   948  	return nil
   949  }
   950  
   951  var File_livekit_analytics_proto protoreflect.FileDescriptor
   952  
   953  var file_livekit_analytics_proto_rawDesc = []byte{
   954  	0x0a, 0x17, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
   955  	0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b,
   956  	0x69, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   957  	0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   958  	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   959  	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   960  	0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
   961  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f,
   962  	0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x6c, 0x69,
   963  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72,
   964  	0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
   965  	0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61,
   966  	0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72,
   967  	0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
   968  	0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79,
   969  	0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
   970  	0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
   971  	0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xff, 0x03, 0x0a, 0x0f, 0x41, 0x6e, 0x61,
   972  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04,
   973  	0x73, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x73, 0x72, 0x63,
   974  	0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b,
   975  	0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61,
   976  	0x72, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x69,
   977  	0x6d, 0x61, 0x72, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
   978  	0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2d,
   979  	0x0a, 0x12, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63,
   980  	0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72,
   981  	0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a,
   982  	0x10, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65,
   983  	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
   984  	0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x64, 0x64,
   985  	0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
   986  	0x0d, 0x52, 0x0e, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
   987  	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74,
   988  	0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e,
   989  	0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
   990  	0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61,
   991  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61,
   992  	0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65,
   993  	0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
   994  	0x72, 0x74, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20,
   995  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e,
   996  	0x61, 0x63, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b,
   997  	0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
   998  	0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x0e, 0x20,
   999  	0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x76, 0x69, 0x64,
  1000  	0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1001  	0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  1002  	0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x76,
  1003  	0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xc2, 0x03, 0x0a, 0x0d, 0x41,
  1004  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d,
  1005  	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
  1006  	0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65,
  1007  	0x79, 0x12, 0x27, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1008  	0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  1009  	0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69,
  1010  	0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1011  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1012  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
  1013  	0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
  1014  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
  1015  	0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
  1016  	0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  1017  	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  1018  	0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69,
  1019  	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
  1020  	0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f,
  1021  	0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49,
  1022  	0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02,
  1023  	0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61,
  1024  	0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  1025  	0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65,
  1026  	0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d,
  1027  	0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12,
  1028  	0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01,
  1029  	0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c,
  1030  	0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01,
  1031  	0x28, 0x02, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22,
  1032  	0x3e, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74,
  1033  	0x73, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  1034  	0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79,
  1035  	0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22,
  1036  	0x80, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69,
  1037  	0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
  1038  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
  1039  	0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
  1040  	0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64,
  1041  	0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  1042  	0x41, 0x64, 0x64, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63,
  1043  	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
  1044  	0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
  1045  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
  1046  	0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63,
  1047  	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a,
  1048  	0x10, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
  1049  	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
  1050  	0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
  1051  	0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73,
  1052  	0x6f, 0x6e, 0x22, 0x9d, 0x07, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
  1053  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  1054  	0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e,
  1055  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
  1056  	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
  1057  	0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1058  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  1059  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1060  	0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
  1061  	0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f,
  1062  	0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
  1063  	0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e,
  1064  	0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05,
  1065  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
  1066  	0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
  1067  	0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  1068  	0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e,
  1069  	0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12,
  1070  	0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
  1071  	0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72,
  1072  	0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  1073  	0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74,
  1074  	0x72, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  1075  	0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61,
  1076  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6c, 0x69,
  1077  	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
  1078  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49,
  1079  	0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
  1080  	0x3d, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c,
  1081  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41,
  1082  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65,
  1083  	0x74, 0x61, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b,
  1084  	0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
  1085  	0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
  1086  	0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52,
  1087  	0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x1c, 0x6d, 0x61,
  1088  	0x78, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x64,
  1089  	0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e,
  1090  	0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f,
  1091  	0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x73,
  1092  	0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69,
  1093  	0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18,
  1094  	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  1095  	0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
  1096  	0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69,
  1097  	0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x2b,
  1098  	0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
  1099  	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
  1100  	0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x69,
  1101  	0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c,
  1102  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e,
  1103  	0x66, 0x6f, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65,
  1104  	0x72, 0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
  1105  	0x72, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x15,
  1106  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52,
  1107  	0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x72, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74,
  1108  	0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72,
  1109  	0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79,
  1110  	0x65, 0x72, 0x22, 0x42, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45,
  1111  	0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18,
  1112  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  1113  	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06,
  1114  	0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0x2a, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  1115  	0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d,
  1116  	0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d,
  1117  	0x10, 0x01, 0x2a, 0xec, 0x04, 0x0a, 0x12, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
  1118  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f,
  1119  	0x4d, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52,
  1120  	0x4f, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50,
  1121  	0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45,
  1122  	0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41,
  1123  	0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41,
  1124  	0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1b,
  1125  	0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f,
  1126  	0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x54,
  1127  	0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44,
  1128  	0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53,
  1129  	0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, 0x41, 0x43,
  1130  	0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55,
  1131  	0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b,
  1132  	0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45,
  1133  	0x44, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x53,
  1134  	0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x54,
  1135  	0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x55,
  1136  	0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x43, 0x4b,
  1137  	0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43,
  1138  	0x4b, 0x5f, 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x18, 0x12, 0x17, 0x0a, 0x13, 0x54,
  1139  	0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x54, 0x41,
  1140  	0x54, 0x53, 0x10, 0x1a, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55,
  1141  	0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12,
  1142  	0x16, 0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41,
  1143  	0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49,
  1144  	0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x44, 0x10, 0x16,
  1145  	0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54,
  1146  	0x45, 0x44, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45,
  1147  	0x4e, 0x44, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f,
  1148  	0x4d, 0x41, 0x58, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x5f, 0x56,
  1149  	0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x0e, 0x12, 0x0f,
  1150  	0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0f, 0x12,
  1151  	0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
  1152  	0x45, 0x44, 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f,
  1153  	0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47,
  1154  	0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x11,
  1155  	0x0a, 0x0d, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10,
  1156  	0x11, 0x32, 0xa4, 0x01, 0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52,
  1157  	0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42,
  1158  	0x0a, 0x0b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x2e,
  1159  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  1160  	0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1161  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00,
  1162  	0x28, 0x01, 0x12, 0x44, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e,
  1163  	0x74, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61,
  1164  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x16, 0x2e, 0x67,
  1165  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  1166  	0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x28, 0x01, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68,
  1167  	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70,
  1168  	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa,
  1169  	0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea,
  1170  	0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  1171  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1172  }
  1173  
  1174  var (
  1175  	file_livekit_analytics_proto_rawDescOnce sync.Once
  1176  	file_livekit_analytics_proto_rawDescData = file_livekit_analytics_proto_rawDesc
  1177  )
  1178  
  1179  func file_livekit_analytics_proto_rawDescGZIP() []byte {
  1180  	file_livekit_analytics_proto_rawDescOnce.Do(func() {
  1181  		file_livekit_analytics_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_analytics_proto_rawDescData)
  1182  	})
  1183  	return file_livekit_analytics_proto_rawDescData
  1184  }
  1185  
  1186  var file_livekit_analytics_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1187  var file_livekit_analytics_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
  1188  var file_livekit_analytics_proto_goTypes = []interface{}{
  1189  	(StreamType)(0),               // 0: livekit.StreamType
  1190  	(AnalyticsEventType)(0),       // 1: livekit.AnalyticsEventType
  1191  	(*AnalyticsVideoLayer)(nil),   // 2: livekit.AnalyticsVideoLayer
  1192  	(*AnalyticsStream)(nil),       // 3: livekit.AnalyticsStream
  1193  	(*AnalyticsStat)(nil),         // 4: livekit.AnalyticsStat
  1194  	(*AnalyticsStats)(nil),        // 5: livekit.AnalyticsStats
  1195  	(*AnalyticsClientMeta)(nil),   // 6: livekit.AnalyticsClientMeta
  1196  	(*AnalyticsEvent)(nil),        // 7: livekit.AnalyticsEvent
  1197  	(*AnalyticsEvents)(nil),       // 8: livekit.AnalyticsEvents
  1198  	(*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp
  1199  	(ReconnectReason)(0),          // 10: livekit.ReconnectReason
  1200  	(*Room)(nil),                  // 11: livekit.Room
  1201  	(*ParticipantInfo)(nil),       // 12: livekit.ParticipantInfo
  1202  	(*TrackInfo)(nil),             // 13: livekit.TrackInfo
  1203  	(*ClientInfo)(nil),            // 14: livekit.ClientInfo
  1204  	(VideoQuality)(0),             // 15: livekit.VideoQuality
  1205  	(*EgressInfo)(nil),            // 16: livekit.EgressInfo
  1206  	(*IngressInfo)(nil),           // 17: livekit.IngressInfo
  1207  	(*RTPStats)(nil),              // 18: livekit.RTPStats
  1208  	(*emptypb.Empty)(nil),         // 19: google.protobuf.Empty
  1209  }
  1210  var file_livekit_analytics_proto_depIdxs = []int32{
  1211  	2,  // 0: livekit.AnalyticsStream.video_layers:type_name -> livekit.AnalyticsVideoLayer
  1212  	0,  // 1: livekit.AnalyticsStat.kind:type_name -> livekit.StreamType
  1213  	9,  // 2: livekit.AnalyticsStat.time_stamp:type_name -> google.protobuf.Timestamp
  1214  	3,  // 3: livekit.AnalyticsStat.streams:type_name -> livekit.AnalyticsStream
  1215  	4,  // 4: livekit.AnalyticsStats.stats:type_name -> livekit.AnalyticsStat
  1216  	10, // 5: livekit.AnalyticsClientMeta.reconnect_reason:type_name -> livekit.ReconnectReason
  1217  	1,  // 6: livekit.AnalyticsEvent.type:type_name -> livekit.AnalyticsEventType
  1218  	9,  // 7: livekit.AnalyticsEvent.timestamp:type_name -> google.protobuf.Timestamp
  1219  	11, // 8: livekit.AnalyticsEvent.room:type_name -> livekit.Room
  1220  	12, // 9: livekit.AnalyticsEvent.participant:type_name -> livekit.ParticipantInfo
  1221  	13, // 10: livekit.AnalyticsEvent.track:type_name -> livekit.TrackInfo
  1222  	14, // 11: livekit.AnalyticsEvent.client_info:type_name -> livekit.ClientInfo
  1223  	6,  // 12: livekit.AnalyticsEvent.client_meta:type_name -> livekit.AnalyticsClientMeta
  1224  	15, // 13: livekit.AnalyticsEvent.max_subscribed_video_quality:type_name -> livekit.VideoQuality
  1225  	12, // 14: livekit.AnalyticsEvent.publisher:type_name -> livekit.ParticipantInfo
  1226  	16, // 15: livekit.AnalyticsEvent.egress:type_name -> livekit.EgressInfo
  1227  	17, // 16: livekit.AnalyticsEvent.ingress:type_name -> livekit.IngressInfo
  1228  	18, // 17: livekit.AnalyticsEvent.rtp_stats:type_name -> livekit.RTPStats
  1229  	7,  // 18: livekit.AnalyticsEvents.events:type_name -> livekit.AnalyticsEvent
  1230  	5,  // 19: livekit.AnalyticsRecorderService.IngestStats:input_type -> livekit.AnalyticsStats
  1231  	8,  // 20: livekit.AnalyticsRecorderService.IngestEvents:input_type -> livekit.AnalyticsEvents
  1232  	19, // 21: livekit.AnalyticsRecorderService.IngestStats:output_type -> google.protobuf.Empty
  1233  	19, // 22: livekit.AnalyticsRecorderService.IngestEvents:output_type -> google.protobuf.Empty
  1234  	21, // [21:23] is the sub-list for method output_type
  1235  	19, // [19:21] is the sub-list for method input_type
  1236  	19, // [19:19] is the sub-list for extension type_name
  1237  	19, // [19:19] is the sub-list for extension extendee
  1238  	0,  // [0:19] is the sub-list for field type_name
  1239  }
  1240  
  1241  func init() { file_livekit_analytics_proto_init() }
  1242  func file_livekit_analytics_proto_init() {
  1243  	if File_livekit_analytics_proto != nil {
  1244  		return
  1245  	}
  1246  	file_livekit_models_proto_init()
  1247  	file_livekit_egress_proto_init()
  1248  	file_livekit_ingress_proto_init()
  1249  	if !protoimpl.UnsafeEnabled {
  1250  		file_livekit_analytics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1251  			switch v := v.(*AnalyticsVideoLayer); i {
  1252  			case 0:
  1253  				return &v.state
  1254  			case 1:
  1255  				return &v.sizeCache
  1256  			case 2:
  1257  				return &v.unknownFields
  1258  			default:
  1259  				return nil
  1260  			}
  1261  		}
  1262  		file_livekit_analytics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1263  			switch v := v.(*AnalyticsStream); i {
  1264  			case 0:
  1265  				return &v.state
  1266  			case 1:
  1267  				return &v.sizeCache
  1268  			case 2:
  1269  				return &v.unknownFields
  1270  			default:
  1271  				return nil
  1272  			}
  1273  		}
  1274  		file_livekit_analytics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1275  			switch v := v.(*AnalyticsStat); i {
  1276  			case 0:
  1277  				return &v.state
  1278  			case 1:
  1279  				return &v.sizeCache
  1280  			case 2:
  1281  				return &v.unknownFields
  1282  			default:
  1283  				return nil
  1284  			}
  1285  		}
  1286  		file_livekit_analytics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1287  			switch v := v.(*AnalyticsStats); i {
  1288  			case 0:
  1289  				return &v.state
  1290  			case 1:
  1291  				return &v.sizeCache
  1292  			case 2:
  1293  				return &v.unknownFields
  1294  			default:
  1295  				return nil
  1296  			}
  1297  		}
  1298  		file_livekit_analytics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1299  			switch v := v.(*AnalyticsClientMeta); i {
  1300  			case 0:
  1301  				return &v.state
  1302  			case 1:
  1303  				return &v.sizeCache
  1304  			case 2:
  1305  				return &v.unknownFields
  1306  			default:
  1307  				return nil
  1308  			}
  1309  		}
  1310  		file_livekit_analytics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1311  			switch v := v.(*AnalyticsEvent); i {
  1312  			case 0:
  1313  				return &v.state
  1314  			case 1:
  1315  				return &v.sizeCache
  1316  			case 2:
  1317  				return &v.unknownFields
  1318  			default:
  1319  				return nil
  1320  			}
  1321  		}
  1322  		file_livekit_analytics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1323  			switch v := v.(*AnalyticsEvents); i {
  1324  			case 0:
  1325  				return &v.state
  1326  			case 1:
  1327  				return &v.sizeCache
  1328  			case 2:
  1329  				return &v.unknownFields
  1330  			default:
  1331  				return nil
  1332  			}
  1333  		}
  1334  	}
  1335  	type x struct{}
  1336  	out := protoimpl.TypeBuilder{
  1337  		File: protoimpl.DescBuilder{
  1338  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1339  			RawDescriptor: file_livekit_analytics_proto_rawDesc,
  1340  			NumEnums:      2,
  1341  			NumMessages:   7,
  1342  			NumExtensions: 0,
  1343  			NumServices:   1,
  1344  		},
  1345  		GoTypes:           file_livekit_analytics_proto_goTypes,
  1346  		DependencyIndexes: file_livekit_analytics_proto_depIdxs,
  1347  		EnumInfos:         file_livekit_analytics_proto_enumTypes,
  1348  		MessageInfos:      file_livekit_analytics_proto_msgTypes,
  1349  	}.Build()
  1350  	File_livekit_analytics_proto = out.File
  1351  	file_livekit_analytics_proto_rawDesc = nil
  1352  	file_livekit_analytics_proto_goTypes = nil
  1353  	file_livekit_analytics_proto_depIdxs = nil
  1354  }