Bladeren bron

密友列表

wfz 3 jaren geleden
bovenliggende
commit
5bb15909ef
8 gewijzigde bestanden met toevoegingen van 655 en 539 verwijderingen
  1. 357 347
      api/chat/chat.pb.go
  2. 1 0
      api/chat/chat.proto
  3. 202 192
      api/user/user.pb.go
  4. 7 0
      api/user/user.proto
  5. 38 0
      api/user/user_grpc.pb.go
  6. 43 0
      api/user/user_http.pb.go
  7. 2 0
      js/api/chat/chat_pb.ts
  8. 5 0
      js/api/user/user_http_pb.ts

+ 357 - 347
api/chat/chat.pb.go

@@ -889,6 +889,7 @@ type UserFindRoomListRequest struct {
 	Offset           int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"`
 	PersonId         string `protobuf:"bytes,3,opt,name=personId,proto3" json:"personId"`
 	IsWithinSevenDay bool   `protobuf:"varint,4,opt,name=isWithinSevenDay,proto3" json:"isWithinSevenDay"` // 是否在七日内
+	IsCloseFriend    bool   `protobuf:"varint,5,opt,name=isCloseFriend,proto3" json:"isCloseFriend"`       // 是否是密友
 }
 
 func (x *UserFindRoomListRequest) Reset() {
@@ -951,6 +952,13 @@ func (x *UserFindRoomListRequest) GetIsWithinSevenDay() bool {
 	return false
 }
 
+func (x *UserFindRoomListRequest) GetIsCloseFriend() bool {
+	if x != nil {
+		return x.IsCloseFriend
+	}
+	return false
+}
+
 type UserFindRoomListReply struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -2128,7 +2136,7 @@ var file_chat_proto_rawDesc = []byte{
 	0x69, 0x73, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a,
 	0x0a, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44,
 	0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68,
-	0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x55,
+	0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22, 0xb7, 0x01, 0x0a, 0x17, 0x55,
 	0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52,
 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64,
 	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16,
@@ -2137,361 +2145,363 @@ var file_chat_proto_rawDesc = []byte{
 	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
 	0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65,
 	0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73,
-	0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22, 0x5b,
-	0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69,
-	0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18,
-	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
-	0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c,
-	0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x0c,
-	0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08,
-	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
-	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65,
-	0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72,
-	0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f,
-	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73,
-	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74,
-	0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74,
-	0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c,
-	0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61,
-	0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
-	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x61,
-	0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f,
-	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69,
-	0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
+	0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x24,
+	0x0a, 0x0d, 0x69, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18,
+	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72,
+	0x69, 0x65, 0x6e, 0x64, 0x22, 0x5b, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,
+	0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a,
+	0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
 	0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78,
 	0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49,
-	0x64, 0x22, 0xa3, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f,
-	0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53,
-	0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x65,
-	0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70,
-	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
-	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61,
-	0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72, 0x65,
-	0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e,
-	0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74,
-	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54,
-	0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54,
-	0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x18, 0x06,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x12, 0x12, 0x0a,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
-	0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
-	0x73, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c,
-	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72,
-	0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a,
-	0x03, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12,
-	0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
-	0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
-	0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x72,
-	0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0e,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64,
-	0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x69, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c,
-	0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x12, 0x1c, 0x0a, 0x09,
-	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f,
-	0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
-	0x63, 0x65, 0x22, 0x47, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68,
-	0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f,
-	0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f,
-	0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0e,
-	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
-	0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
-	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65,
-	0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1a,
-	0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65,
-	0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x6f, 0x0a, 0x23, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73,
-	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61,
-	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
-	0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
-	0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x52,
-	0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
-	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
-	0x22, 0x4c, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
-	0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,
-	0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
-	0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f,
-	0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e,
-	0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78,
-	0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72,
-	0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f,
-	0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22,
-	0xb2, 0x01, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18,
-	0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
-	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
-	0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a,
-	0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67,
-	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03,
-	0x73, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14,
-	0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x70, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
-	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e,
-	0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e,
-	0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16,
-	0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
-	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64,
-	0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,
-	0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
-	0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x55, 0x70, 0x4c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c,
-	0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61,
-	0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69,
-	0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f,
+	0x64, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e,
+	0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c,
+	0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b,
+	0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a,
+	0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69,
+	0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06,
+	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f,
+	0x6f, 0x6d, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46,
+	0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
+	0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12,
+	0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xa3, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74,
+	0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x70,
+	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75,
+	0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a,
+	0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c,
+	0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a,
+	0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x65, 0x6e,
+	0x65, 0x66, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x65, 0x6e, 0x65,
+	0x66, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x08,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61,
+	0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76,
+	0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e,
+	0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e,
+	0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69,
+	0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65,
+	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49,
+	0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12,
+	0x2c, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73,
+	0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73,
+	0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x69, 0x0a,
+	0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
+	0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64,
+	0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,
+	0x64, 0x31, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x18,
+	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32,
+	0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42,
+	0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a,
+	0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f,
 	0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49,
-	0x64, 0x32, 0xcf, 0x1c, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x69, 0x0a, 0x1e, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73,
-	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x18, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
-	0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,
-	0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x44, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
-	0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
-	0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f,
-	0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61,
-	0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x62, 0x0a, 0x14, 0x46,
-	0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
-	0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73,
-	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12,
-	0x69, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
-	0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f,
-	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x61, 0x0a, 0x13, 0x50, 0x61,
-	0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
-	0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
-	0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f,
-	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x58, 0x0a,
-	0x10, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
-	0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65,
-	0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
-	0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69,
-	0x76, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65,
-	0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,
-	0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74,
+	0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04,
+	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
+	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
+	0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65,
+	0x74, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64,
+	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64,
+	0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x6f, 0x0a, 0x23, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
+	0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69,
+	0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c,
+	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f,
+	0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49,
+	0x64, 0x22, 0x23, 0x0a, 0x09, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16,
+	0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
+	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,
+	0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73,
+	0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73,
+	0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74,
 	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
-	0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74,
-	0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
-	0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d,
-	0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d,
-	0x73, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b,
-	0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
-	0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61,
-	0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x44,
-	0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61,
-	0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00,
-	0x12, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12,
-	0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d,
-	0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69,
-	0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12,
-	0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1e,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61,
-	0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x49, 0x44, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
+	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
+	0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
+	0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xb2, 0x01, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16,
+	0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
+	0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+	0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61,
+	0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+	0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61,
+	0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20,
+	0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x70, 0x0a, 0x0c, 0x52, 0x65,
+	0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75,
+	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08,
+	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
+	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64,
+	0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64,
+	0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x04,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x10,
+	0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+	0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x55, 0x70, 0x4c, 0x69,
+	0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a,
+	0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12,
+	0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x32, 0xcf, 0x1c, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74,
+	0x12, 0x69, 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72,
+	0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
+	0x69, 0x70, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x2d, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65,
+	0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x44, 0x0a, 0x0e, 0x43,
+	0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
+	0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x12, 0x62, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50,
+	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41,
+	0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63,
+	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x69, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63,
+	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
+	0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+	0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x12, 0x61, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52,
+	0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
+	0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f,
+	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
+	0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52,
+	0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
+	0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f,
+	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a,
+	0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65,
+	0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x12,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
+	0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69,
+	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69,
+	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61,
+	0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61,
+	0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x65,
+	0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68,
+	0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
+	0x00, 0x12, 0x43, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12,
+	0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c,
+	0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67,
+	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
+	0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+	0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
+	0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+	0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f,
+	0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
+	0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64,
+	0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74,
+	0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
 	0x63, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x45,
-	0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53,
-	0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x74, 0x68,
-	0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63,
-	0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f,
-	0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b,
-	0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72,
-	0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
-	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
-	0x79, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x6c, 0x69,
-	0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61,
-	0x72, 0x61, 0x6d, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10,
-	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70,
-	0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61,
-	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x44, 0x0a,
-	0x0d, 0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+	0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x44, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0b, 0x44,
+	0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63,
+	0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x79, 0x53, 0x63,
+	0x72, 0x69, 0x70, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53,
+	0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x46,
+	0x69, 0x6e, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x21, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4f,
+	0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63,
+	0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x12, 0x46, 0x69,
+	0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70,
+	0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69,
+	0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69,
+	0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x73,
+	0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x22, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c,
+	0x6f, 0x6f, 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x13, 0x50, 0x65, 0x72,
+	0x73, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x42, 0x61, 0x63, 0x6b,
+	0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65,
+	0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+	0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66,
+	0x6f, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57, 0x69, 0x6e,
+	0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74,
+	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1b,
 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63,
-	0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66,
-	0x6f, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
-	0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
-	0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69,
-	0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x16, 0x47, 0x65, 0x74,
-	0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
-	0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47,
-	0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
-	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74,
-	0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c,
-	0x65, 0x63, 0x74, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
-	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
-	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12,
-	0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e,
-	0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
-	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x13, 0x46, 0x69,
-	0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73,
-	0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e,
-	0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
-	0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, 0x73, 0x65,
-	0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f,
-	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
-	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
-	0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
-	0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12,
-	0x4a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74,
-	0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f,
-	0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72,
-	0x6f, 0x66, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x47,
-	0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75,
-	0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65,
-	0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d,
-	0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x72,
-	0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61,
-	0x6d, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x6e, 0x72,
-	0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a,
-	0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x50, 0x65,
-	0x72, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f,
-	0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61,
-	0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
-	0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e,
-	0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,
-	0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
-	0x6c, 0x0a, 0x19, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68,
-	0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
-	0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c,
-	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f,
-	0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x60, 0x0a,
-	0x14, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69,
-	0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63,
-	0x72, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61,
-	0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
-	0x5d, 0x0a, 0x16, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x53, 0x63, 0x72, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70,
-	0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x63,
-	0x0a, 0x19, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
-	0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x2e, 0x61, 0x70,
+	0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
+	0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
+	0x6c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61,
+	0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
+	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a,
+	0x0e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12,
+	0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e,
+	0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a,
+	0x14, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f,
+	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
+	0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00,
+	0x12, 0x5d, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6c, 0x6c,
+	0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
+	0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
+	0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65,
+	0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
+	0x48, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69,
+	0x63, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73,
+	0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x55, 0x73, 0x65,
+	0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e,
+	0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+	0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
+	0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
+	0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x00, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65,
+	0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+	0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e,
+	0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72,
+	0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
+	0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68,
+	0x61, 0x74, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f,
+	0x6f, 0x6d, 0x42, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50,
+	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
+	0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x65,
+	0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f,
+	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
+	0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f,
+	0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67,
+	0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x19, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
+	0x73, 0x74, 0x12, 0x2c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52,
+	0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68,
+	0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x14, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69,
+	0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x61, 0x70,
 	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
-	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75,
-	0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
-	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
-	0x79, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x65,
-	0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16,
-	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
-	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61,
-	0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73,
-	0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
+	0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x63, 0x72, 0x69, 0x70, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x12,
+	0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e,
+	0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x54,
+	0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+	0x74, 0x79, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x19, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55,
+	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+	0x65, 0x12, 0x2c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
+	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69,
+	0x70, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x12, 0x4d, 0x61, 0x6e,
+	0x61, 0x67, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x12,
+	0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x44, 0x50,
+	0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x6b,
+	0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70,
+	0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,
+	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
 	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
-	0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1c,
+	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72,
+	0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
 	0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69,
-	0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52,
-	0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64,
-	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65,
-	0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x42, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49,
-	0x44, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
-	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67,
-	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
-	0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65,
-	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74,
-	0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x50,
-	0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f,
-	0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x3b, 0x63, 0x68,
-	0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67,
+	0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61,
+	0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4c,
+	0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x42, 0x79, 0x50,
+	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72,
+	0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b,
+	0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
+	0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x68, 0x61, 0x74, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75,
+	0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70,
+	0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
+	0x68, 0x61, 0x74, 0x3b, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (

+ 1 - 0
api/chat/chat.proto

@@ -192,6 +192,7 @@ message UserFindRoomListRequest {
   int64 offset = 2;
   string personId = 3;
   bool isWithinSevenDay = 4; // 是否在七日内
+  bool isCloseFriend = 5; // 是否是密友
 }
 
 message UserFindRoomListReply{

+ 202 - 192
api/user/user.pb.go

@@ -2821,7 +2821,7 @@ var file_user_proto_rawDesc = []byte{
 	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x50,
 	0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12,
 	0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0xd1, 0x57, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72,
+	0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0xd1, 0x58, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72,
 	0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
 	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73,
@@ -2917,7 +2917,15 @@ var file_user_proto_rawDesc = []byte{
 	0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
 	0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61,
 	0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61,
-	0x74, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a, 0x12, 0x46, 0x69, 0x6e,
+	0x74, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a, 0x17, 0x46, 0x69, 0x6e,
+	0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d,
+	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65,
+	0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69,
+	0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f,
+	0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x7e, 0x0a, 0x12, 0x46, 0x69, 0x6e,
 	0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
 	0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e,
 	0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52,
@@ -3674,196 +3682,198 @@ var file_user_proto_depIdxs = []int32{
 	49,  // 17: api.user.User.FindOnlineList:input_type -> api.common.ListPage2Request
 	46,  // 18: api.user.User.FindWithinSevenDayRoomList:input_type -> api.common.ListPageRequest
 	46,  // 19: api.user.User.FindOverSevenDayRoomList:input_type -> api.common.ListPageRequest
-	50,  // 20: api.user.User.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
-	51,  // 21: api.user.User.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
-	45,  // 22: api.user.User.GetUserIsLike:input_type -> api.common.PersonParam
-	52,  // 23: api.user.User.FindMemeByType:input_type -> api.common.MemeRequest
-	53,  // 24: api.user.User.FindChatTopic:input_type -> api.common.FindChatTopicRequest
-	54,  // 25: api.user.User.RandomMeme:input_type -> api.common.RandomNum
-	55,  // 26: api.user.User.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
-	40,  // 27: api.user.User.FindMemeTitle:input_type -> google.protobuf.Empty
-	45,  // 28: api.user.User.UserGetChatCard:input_type -> api.common.PersonParam
-	40,  // 29: api.user.User.FindChatTopicTitle:input_type -> google.protobuf.Empty
-	45,  // 30: api.user.User.UserLike:input_type -> api.common.PersonParam
-	45,  // 31: api.user.User.UserUnLike:input_type -> api.common.PersonParam
-	56,  // 32: api.user.User.Report:input_type -> api.common.ReportChatRequest
-	40,  // 33: api.user.User.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
-	57,  // 34: api.user.User.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
-	21,  // 35: api.user.User.CreateScrip:input_type -> api.user.CreateScripRequest
-	20,  // 36: api.user.User.DeleteScrip:input_type -> api.user.DeleteScripRequest
-	19,  // 37: api.user.User.FindMyScrip:input_type -> api.user.UserFindScripRequest
-	58,  // 38: api.user.User.FindOtherScrip:input_type -> api.common.FindScripRequest
-	19,  // 39: api.user.User.FindRecommendScrip:input_type -> api.user.UserFindScripRequest
-	18,  // 40: api.user.User.PersonLookScrip:input_type -> api.user.PersonLookScripRequest
-	40,  // 41: api.user.User.PersonClickLookBack:input_type -> google.protobuf.Empty
-	17,  // 42: api.user.User.PersonReplyScrip:input_type -> api.user.ReplyScripRequest
-	59,  // 43: api.user.User.UserDeleteChat:input_type -> api.common.RoomIDRequest
-	40,  // 44: api.user.User.GetUserAllUnreadNum:input_type -> google.protobuf.Empty
-	45,  // 45: api.user.User.GetUserRoomByPerson:input_type -> api.common.PersonParam
-	46,  // 46: api.user.User.FindLikeList:input_type -> api.common.ListPageRequest
-	46,  // 47: api.user.User.FindLikedList:input_type -> api.common.ListPageRequest
-	59,  // 48: api.user.User.UserSetBlackChat:input_type -> api.common.RoomIDRequest
-	60,  // 49: api.user.User.CheckUserPartnerIsRelationship:input_type -> api.common.PartnerIDParam
-	31,  // 50: api.user.User.GetPartnerCircleInfo:input_type -> api.user.KeyRequest
-	40,  // 51: api.user.User.GetLookAndLikeStatisticsMessage:input_type -> google.protobuf.Empty
-	40,  // 52: api.user.User.GetUserLookNum:input_type -> google.protobuf.Empty
-	40,  // 53: api.user.User.UserFinishInformation:input_type -> google.protobuf.Empty
-	40,  // 54: api.user.User.UserInformationStatus:input_type -> google.protobuf.Empty
-	40,  // 55: api.user.User.UserGetInformationAward:input_type -> google.protobuf.Empty
-	45,  // 56: api.user.User.UnlockLookRecord:input_type -> api.common.PersonParam
-	23,  // 57: api.user.User.UserRecharge:input_type -> api.user.UserRechargeRequest
-	40,  // 58: api.user.User.FindRechargeList:input_type -> google.protobuf.Empty
-	36,  // 59: api.user.User.FindPayList:input_type -> api.user.FindPayOrderListRequest
-	40,  // 60: api.user.User.FindRecommendPersonList:input_type -> google.protobuf.Empty
-	40,  // 61: api.user.User.FindMatchingAvatarAndNum:input_type -> google.protobuf.Empty
-	40,  // 62: api.user.User.GetWindowInfo:input_type -> google.protobuf.Empty
-	40,  // 63: api.user.User.GetUserFreeNum:input_type -> google.protobuf.Empty
-	48,  // 64: api.user.User.GetRandomMatching:input_type -> api.common.SexReq
-	59,  // 65: api.user.User.UnlockVoice:input_type -> api.common.RoomIDRequest
-	59,  // 66: api.user.User.UnlockPicture:input_type -> api.common.RoomIDRequest
-	40,  // 67: api.user.User.UpdateUserIsRegister:input_type -> google.protobuf.Empty
-	44,  // 68: api.user.User.CreateUserPartnerRoom:input_type -> api.common.CreateChatRoomParam
-	4,   // 69: api.user.User.SendMessage:input_type -> api.user.SendMessageRequest
-	61,  // 70: api.user.User.ManagerFindUserList:input_type -> api.common.ManagerFindPersonListRequest
-	61,  // 71: api.user.User.ManagerFindInformationUserList:input_type -> api.common.ManagerFindPersonListRequest
-	5,   // 72: api.user.User.ManagerFindIsCheckQualityUserList:input_type -> api.user.ManagerFindIsCheckQualityUserListRequest
-	61,  // 73: api.user.User.ManagerFindHighQualityUserList:input_type -> api.common.ManagerFindPersonListRequest
-	7,   // 74: api.user.User.ManagerMarkHighQualityUser:input_type -> api.user.ManagerMarkHighQualityUserRequest
-	62,  // 75: api.user.User.ManagerMarkHighQualityUserOne:input_type -> api.common.PersonIDParam
-	63,  // 76: api.user.User.ManagerSetUserBlack:input_type -> api.common.PersonIDList
-	62,  // 77: api.user.User.ManagerDeleteHighQualityUser:input_type -> api.common.PersonIDParam
-	64,  // 78: api.user.User.ManagerUpdateUserVoice:input_type -> api.common.ManagerUpdatePersonVoiceRequest
-	65,  // 79: api.user.User.ManagerUpdateUserPictures:input_type -> api.common.ManagerUpdatePersonPicturesRequest
-	66,  // 80: api.user.User.ManagerUpdateUserSignature:input_type -> api.common.ManagerUpdatePersonSignatureRequest
-	67,  // 81: api.user.User.ManagerUpdateUserAvatar:input_type -> api.common.ManagerUpdatePersonAvatarRequest
-	68,  // 82: api.user.User.ManagerUpdateUserName:input_type -> api.common.ManagerUpdatePersonNameRequest
-	69,  // 83: api.user.User.ManagerUpdateUserWeight:input_type -> api.common.ManagerUpdatePersonWeightRequest
-	70,  // 84: api.user.User.ManagerUpdateUserIsBlack:input_type -> api.common.ManagerUpdatePersonIsBlackRequest
-	6,   // 85: api.user.User.ManagerUpdateUserCredit:input_type -> api.user.ManagerUpdateUserCreditRequest
-	62,  // 86: api.user.User.GetUserDBMsg:input_type -> api.common.PersonIDParam
-	63,  // 87: api.user.User.FindUserDBList:input_type -> api.common.PersonIDList
-	71,  // 88: api.user.User.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
-	72,  // 89: api.user.User.FindRecommendUserDBList:input_type -> api.common.FindRecommendRequest
-	62,  // 90: api.user.User.UpdateUserLastLoginTime:input_type -> api.common.PersonIDParam
-	73,  // 91: api.user.User.GetUserDBMsgByAccountID:input_type -> api.common.IDParam
-	9,   // 92: api.user.User.FindRecommendHighQualityUserDBList:input_type -> api.user.FindRecommendHighQualityUserRequest
-	62,  // 93: api.user.User.GetUserDBMsgFromWebsocket:input_type -> api.common.PersonIDParam
-	45,  // 94: api.user.User.SendMsgReduceCredit:input_type -> api.common.PersonParam
-	45,  // 95: api.user.User.LookBackScripReduceCredit:input_type -> api.common.PersonParam
-	45,  // 96: api.user.User.CreateScripReduceCredit:input_type -> api.common.PersonParam
-	45,  // 97: api.user.User.ReplyScripReduceCredit:input_type -> api.common.PersonParam
-	45,  // 98: api.user.User.MatchingCredit:input_type -> api.common.PersonParam
-	14,  // 99: api.user.User.SendNewMessageUnreadReminder:input_type -> api.user.SendNewMessageUnreadReminderRequest
-	62,  // 100: api.user.User.SendNewVisitorTemplateReminder:input_type -> api.common.PersonIDParam
-	13,  // 101: api.user.User.UpdateUserMatchedNumAndReturnUserMsg:input_type -> api.user.UpdateUserMatchedNumRequest
-	8,   // 102: api.user.User.GetRecommendUserDB:input_type -> api.user.GetRecommendUserDBRequest
-	3,   // 103: api.user.User.ReportUserBlack:input_type -> api.user.ReportUserBlackRequest
-	2,   // 104: api.user.User.AddUserCredit:input_type -> api.user.AddUserCreditRequest
-	62,  // 105: api.user.User.UserInformationStatusDB:input_type -> api.common.PersonIDParam
-	0,   // 106: api.user.User.UserGetInformationAwardByActivity:input_type -> api.user.UserGetInformationAwardByActivityRequest
-	30,  // 107: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
-	40,  // 108: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
-	40,  // 109: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
-	40,  // 110: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
-	74,  // 111: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
-	27,  // 112: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
-	75,  // 113: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
-	76,  // 114: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
-	77,  // 115: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
-	78,  // 116: api.user.User.WxConf:output_type -> api.common.WxConfResponse
-	79,  // 117: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
-	80,  // 118: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
-	28,  // 119: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	28,  // 120: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
-	81,  // 121: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
-	82,  // 122: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
-	83,  // 123: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
-	84,  // 124: api.user.User.FindMemeByType:output_type -> api.common.MemeList
-	85,  // 125: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
-	86,  // 126: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
-	86,  // 127: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
-	87,  // 128: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
-	88,  // 129: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
-	87,  // 130: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
-	40,  // 131: api.user.User.UserLike:output_type -> google.protobuf.Empty
-	40,  // 132: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
-	40,  // 133: api.user.User.Report:output_type -> google.protobuf.Empty
-	89,  // 134: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
-	40,  // 135: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
-	90,  // 136: api.user.User.CreateScrip:output_type -> api.common.ScripID
-	40,  // 137: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
-	91,  // 138: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
-	91,  // 139: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
-	91,  // 140: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
-	40,  // 141: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
-	92,  // 142: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
-	93,  // 143: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
-	40,  // 144: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
-	94,  // 145: api.user.User.GetUserAllUnreadNum:output_type -> api.chat.UnreadNumReply
-	95,  // 146: api.user.User.GetUserRoomByPerson:output_type -> api.chat.UserRoomInfo
-	77,  // 147: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
-	77,  // 148: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
-	40,  // 149: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
-	96,  // 150: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
-	97,  // 151: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
-	98,  // 152: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
-	99,  // 153: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
-	40,  // 154: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
-	26,  // 155: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
-	40,  // 156: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
-	40,  // 157: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
-	33,  // 158: api.user.User.UserRecharge:output_type -> api.user.PayInfo
-	24,  // 159: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
-	35,  // 160: api.user.User.FindPayList:output_type -> api.user.PayOrderList
-	80,  // 161: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
-	22,  // 162: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
-	100, // 163: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
-	16,  // 164: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
-	101, // 165: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
-	40,  // 166: api.user.User.UnlockVoice:output_type -> google.protobuf.Empty
-	40,  // 167: api.user.User.UnlockPicture:output_type -> google.protobuf.Empty
-	40,  // 168: api.user.User.UpdateUserIsRegister:output_type -> google.protobuf.Empty
-	74,  // 169: api.user.User.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
-	102, // 170: api.user.User.SendMessage:output_type -> api.common.SendMessageReply
-	103, // 171: api.user.User.ManagerFindUserList:output_type -> api.common.ManagerFindPersonListReply
-	103, // 172: api.user.User.ManagerFindInformationUserList:output_type -> api.common.ManagerFindPersonListReply
-	104, // 173: api.user.User.ManagerFindIsCheckQualityUserList:output_type -> api.common.ManagerFindPersonListReply2
-	103, // 174: api.user.User.ManagerFindHighQualityUserList:output_type -> api.common.ManagerFindPersonListReply
-	40,  // 175: api.user.User.ManagerMarkHighQualityUser:output_type -> google.protobuf.Empty
-	40,  // 176: api.user.User.ManagerMarkHighQualityUserOne:output_type -> google.protobuf.Empty
-	40,  // 177: api.user.User.ManagerSetUserBlack:output_type -> google.protobuf.Empty
-	40,  // 178: api.user.User.ManagerDeleteHighQualityUser:output_type -> google.protobuf.Empty
-	40,  // 179: api.user.User.ManagerUpdateUserVoice:output_type -> google.protobuf.Empty
-	40,  // 180: api.user.User.ManagerUpdateUserPictures:output_type -> google.protobuf.Empty
-	40,  // 181: api.user.User.ManagerUpdateUserSignature:output_type -> google.protobuf.Empty
-	40,  // 182: api.user.User.ManagerUpdateUserAvatar:output_type -> google.protobuf.Empty
-	40,  // 183: api.user.User.ManagerUpdateUserName:output_type -> google.protobuf.Empty
-	40,  // 184: api.user.User.ManagerUpdateUserWeight:output_type -> google.protobuf.Empty
-	40,  // 185: api.user.User.ManagerUpdateUserIsBlack:output_type -> google.protobuf.Empty
-	40,  // 186: api.user.User.ManagerUpdateUserCredit:output_type -> google.protobuf.Empty
-	105, // 187: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
-	106, // 188: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
-	40,  // 189: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
-	106, // 190: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
-	40,  // 191: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
-	105, // 192: api.user.User.GetUserDBMsgByAccountID:output_type -> api.common.PersonMsg
-	10,  // 193: api.user.User.FindRecommendHighQualityUserDBList:output_type -> api.user.FindRecommendHighQualityUserReply
-	12,  // 194: api.user.User.GetUserDBMsgFromWebsocket:output_type -> api.user.GetUserDBMsgFromWebsocketReply
-	40,  // 195: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
-	40,  // 196: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
-	40,  // 197: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
-	40,  // 198: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
-	40,  // 199: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
-	40,  // 200: api.user.User.SendNewMessageUnreadReminder:output_type -> google.protobuf.Empty
-	40,  // 201: api.user.User.SendNewVisitorTemplateReminder:output_type -> google.protobuf.Empty
-	11,  // 202: api.user.User.UpdateUserMatchedNumAndReturnUserMsg:output_type -> api.user.UpdateUserMatchedNumAndReturnUserMsgReply
-	107, // 203: api.user.User.GetRecommendUserDB:output_type -> api.common.PersonDB
-	40,  // 204: api.user.User.ReportUserBlack:output_type -> google.protobuf.Empty
-	40,  // 205: api.user.User.AddUserCredit:output_type -> google.protobuf.Empty
-	26,  // 206: api.user.User.UserInformationStatusDB:output_type -> api.user.InformationStatus
-	1,   // 207: api.user.User.UserGetInformationAwardByActivity:output_type -> api.user.UserGetInformationAwardByActivityReply
-	107, // [107:208] is the sub-list for method output_type
-	6,   // [6:107] is the sub-list for method input_type
+	46,  // 20: api.user.User.FindCloseFriendRoomList:input_type -> api.common.ListPageRequest
+	50,  // 21: api.user.User.FindChatRecordList:input_type -> api.common.FindChatRecordListRequest
+	51,  // 22: api.user.User.FindChatRoomMsg:input_type -> api.common.FindChatRoomMsgRequest
+	45,  // 23: api.user.User.GetUserIsLike:input_type -> api.common.PersonParam
+	52,  // 24: api.user.User.FindMemeByType:input_type -> api.common.MemeRequest
+	53,  // 25: api.user.User.FindChatTopic:input_type -> api.common.FindChatTopicRequest
+	54,  // 26: api.user.User.RandomMeme:input_type -> api.common.RandomNum
+	55,  // 27: api.user.User.RandomSwiftMessage:input_type -> api.common.RandomNumAndSex
+	40,  // 28: api.user.User.FindMemeTitle:input_type -> google.protobuf.Empty
+	45,  // 29: api.user.User.UserGetChatCard:input_type -> api.common.PersonParam
+	40,  // 30: api.user.User.FindChatTopicTitle:input_type -> google.protobuf.Empty
+	45,  // 31: api.user.User.UserLike:input_type -> api.common.PersonParam
+	45,  // 32: api.user.User.UserUnLike:input_type -> api.common.PersonParam
+	56,  // 33: api.user.User.Report:input_type -> api.common.ReportChatRequest
+	40,  // 34: api.user.User.FindOverSevenDayAvatar:input_type -> google.protobuf.Empty
+	57,  // 35: api.user.User.UpdateLastScripID:input_type -> api.common.UpdateLastScripIDRequest
+	21,  // 36: api.user.User.CreateScrip:input_type -> api.user.CreateScripRequest
+	20,  // 37: api.user.User.DeleteScrip:input_type -> api.user.DeleteScripRequest
+	19,  // 38: api.user.User.FindMyScrip:input_type -> api.user.UserFindScripRequest
+	58,  // 39: api.user.User.FindOtherScrip:input_type -> api.common.FindScripRequest
+	19,  // 40: api.user.User.FindRecommendScrip:input_type -> api.user.UserFindScripRequest
+	18,  // 41: api.user.User.PersonLookScrip:input_type -> api.user.PersonLookScripRequest
+	40,  // 42: api.user.User.PersonClickLookBack:input_type -> google.protobuf.Empty
+	17,  // 43: api.user.User.PersonReplyScrip:input_type -> api.user.ReplyScripRequest
+	59,  // 44: api.user.User.UserDeleteChat:input_type -> api.common.RoomIDRequest
+	40,  // 45: api.user.User.GetUserAllUnreadNum:input_type -> google.protobuf.Empty
+	45,  // 46: api.user.User.GetUserRoomByPerson:input_type -> api.common.PersonParam
+	46,  // 47: api.user.User.FindLikeList:input_type -> api.common.ListPageRequest
+	46,  // 48: api.user.User.FindLikedList:input_type -> api.common.ListPageRequest
+	59,  // 49: api.user.User.UserSetBlackChat:input_type -> api.common.RoomIDRequest
+	60,  // 50: api.user.User.CheckUserPartnerIsRelationship:input_type -> api.common.PartnerIDParam
+	31,  // 51: api.user.User.GetPartnerCircleInfo:input_type -> api.user.KeyRequest
+	40,  // 52: api.user.User.GetLookAndLikeStatisticsMessage:input_type -> google.protobuf.Empty
+	40,  // 53: api.user.User.GetUserLookNum:input_type -> google.protobuf.Empty
+	40,  // 54: api.user.User.UserFinishInformation:input_type -> google.protobuf.Empty
+	40,  // 55: api.user.User.UserInformationStatus:input_type -> google.protobuf.Empty
+	40,  // 56: api.user.User.UserGetInformationAward:input_type -> google.protobuf.Empty
+	45,  // 57: api.user.User.UnlockLookRecord:input_type -> api.common.PersonParam
+	23,  // 58: api.user.User.UserRecharge:input_type -> api.user.UserRechargeRequest
+	40,  // 59: api.user.User.FindRechargeList:input_type -> google.protobuf.Empty
+	36,  // 60: api.user.User.FindPayList:input_type -> api.user.FindPayOrderListRequest
+	40,  // 61: api.user.User.FindRecommendPersonList:input_type -> google.protobuf.Empty
+	40,  // 62: api.user.User.FindMatchingAvatarAndNum:input_type -> google.protobuf.Empty
+	40,  // 63: api.user.User.GetWindowInfo:input_type -> google.protobuf.Empty
+	40,  // 64: api.user.User.GetUserFreeNum:input_type -> google.protobuf.Empty
+	48,  // 65: api.user.User.GetRandomMatching:input_type -> api.common.SexReq
+	59,  // 66: api.user.User.UnlockVoice:input_type -> api.common.RoomIDRequest
+	59,  // 67: api.user.User.UnlockPicture:input_type -> api.common.RoomIDRequest
+	40,  // 68: api.user.User.UpdateUserIsRegister:input_type -> google.protobuf.Empty
+	44,  // 69: api.user.User.CreateUserPartnerRoom:input_type -> api.common.CreateChatRoomParam
+	4,   // 70: api.user.User.SendMessage:input_type -> api.user.SendMessageRequest
+	61,  // 71: api.user.User.ManagerFindUserList:input_type -> api.common.ManagerFindPersonListRequest
+	61,  // 72: api.user.User.ManagerFindInformationUserList:input_type -> api.common.ManagerFindPersonListRequest
+	5,   // 73: api.user.User.ManagerFindIsCheckQualityUserList:input_type -> api.user.ManagerFindIsCheckQualityUserListRequest
+	61,  // 74: api.user.User.ManagerFindHighQualityUserList:input_type -> api.common.ManagerFindPersonListRequest
+	7,   // 75: api.user.User.ManagerMarkHighQualityUser:input_type -> api.user.ManagerMarkHighQualityUserRequest
+	62,  // 76: api.user.User.ManagerMarkHighQualityUserOne:input_type -> api.common.PersonIDParam
+	63,  // 77: api.user.User.ManagerSetUserBlack:input_type -> api.common.PersonIDList
+	62,  // 78: api.user.User.ManagerDeleteHighQualityUser:input_type -> api.common.PersonIDParam
+	64,  // 79: api.user.User.ManagerUpdateUserVoice:input_type -> api.common.ManagerUpdatePersonVoiceRequest
+	65,  // 80: api.user.User.ManagerUpdateUserPictures:input_type -> api.common.ManagerUpdatePersonPicturesRequest
+	66,  // 81: api.user.User.ManagerUpdateUserSignature:input_type -> api.common.ManagerUpdatePersonSignatureRequest
+	67,  // 82: api.user.User.ManagerUpdateUserAvatar:input_type -> api.common.ManagerUpdatePersonAvatarRequest
+	68,  // 83: api.user.User.ManagerUpdateUserName:input_type -> api.common.ManagerUpdatePersonNameRequest
+	69,  // 84: api.user.User.ManagerUpdateUserWeight:input_type -> api.common.ManagerUpdatePersonWeightRequest
+	70,  // 85: api.user.User.ManagerUpdateUserIsBlack:input_type -> api.common.ManagerUpdatePersonIsBlackRequest
+	6,   // 86: api.user.User.ManagerUpdateUserCredit:input_type -> api.user.ManagerUpdateUserCreditRequest
+	62,  // 87: api.user.User.GetUserDBMsg:input_type -> api.common.PersonIDParam
+	63,  // 88: api.user.User.FindUserDBList:input_type -> api.common.PersonIDList
+	71,  // 89: api.user.User.UpdateLastScripIDDB:input_type -> api.common.UpdateLastScripIDDBRequest
+	72,  // 90: api.user.User.FindRecommendUserDBList:input_type -> api.common.FindRecommendRequest
+	62,  // 91: api.user.User.UpdateUserLastLoginTime:input_type -> api.common.PersonIDParam
+	73,  // 92: api.user.User.GetUserDBMsgByAccountID:input_type -> api.common.IDParam
+	9,   // 93: api.user.User.FindRecommendHighQualityUserDBList:input_type -> api.user.FindRecommendHighQualityUserRequest
+	62,  // 94: api.user.User.GetUserDBMsgFromWebsocket:input_type -> api.common.PersonIDParam
+	45,  // 95: api.user.User.SendMsgReduceCredit:input_type -> api.common.PersonParam
+	45,  // 96: api.user.User.LookBackScripReduceCredit:input_type -> api.common.PersonParam
+	45,  // 97: api.user.User.CreateScripReduceCredit:input_type -> api.common.PersonParam
+	45,  // 98: api.user.User.ReplyScripReduceCredit:input_type -> api.common.PersonParam
+	45,  // 99: api.user.User.MatchingCredit:input_type -> api.common.PersonParam
+	14,  // 100: api.user.User.SendNewMessageUnreadReminder:input_type -> api.user.SendNewMessageUnreadReminderRequest
+	62,  // 101: api.user.User.SendNewVisitorTemplateReminder:input_type -> api.common.PersonIDParam
+	13,  // 102: api.user.User.UpdateUserMatchedNumAndReturnUserMsg:input_type -> api.user.UpdateUserMatchedNumRequest
+	8,   // 103: api.user.User.GetRecommendUserDB:input_type -> api.user.GetRecommendUserDBRequest
+	3,   // 104: api.user.User.ReportUserBlack:input_type -> api.user.ReportUserBlackRequest
+	2,   // 105: api.user.User.AddUserCredit:input_type -> api.user.AddUserCreditRequest
+	62,  // 106: api.user.User.UserInformationStatusDB:input_type -> api.common.PersonIDParam
+	0,   // 107: api.user.User.UserGetInformationAwardByActivity:input_type -> api.user.UserGetInformationAwardByActivityRequest
+	30,  // 108: api.user.User.GetUserInfo:output_type -> api.user.UserInfo
+	40,  // 109: api.user.User.SendPhoneCode:output_type -> google.protobuf.Empty
+	40,  // 110: api.user.User.CheckPhoneCode:output_type -> google.protobuf.Empty
+	40,  // 111: api.user.User.UpdateUserInformation:output_type -> google.protobuf.Empty
+	74,  // 112: api.user.User.CreateUserPersonRoom:output_type -> api.chat.RoomReply
+	27,  // 113: api.user.User.GetUserBalance:output_type -> api.user.UserBalance
+	75,  // 114: api.user.User.UserGetHomeInfo:output_type -> api.common.HomeInfo
+	76,  // 115: api.user.User.UserGetPersonLikedAndLooked:output_type -> api.common.LookedAndLikedNum
+	77,  // 116: api.user.User.FindLookList:output_type -> api.statistics.LookAndLikeListReply
+	78,  // 117: api.user.User.WxConf:output_type -> api.common.WxConfResponse
+	79,  // 118: api.user.User.FindTagListBySex:output_type -> api.common.TagListReply
+	80,  // 119: api.user.User.FindOnlineList:output_type -> api.common.RecommendPersonListReply
+	28,  // 120: api.user.User.FindWithinSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	28,  // 121: api.user.User.FindOverSevenDayRoomList:output_type -> api.user.UserFindChatListReply
+	28,  // 122: api.user.User.FindCloseFriendRoomList:output_type -> api.user.UserFindChatListReply
+	81,  // 123: api.user.User.FindChatRecordList:output_type -> api.common.ChatRecordListReply
+	82,  // 124: api.user.User.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg
+	83,  // 125: api.user.User.GetUserIsLike:output_type -> api.common.IsLike
+	84,  // 126: api.user.User.FindMemeByType:output_type -> api.common.MemeList
+	85,  // 127: api.user.User.FindChatTopic:output_type -> api.common.ChatTopicList
+	86,  // 128: api.user.User.RandomMeme:output_type -> api.common.CommonTextList
+	86,  // 129: api.user.User.RandomSwiftMessage:output_type -> api.common.CommonTextList
+	87,  // 130: api.user.User.FindMemeTitle:output_type -> api.common.MemeTitleList
+	88,  // 131: api.user.User.UserGetChatCard:output_type -> api.common.ChatCardInfo
+	87,  // 132: api.user.User.FindChatTopicTitle:output_type -> api.common.MemeTitleList
+	40,  // 133: api.user.User.UserLike:output_type -> google.protobuf.Empty
+	40,  // 134: api.user.User.UserUnLike:output_type -> google.protobuf.Empty
+	40,  // 135: api.user.User.Report:output_type -> google.protobuf.Empty
+	89,  // 136: api.user.User.FindOverSevenDayAvatar:output_type -> api.common.FindOverSevenDayAvatarReply
+	40,  // 137: api.user.User.UpdateLastScripID:output_type -> google.protobuf.Empty
+	90,  // 138: api.user.User.CreateScrip:output_type -> api.common.ScripID
+	40,  // 139: api.user.User.DeleteScrip:output_type -> google.protobuf.Empty
+	91,  // 140: api.user.User.FindMyScrip:output_type -> api.common.ScripReply
+	91,  // 141: api.user.User.FindOtherScrip:output_type -> api.common.ScripReply
+	91,  // 142: api.user.User.FindRecommendScrip:output_type -> api.common.ScripReply
+	40,  // 143: api.user.User.PersonLookScrip:output_type -> google.protobuf.Empty
+	92,  // 144: api.user.User.PersonClickLookBack:output_type -> api.common.ScripInfo
+	93,  // 145: api.user.User.PersonReplyScrip:output_type -> api.common.ChatRecordInfo
+	40,  // 146: api.user.User.UserDeleteChat:output_type -> google.protobuf.Empty
+	94,  // 147: api.user.User.GetUserAllUnreadNum:output_type -> api.chat.UnreadNumReply
+	95,  // 148: api.user.User.GetUserRoomByPerson:output_type -> api.chat.UserRoomInfo
+	77,  // 149: api.user.User.FindLikeList:output_type -> api.statistics.LookAndLikeListReply
+	77,  // 150: api.user.User.FindLikedList:output_type -> api.statistics.LookAndLikeListReply
+	40,  // 151: api.user.User.UserSetBlackChat:output_type -> google.protobuf.Empty
+	96,  // 152: api.user.User.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply
+	97,  // 153: api.user.User.GetPartnerCircleInfo:output_type -> api.common.AddFriendMessageInfo
+	98,  // 154: api.user.User.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply
+	99,  // 155: api.user.User.GetUserLookNum:output_type -> api.statistics.LookMessageReply
+	40,  // 156: api.user.User.UserFinishInformation:output_type -> google.protobuf.Empty
+	26,  // 157: api.user.User.UserInformationStatus:output_type -> api.user.InformationStatus
+	40,  // 158: api.user.User.UserGetInformationAward:output_type -> google.protobuf.Empty
+	40,  // 159: api.user.User.UnlockLookRecord:output_type -> google.protobuf.Empty
+	33,  // 160: api.user.User.UserRecharge:output_type -> api.user.PayInfo
+	24,  // 161: api.user.User.FindRechargeList:output_type -> api.user.RechargeList
+	35,  // 162: api.user.User.FindPayList:output_type -> api.user.PayOrderList
+	80,  // 163: api.user.User.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply
+	22,  // 164: api.user.User.FindMatchingAvatarAndNum:output_type -> api.user.FindMatchingAvatarAndNumReply
+	100, // 165: api.user.User.GetWindowInfo:output_type -> api.chat.WindowInfo
+	16,  // 166: api.user.User.GetUserFreeNum:output_type -> api.user.UserFreeNum
+	101, // 167: api.user.User.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply
+	40,  // 168: api.user.User.UnlockVoice:output_type -> google.protobuf.Empty
+	40,  // 169: api.user.User.UnlockPicture:output_type -> google.protobuf.Empty
+	40,  // 170: api.user.User.UpdateUserIsRegister:output_type -> google.protobuf.Empty
+	74,  // 171: api.user.User.CreateUserPartnerRoom:output_type -> api.chat.RoomReply
+	102, // 172: api.user.User.SendMessage:output_type -> api.common.SendMessageReply
+	103, // 173: api.user.User.ManagerFindUserList:output_type -> api.common.ManagerFindPersonListReply
+	103, // 174: api.user.User.ManagerFindInformationUserList:output_type -> api.common.ManagerFindPersonListReply
+	104, // 175: api.user.User.ManagerFindIsCheckQualityUserList:output_type -> api.common.ManagerFindPersonListReply2
+	103, // 176: api.user.User.ManagerFindHighQualityUserList:output_type -> api.common.ManagerFindPersonListReply
+	40,  // 177: api.user.User.ManagerMarkHighQualityUser:output_type -> google.protobuf.Empty
+	40,  // 178: api.user.User.ManagerMarkHighQualityUserOne:output_type -> google.protobuf.Empty
+	40,  // 179: api.user.User.ManagerSetUserBlack:output_type -> google.protobuf.Empty
+	40,  // 180: api.user.User.ManagerDeleteHighQualityUser:output_type -> google.protobuf.Empty
+	40,  // 181: api.user.User.ManagerUpdateUserVoice:output_type -> google.protobuf.Empty
+	40,  // 182: api.user.User.ManagerUpdateUserPictures:output_type -> google.protobuf.Empty
+	40,  // 183: api.user.User.ManagerUpdateUserSignature:output_type -> google.protobuf.Empty
+	40,  // 184: api.user.User.ManagerUpdateUserAvatar:output_type -> google.protobuf.Empty
+	40,  // 185: api.user.User.ManagerUpdateUserName:output_type -> google.protobuf.Empty
+	40,  // 186: api.user.User.ManagerUpdateUserWeight:output_type -> google.protobuf.Empty
+	40,  // 187: api.user.User.ManagerUpdateUserIsBlack:output_type -> google.protobuf.Empty
+	40,  // 188: api.user.User.ManagerUpdateUserCredit:output_type -> google.protobuf.Empty
+	105, // 189: api.user.User.GetUserDBMsg:output_type -> api.common.PersonMsg
+	106, // 190: api.user.User.FindUserDBList:output_type -> api.common.PersonDBReply
+	40,  // 191: api.user.User.UpdateLastScripIDDB:output_type -> google.protobuf.Empty
+	106, // 192: api.user.User.FindRecommendUserDBList:output_type -> api.common.PersonDBReply
+	40,  // 193: api.user.User.UpdateUserLastLoginTime:output_type -> google.protobuf.Empty
+	105, // 194: api.user.User.GetUserDBMsgByAccountID:output_type -> api.common.PersonMsg
+	10,  // 195: api.user.User.FindRecommendHighQualityUserDBList:output_type -> api.user.FindRecommendHighQualityUserReply
+	12,  // 196: api.user.User.GetUserDBMsgFromWebsocket:output_type -> api.user.GetUserDBMsgFromWebsocketReply
+	40,  // 197: api.user.User.SendMsgReduceCredit:output_type -> google.protobuf.Empty
+	40,  // 198: api.user.User.LookBackScripReduceCredit:output_type -> google.protobuf.Empty
+	40,  // 199: api.user.User.CreateScripReduceCredit:output_type -> google.protobuf.Empty
+	40,  // 200: api.user.User.ReplyScripReduceCredit:output_type -> google.protobuf.Empty
+	40,  // 201: api.user.User.MatchingCredit:output_type -> google.protobuf.Empty
+	40,  // 202: api.user.User.SendNewMessageUnreadReminder:output_type -> google.protobuf.Empty
+	40,  // 203: api.user.User.SendNewVisitorTemplateReminder:output_type -> google.protobuf.Empty
+	11,  // 204: api.user.User.UpdateUserMatchedNumAndReturnUserMsg:output_type -> api.user.UpdateUserMatchedNumAndReturnUserMsgReply
+	107, // 205: api.user.User.GetRecommendUserDB:output_type -> api.common.PersonDB
+	40,  // 206: api.user.User.ReportUserBlack:output_type -> google.protobuf.Empty
+	40,  // 207: api.user.User.AddUserCredit:output_type -> google.protobuf.Empty
+	26,  // 208: api.user.User.UserInformationStatusDB:output_type -> api.user.InformationStatus
+	1,   // 209: api.user.User.UserGetInformationAwardByActivity:output_type -> api.user.UserGetInformationAwardByActivityReply
+	108, // [108:210] is the sub-list for method output_type
+	6,   // [6:108] is the sub-list for method input_type
 	6,   // [6:6] is the sub-list for extension type_name
 	6,   // [6:6] is the sub-list for extension extendee
 	0,   // [0:6] is the sub-list for field type_name

+ 7 - 0
api/user/user.proto

@@ -113,6 +113,13 @@ service User {
       body:"*"
     };
   };
+  // 密友列表
+  rpc FindCloseFriendRoomList (common.ListPageRequest) returns (UserFindChatListReply){
+    option (google.api.http) = {
+      post: "/api/user/list/chat/friend",
+      body:"*"
+    };
+  };
   // 15、用户查询聊天记录
   rpc FindChatRecordList (common.FindChatRecordListRequest) returns (common.ChatRecordListReply){
     option (google.api.http) = {

+ 38 - 0
api/user/user_grpc.pb.go

@@ -50,6 +50,8 @@ type UserClient interface {
 	FindWithinSevenDayRoomList(ctx context.Context, in *common.ListPageRequest, opts ...grpc.CallOption) (*UserFindChatListReply, error)
 	// 14、七天外列表(更早的聊天记录)
 	FindOverSevenDayRoomList(ctx context.Context, in *common.ListPageRequest, opts ...grpc.CallOption) (*UserFindChatListReply, error)
+	// 密友列表
+	FindCloseFriendRoomList(ctx context.Context, in *common.ListPageRequest, opts ...grpc.CallOption) (*UserFindChatListReply, error)
 	// 15、用户查询聊天记录
 	FindChatRecordList(ctx context.Context, in *common.FindChatRecordListRequest, opts ...grpc.CallOption) (*common.ChatRecordListReply, error)
 	// 16、用户查询房间信息
@@ -365,6 +367,15 @@ func (c *userClient) FindOverSevenDayRoomList(ctx context.Context, in *common.Li
 	return out, nil
 }
 
+func (c *userClient) FindCloseFriendRoomList(ctx context.Context, in *common.ListPageRequest, opts ...grpc.CallOption) (*UserFindChatListReply, error) {
+	out := new(UserFindChatListReply)
+	err := c.cc.Invoke(ctx, "/api.user.User/FindCloseFriendRoomList", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *userClient) FindChatRecordList(ctx context.Context, in *common.FindChatRecordListRequest, opts ...grpc.CallOption) (*common.ChatRecordListReply, error) {
 	out := new(common.ChatRecordListReply)
 	err := c.cc.Invoke(ctx, "/api.user.User/FindChatRecordList", in, out, opts...)
@@ -1180,6 +1191,8 @@ type UserServer interface {
 	FindWithinSevenDayRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
 	// 14、七天外列表(更早的聊天记录)
 	FindOverSevenDayRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
+	// 密友列表
+	FindCloseFriendRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
 	// 15、用户查询聊天记录
 	FindChatRecordList(context.Context, *common.FindChatRecordListRequest) (*common.ChatRecordListReply, error)
 	// 16、用户查询房间信息
@@ -1408,6 +1421,9 @@ func (UnimplementedUserServer) FindWithinSevenDayRoomList(context.Context, *comm
 func (UnimplementedUserServer) FindOverSevenDayRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method FindOverSevenDayRoomList not implemented")
 }
+func (UnimplementedUserServer) FindCloseFriendRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FindCloseFriendRoomList not implemented")
+}
 func (UnimplementedUserServer) FindChatRecordList(context.Context, *common.FindChatRecordListRequest) (*common.ChatRecordListReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method FindChatRecordList not implemented")
 }
@@ -1934,6 +1950,24 @@ func _User_FindOverSevenDayRoomList_Handler(srv interface{}, ctx context.Context
 	return interceptor(ctx, in, info, handler)
 }
 
+func _User_FindCloseFriendRoomList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(common.ListPageRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).FindCloseFriendRoomList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/FindCloseFriendRoomList",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).FindCloseFriendRoomList(ctx, req.(*common.ListPageRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _User_FindChatRecordList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(common.FindChatRecordListRequest)
 	if err := dec(in); err != nil {
@@ -3563,6 +3597,10 @@ var User_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "FindOverSevenDayRoomList",
 			Handler:    _User_FindOverSevenDayRoomList_Handler,
 		},
+		{
+			MethodName: "FindCloseFriendRoomList",
+			Handler:    _User_FindCloseFriendRoomList_Handler,
+		},
 		{
 			MethodName: "FindChatRecordList",
 			Handler:    _User_FindChatRecordList_Handler,

+ 43 - 0
api/user/user_http.pb.go

@@ -40,6 +40,7 @@ type UserHTTPServer interface {
 	FindChatRoomMsg(context.Context, *common.FindChatRoomMsgRequest) (*common.ChatRoomMsg, error)
 	FindChatTopic(context.Context, *common.FindChatTopicRequest) (*common.ChatTopicList, error)
 	FindChatTopicTitle(context.Context, *emptypb.Empty) (*common.MemeTitleList, error)
+	FindCloseFriendRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
 	FindLikeList(context.Context, *common.ListPageRequest) (*statistics.LookAndLikeListReply, error)
 	FindLikedList(context.Context, *common.ListPageRequest) (*statistics.LookAndLikeListReply, error)
 	FindLookList(context.Context, *common.ListPageRequest) (*statistics.LookAndLikeListReply, error)
@@ -128,6 +129,7 @@ func RegisterUserHTTPServer(s *http.Server, srv UserHTTPServer) {
 	r.POST("/api/user/list/online", _User_FindOnlineList0_HTTP_Handler(srv))
 	r.POST("/api/user/list/chat/within", _User_FindWithinSevenDayRoomList0_HTTP_Handler(srv))
 	r.POST("/api/user/list/chat/over", _User_FindOverSevenDayRoomList0_HTTP_Handler(srv))
+	r.POST("/api/user/list/chat/friend", _User_FindCloseFriendRoomList0_HTTP_Handler(srv))
 	r.POST("/api/user/chat/record", _User_FindChatRecordList0_HTTP_Handler(srv))
 	r.POST("/api/user/chat/room/msg", _User_FindChatRoomMsg0_HTTP_Handler(srv))
 	r.POST("/api/user/islike", _User_GetUserIsLike0_HTTP_Handler(srv))
@@ -574,6 +576,33 @@ func _User_FindOverSevenDayRoomList0_HTTP_Handler(srv UserHTTPServer) func(ctx h
 	}
 }
 
+func _User_FindCloseFriendRoomList0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
+	return func(ctx http.Context) error {
+		var in common.ListPageRequest
+		if err := ctx.Bind(&in); err != nil {
+			return err
+		}
+		if err := ctx.BindQuery(&in); err != nil {
+			return err
+		}
+		http.SetOperation(ctx, "/api.user.User/FindCloseFriendRoomList")
+		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
+			return srv.FindCloseFriendRoomList(ctx, req.(*common.ListPageRequest))
+		})
+		out, err := h(ctx, &in)
+		if err != nil {
+			return err
+		}
+		success := &reply.SuccessReply{
+			Code: 0,
+		}
+		if out != nil {
+			success.Data = out
+		}
+		return ctx.Result(200, success)
+	}
+}
+
 func _User_FindChatRecordList0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
 	return func(ctx http.Context) error {
 		var in common.FindChatRecordListRequest
@@ -2367,6 +2396,7 @@ type UserHTTPClient interface {
 	FindChatRoomMsg(ctx context.Context, req *common.FindChatRoomMsgRequest, opts ...http.CallOption) (rsp *common.ChatRoomMsg, err error)
 	FindChatTopic(ctx context.Context, req *common.FindChatTopicRequest, opts ...http.CallOption) (rsp *common.ChatTopicList, err error)
 	FindChatTopicTitle(ctx context.Context, req *emptypb.Empty, opts ...http.CallOption) (rsp *common.MemeTitleList, err error)
+	FindCloseFriendRoomList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *UserFindChatListReply, err error)
 	FindLikeList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *statistics.LookAndLikeListReply, err error)
 	FindLikedList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *statistics.LookAndLikeListReply, err error)
 	FindLookList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *statistics.LookAndLikeListReply, err error)
@@ -2577,6 +2607,19 @@ func (c *UserHTTPClientImpl) FindChatTopicTitle(ctx context.Context, in *emptypb
 	return &out, err
 }
 
+func (c *UserHTTPClientImpl) FindCloseFriendRoomList(ctx context.Context, in *common.ListPageRequest, opts ...http.CallOption) (*UserFindChatListReply, error) {
+	var out UserFindChatListReply
+	pattern := "/api/user/list/chat/friend"
+	path := binding.EncodeURL(pattern, in, false)
+	opts = append(opts, http.Operation("/api.user.User/FindCloseFriendRoomList"))
+	opts = append(opts, http.PathTemplate(pattern))
+	err := c.cc.Invoke(ctx, "POST", path, in, &out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &out, err
+}
+
 func (c *UserHTTPClientImpl) FindLikeList(ctx context.Context, in *common.ListPageRequest, opts ...http.CallOption) (*statistics.LookAndLikeListReply, error) {
 	var out statistics.LookAndLikeListReply
 	pattern := "/api/user/list/like"

+ 2 - 0
js/api/chat/chat_pb.ts

@@ -100,6 +100,8 @@ export interface UserFindRoomListRequest{
     personId?:string;
     /**  是否在七日内 */
     isWithinSevenDay?:boolean;
+    /**  是否是密友 */
+    isCloseFriend?:boolean;
 }
 export interface UserFindRoomListReply{
     list?:Array<UserRoomInfo>;

+ 5 - 0
js/api/user/user_http_pb.ts

@@ -76,6 +76,11 @@ const UserService = {
 	const res = await request.post<{ data: UserFindChatListReply, code: string, message: string }>('/api/user/list/chat/over', req);
     return res.data.data;
   },
+  /**  密友列表 */
+  FindCloseFriendRoomList: async (req?: ListPageRequest) => {
+	const res = await request.post<{ data: UserFindChatListReply, code: string, message: string }>('/api/user/list/chat/friend', req);
+    return res.data.data;
+  },
   /**  15、用户查询聊天记录 */
   FindChatRecordList: async (req?: FindChatRecordListRequest) => {
 	const res = await request.post<{ data: ChatRecordListReply, code: string, message: string }>('/api/user/chat/record', req);