mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	证书列表区分管理员和用户证书
This commit is contained in:
		@@ -11757,6 +11757,15 @@
 | 
			
		||||
            "node"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findSSLCertUser",
 | 
			
		||||
          "requestMessageName": "FindSSLCertUserRequest",
 | 
			
		||||
          "responseMessageName": "FindSSLCertUserResponse",
 | 
			
		||||
          "code": "rpc findSSLCertUser(FindSSLCertUserRequest) returns (FindSSLCertUserResponse);",
 | 
			
		||||
          "doc": "查找证书所属用户",
 | 
			
		||||
          "roles": [],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "filename": "service_ssl_cert.proto",
 | 
			
		||||
@@ -14592,7 +14601,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CountSSLCertRequest",
 | 
			
		||||
      "code": "message CountSSLCertRequest {\n\tbool isCA = 1; // 可选项,是否为CA证书\n\tbool isAvailable = 2; // 可选项,是否可用(在有效期内)\n\tbool isExpired = 3; // 可选项,是否已过期\n\tint32 expiringDays = 4; // 可选项,离过期日的天数\n\tstring keyword = 5; // 可选项,关键词\n\tint64 userId = 6; // 可选项,用户ID,不填则表示读取管理员上传的证书\n\trepeated string domains = 7; // 可选项,搜索使用的域名列表\n}",
 | 
			
		||||
      "code": "message CountSSLCertRequest {\n\tbool isCA = 1; // 可选项,是否为CA证书\n\tbool isAvailable = 2; // 可选项,是否可用(在有效期内)\n\tbool isExpired = 3; // 可选项,是否已过期\n\tint32 expiringDays = 4; // 可选项,离过期日的天数\n\tstring keyword = 5; // 可选项,关键词\n\tint64 userId = 6; // 可选项,用户ID,不填则表示读取管理员上传的证书\n\trepeated string domains = 7; // 可选项,搜索使用的域名列表\n\tbool userOnly = 8; // 可选项,只列出用户上传的证书\n}",
 | 
			
		||||
      "doc": "计算匹配的证书数量"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
@@ -19500,6 +19509,16 @@
 | 
			
		||||
      "code": "message FindReportNodeTasksResponse {\n\tbytes ipAddrTasksJSON = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindSSLCertUserRequest",
 | 
			
		||||
      "code": "message FindSSLCertUserRequest {\n\tint64 sslCertId = 1; // 证书ID\n}",
 | 
			
		||||
      "doc": "查找证书所属用户"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindSSLCertUserResponse",
 | 
			
		||||
      "code": "message FindSSLCertUserResponse {\n\tUser user = 1; // 用户信息,只包含几个基本的信息\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindSendingMessageTasksRequest",
 | 
			
		||||
      "code": "message FindSendingMessageTasksRequest {\n\tint64 size = 1;\n}",
 | 
			
		||||
@@ -20597,7 +20616,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "ListSSLCertsRequest",
 | 
			
		||||
      "code": "message ListSSLCertsRequest {\n\tbool isCA = 1; // 可选项,是否为CA证书\n\tbool isAvailable = 2; // 可选项,是否可用(在有效期内)\n\tbool isExpired = 3; //可选项, 是否已过期\n\tint32 expiringDays = 4; // 可选项,离过期日的天数\n\tstring keyword = 5; // 可选项,关键词\n\tint64 userId = 8; // 可选项,用户ID,不填则表示读取管理员上传的证书\n\trepeated string domains = 9; // 可选项,搜索使用的域名列表\n\tint64 offset = 6; // 读取位置\n\tint64 size = 7; // 读取长度,不能小于0\n}",
 | 
			
		||||
      "code": "message ListSSLCertsRequest {\n\tbool isCA = 1; // 可选项,是否为CA证书\n\tbool isAvailable = 2; // 可选项,是否可用(在有效期内)\n\tbool isExpired = 3; //可选项, 是否已过期\n\tint32 expiringDays = 4; // 可选项,离过期日的天数\n\tstring keyword = 5; // 可选项,关键词\n\tint64 userId = 8; // 可选项,用户ID,不填则表示读取管理员上传的证书\n\trepeated string domains = 9; // 可选项,搜索使用的域名列表\n\tint64 offset = 6; // 读取位置\n\tint64 size = 7; // 读取长度,不能小于0\n\tbool userOnly = 10; // 可选项,只列出用户上传的证书\n}",
 | 
			
		||||
      "doc": "列出单页匹配的证书"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -598,6 +598,7 @@ type CountSSLCertRequest struct {
 | 
			
		||||
	Keyword      string   `protobuf:"bytes,5,opt,name=keyword,proto3" json:"keyword,omitempty"`            // 可选项,关键词
 | 
			
		||||
	UserId       int64    `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"`             // 可选项,用户ID,不填则表示读取管理员上传的证书
 | 
			
		||||
	Domains      []string `protobuf:"bytes,7,rep,name=domains,proto3" json:"domains,omitempty"`            // 可选项,搜索使用的域名列表
 | 
			
		||||
	UserOnly     bool     `protobuf:"varint,8,opt,name=userOnly,proto3" json:"userOnly,omitempty"`         // 可选项,只列出用户上传的证书
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountSSLCertRequest) Reset() {
 | 
			
		||||
@@ -681,6 +682,13 @@ func (x *CountSSLCertRequest) GetDomains() []string {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountSSLCertRequest) GetUserOnly() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserOnly
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页匹配的证书
 | 
			
		||||
type ListSSLCertsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
@@ -696,6 +704,7 @@ type ListSSLCertsRequest struct {
 | 
			
		||||
	Domains      []string `protobuf:"bytes,9,rep,name=domains,proto3" json:"domains,omitempty"`            // 可选项,搜索使用的域名列表
 | 
			
		||||
	Offset       int64    `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"`             // 读取位置
 | 
			
		||||
	Size         int64    `protobuf:"varint,7,opt,name=size,proto3" json:"size,omitempty"`                 // 读取长度,不能小于0
 | 
			
		||||
	UserOnly     bool     `protobuf:"varint,10,opt,name=userOnly,proto3" json:"userOnly,omitempty"`        // 可选项,只列出用户上传的证书
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListSSLCertsRequest) Reset() {
 | 
			
		||||
@@ -793,6 +802,13 @@ func (x *ListSSLCertsRequest) GetSize() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListSSLCertsRequest) GetUserOnly() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserOnly
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListSSLCertsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -1237,6 +1253,101 @@ func (x *ListUpdatedSSLCertOCSPResponse) GetSslCertOCSP() []*ListUpdatedSSLCertO
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找证书所属用户
 | 
			
		||||
type FindSSLCertUserRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	SslCertId int64 `protobuf:"varint,1,opt,name=sslCertId,proto3" json:"sslCertId,omitempty"` // 证书ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserRequest) Reset() {
 | 
			
		||||
	*x = FindSSLCertUserRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[19]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindSSLCertUserRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[19]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindSSLCertUserRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindSSLCertUserRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ssl_cert_proto_rawDescGZIP(), []int{19}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserRequest) GetSslCertId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.SslCertId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindSSLCertUserResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // 用户信息,只包含几个基本的信息
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserResponse) Reset() {
 | 
			
		||||
	*x = FindSSLCertUserResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[20]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindSSLCertUserResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[20]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindSSLCertUserResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindSSLCertUserResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ssl_cert_proto_rawDescGZIP(), []int{20}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindSSLCertUserResponse) GetUser() *User {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.User
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreateSSLCertsRequestCert struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -1258,7 +1369,7 @@ type CreateSSLCertsRequestCert struct {
 | 
			
		||||
func (x *CreateSSLCertsRequestCert) Reset() {
 | 
			
		||||
	*x = CreateSSLCertsRequestCert{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[19]
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[21]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -1271,7 +1382,7 @@ func (x *CreateSSLCertsRequestCert) String() string {
 | 
			
		||||
func (*CreateSSLCertsRequestCert) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreateSSLCertsRequestCert) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[19]
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[21]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -1378,7 +1489,7 @@ type ListUpdatedSSLCertOCSPResponse_SSLCertOCSP struct {
 | 
			
		||||
func (x *ListUpdatedSSLCertOCSPResponse_SSLCertOCSP) Reset() {
 | 
			
		||||
	*x = ListUpdatedSSLCertOCSPResponse_SSLCertOCSP{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[20]
 | 
			
		||||
		mi := &file_service_ssl_cert_proto_msgTypes[22]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -1391,7 +1502,7 @@ func (x *ListUpdatedSSLCertOCSPResponse_SSLCertOCSP) String() string {
 | 
			
		||||
func (*ListUpdatedSSLCertOCSPResponse_SSLCertOCSP) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUpdatedSSLCertOCSPResponse_SSLCertOCSP) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[20]
 | 
			
		||||
	mi := &file_service_ssl_cert_proto_msgTypes[22]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -1443,246 +1554,263 @@ var file_service_ssl_cert_proto_rawDesc = []byte{
 | 
			
		||||
	0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
			
		||||
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
 | 
			
		||||
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
 | 
			
		||||
	0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
 | 
			
		||||
	0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f,
 | 
			
		||||
	0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
 | 
			
		||||
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x43, 0x41, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18,
 | 
			
		||||
	0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
 | 
			
		||||
	0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d,
 | 
			
		||||
	0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
 | 
			
		||||
	0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6e, 0x73,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
 | 
			
		||||
	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0xa6,
 | 
			
		||||
	0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x65, 0x72, 0x74, 0x52, 0x08, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x1a, 0xb8, 0x02, 0x0a,
 | 
			
		||||
	0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
 | 
			
		||||
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x43, 0x41, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18,
 | 
			
		||||
	0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
 | 
			
		||||
	0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d,
 | 
			
		||||
	0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
 | 
			
		||||
	0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6e, 0x73,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73,
 | 
			
		||||
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
 | 
			
		||||
	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x73, 0x22, 0xe6, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
 | 
			
		||||
	0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
 | 
			
		||||
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
 | 
			
		||||
	0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
 | 
			
		||||
	0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61,
 | 
			
		||||
	0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61,
 | 
			
		||||
	0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b,
 | 
			
		||||
	0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08,
 | 
			
		||||
	0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
 | 
			
		||||
	0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
 | 
			
		||||
	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63,
 | 
			
		||||
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a,
 | 
			
		||||
	0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x20, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x20, 0x0a, 0x0b, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x4a, 0x53, 0x4f,
 | 
			
		||||
	0x4e, 0x22, 0x34, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x02,
 | 
			
		||||
	0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
 | 
			
		||||
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12, 0x1a, 0x0a, 0x08,
 | 
			
		||||
	0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
 | 
			
		||||
	0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44,
 | 
			
		||||
	0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61,
 | 
			
		||||
	0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67,
 | 
			
		||||
	0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x22, 0x35, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x43, 0x41, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69,
 | 
			
		||||
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72,
 | 
			
		||||
	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69,
 | 
			
		||||
	0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44,
 | 
			
		||||
	0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
 | 
			
		||||
	0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
 | 
			
		||||
	0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61,
 | 
			
		||||
	0x69, 0x6e, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x43, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12,
 | 
			
		||||
	0x20, 0x0a, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12,
 | 
			
		||||
	0x22, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18,
 | 
			
		||||
	0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44,
 | 
			
		||||
	0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73,
 | 
			
		||||
	0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18,
 | 
			
		||||
	0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x14, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x4a,
 | 
			
		||||
	0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x73, 0x6c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x40, 0x0a, 0x24, 0x43, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f,
 | 
			
		||||
	0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x68, 0x0a, 0x20, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53,
 | 
			
		||||
	0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
 | 
			
		||||
	0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
 | 
			
		||||
	0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 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,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
 | 
			
		||||
	0x69, 0x7a, 0x65, 0x22, 0x4c, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x08, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x73, 0x22, 0x44, 0x0a, 0x22, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x65, 0x74,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50,
 | 
			
		||||
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
 | 
			
		||||
	0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0x26, 0x0a, 0x24,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73,
 | 
			
		||||
	0x69, 0x7a, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x4f, 0x43, 0x53, 0x50, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x0b, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x1a, 0x77, 0x0a, 0x0b, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41,
 | 
			
		||||
	0x74, 0x32, 0xb2, 0x08, 0x0a, 0x0e, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x53, 0x65, 0x72,
 | 
			
		||||
	0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53,
 | 
			
		||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72,
 | 
			
		||||
	0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39,
 | 
			
		||||
	0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x12,
 | 
			
		||||
	0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
 | 
			
		||||
	0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x43,
 | 
			
		||||
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e,
 | 
			
		||||
	0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x41, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x1d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x53,
 | 
			
		||||
	0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45,
 | 
			
		||||
	0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43,
 | 
			
		||||
	0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0xa6, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
 | 
			
		||||
	0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x63,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x52, 0x08, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x1a, 0xb8, 0x02, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
 | 
			
		||||
	0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
 | 
			
		||||
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12, 0x1a, 0x0a, 0x08,
 | 
			
		||||
	0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
 | 
			
		||||
	0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44,
 | 
			
		||||
	0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61,
 | 
			
		||||
	0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67,
 | 
			
		||||
	0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x73,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a,
 | 
			
		||||
	0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x14, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49,
 | 
			
		||||
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
			
		||||
	0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
 | 
			
		||||
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x43, 0x41, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12,
 | 
			
		||||
	0x1a, 0x0a, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x0c, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b,
 | 
			
		||||
	0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65,
 | 
			
		||||
	0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x67,
 | 
			
		||||
	0x69, 0x6e, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65,
 | 
			
		||||
	0x42, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
 | 
			
		||||
	0x45, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73,
 | 
			
		||||
	0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73,
 | 
			
		||||
	0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x34, 0x0a, 0x14, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x22, 0xf5, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x43, 0x41, 0x12, 0x20, 0x0a, 0x0b,
 | 
			
		||||
	0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c,
 | 
			
		||||
	0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73,
 | 
			
		||||
	0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xa1, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x43, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
 | 
			
		||||
	0x69, 0x73, 0x43, 0x41, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69,
 | 
			
		||||
	0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70,
 | 
			
		||||
	0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67,
 | 
			
		||||
	0x44, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69,
 | 
			
		||||
	0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
 | 
			
		||||
	0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
 | 
			
		||||
	0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f,
 | 
			
		||||
	0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d,
 | 
			
		||||
	0x61, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65,
 | 
			
		||||
	0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x08, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x3a, 0x0a, 0x14,
 | 
			
		||||
	0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x40, 0x0a, 0x24, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x68, 0x0a, 0x20, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43,
 | 
			
		||||
	0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
 | 
			
		||||
	0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 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, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x22, 0x4c, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f,
 | 
			
		||||
	0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x08, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x22, 0x44, 0x0a, 0x22, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f,
 | 
			
		||||
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x73,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x65,
 | 
			
		||||
	0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53,
 | 
			
		||||
	0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55,
 | 
			
		||||
	0x0a, 0x1b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a,
 | 
			
		||||
	0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x0a, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0x26, 0x0a,
 | 
			
		||||
	0x24, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x53, 0x53,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x73, 0x73, 0x6c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x2e, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x0b, 0x73, 0x73,
 | 
			
		||||
	0x6c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x1a, 0x77, 0x0a, 0x0b, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x41, 0x74, 0x22, 0x36, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
 | 
			
		||||
	0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x17, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x32, 0xfe, 0x08, 0x0a, 0x0e, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x53,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e,
 | 
			
		||||
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x19,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
 | 
			
		||||
	0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x43,
 | 
			
		||||
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x53,
 | 
			
		||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43,
 | 
			
		||||
	0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x1d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53,
 | 
			
		||||
	0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x53,
 | 
			
		||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72,
 | 
			
		||||
	0x72, 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x53,
 | 
			
		||||
	0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72,
 | 
			
		||||
	0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x1d, 0x72, 0x65,
 | 
			
		||||
	0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x12,
 | 
			
		||||
	0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x72, 0x6f, 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x53, 0x4c,
 | 
			
		||||
	0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72,
 | 
			
		||||
	0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f,
 | 
			
		||||
	0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x55, 0x0a, 0x1b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72,
 | 
			
		||||
	0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
 | 
			
		||||
	0x26, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x65, 0x74,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50,
 | 
			
		||||
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50,
 | 
			
		||||
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x1d,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x53, 0x4c, 0x43, 0x65,
 | 
			
		||||
	0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x43, 0x53, 0x50, 0x45, 0x72, 0x72, 0x6f, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
 | 
			
		||||
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x55,
 | 
			
		||||
	0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53,
 | 
			
		||||
	0x50, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x43, 0x53, 0x50,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x53, 0x53, 0x4c, 0x43, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -1697,7 +1825,7 @@ func file_service_ssl_cert_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ssl_cert_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ssl_cert_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
 | 
			
		||||
var file_service_ssl_cert_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
 | 
			
		||||
var file_service_ssl_cert_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateSSLCertRequest)(nil),                       // 0: pb.CreateSSLCertRequest
 | 
			
		||||
	(*CreateSSLCertResponse)(nil),                      // 1: pb.CreateSSLCertResponse
 | 
			
		||||
@@ -1718,47 +1846,53 @@ var file_service_ssl_cert_proto_goTypes = []interface{}{
 | 
			
		||||
	(*ResetAllSSLCertsWithOCSPErrorRequest)(nil),       // 16: pb.ResetAllSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	(*ListUpdatedSSLCertOCSPRequest)(nil),              // 17: pb.ListUpdatedSSLCertOCSPRequest
 | 
			
		||||
	(*ListUpdatedSSLCertOCSPResponse)(nil),             // 18: pb.ListUpdatedSSLCertOCSPResponse
 | 
			
		||||
	(*CreateSSLCertsRequestCert)(nil),                  // 19: pb.CreateSSLCertsRequest.cert
 | 
			
		||||
	(*ListUpdatedSSLCertOCSPResponse_SSLCertOCSP)(nil), // 20: pb.ListUpdatedSSLCertOCSPResponse.SSLCertOCSP
 | 
			
		||||
	(*SSLCert)(nil),                                    // 21: pb.SSLCert
 | 
			
		||||
	(*RPCSuccess)(nil),                                 // 22: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                           // 23: pb.RPCCountResponse
 | 
			
		||||
	(*FindSSLCertUserRequest)(nil),                     // 19: pb.FindSSLCertUserRequest
 | 
			
		||||
	(*FindSSLCertUserResponse)(nil),                    // 20: pb.FindSSLCertUserResponse
 | 
			
		||||
	(*CreateSSLCertsRequestCert)(nil),                  // 21: pb.CreateSSLCertsRequest.cert
 | 
			
		||||
	(*ListUpdatedSSLCertOCSPResponse_SSLCertOCSP)(nil), // 22: pb.ListUpdatedSSLCertOCSPResponse.SSLCertOCSP
 | 
			
		||||
	(*SSLCert)(nil),                                    // 23: pb.SSLCert
 | 
			
		||||
	(*User)(nil),                                       // 24: pb.User
 | 
			
		||||
	(*RPCSuccess)(nil),                                 // 25: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                           // 26: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_ssl_cert_proto_depIdxs = []int32{
 | 
			
		||||
	19, // 0: pb.CreateSSLCertsRequest.SSLCerts:type_name -> pb.CreateSSLCertsRequest.cert
 | 
			
		||||
	21, // 1: pb.ListSSLCertsWithOCSPErrorResponse.sslCerts:type_name -> pb.SSLCert
 | 
			
		||||
	20, // 2: pb.ListUpdatedSSLCertOCSPResponse.sslCertOCSP:type_name -> pb.ListUpdatedSSLCertOCSPResponse.SSLCertOCSP
 | 
			
		||||
	0,  // 3: pb.SSLCertService.createSSLCert:input_type -> pb.CreateSSLCertRequest
 | 
			
		||||
	2,  // 4: pb.SSLCertService.createSSLCerts:input_type -> pb.CreateSSLCertsRequest
 | 
			
		||||
	4,  // 5: pb.SSLCertService.updateSSLCert:input_type -> pb.UpdateSSLCertRequest
 | 
			
		||||
	7,  // 6: pb.SSLCertService.deleteSSLCert:input_type -> pb.DeleteSSLCertRequest
 | 
			
		||||
	5,  // 7: pb.SSLCertService.findEnabledSSLCertConfig:input_type -> pb.FindEnabledSSLCertConfigRequest
 | 
			
		||||
	8,  // 8: pb.SSLCertService.countSSLCerts:input_type -> pb.CountSSLCertRequest
 | 
			
		||||
	9,  // 9: pb.SSLCertService.listSSLCerts:input_type -> pb.ListSSLCertsRequest
 | 
			
		||||
	11, // 10: pb.SSLCertService.countAllSSLCertsWithOCSPError:input_type -> pb.CountAllSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	12, // 11: pb.SSLCertService.listSSLCertsWithOCSPError:input_type -> pb.ListSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	14, // 12: pb.SSLCertService.ignoreSSLCertsWithOCSPError:input_type -> pb.IgnoreSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	15, // 13: pb.SSLCertService.resetSSLCertsWithOCSPError:input_type -> pb.ResetSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	16, // 14: pb.SSLCertService.resetAllSSLCertsWithOCSPError:input_type -> pb.ResetAllSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	17, // 15: pb.SSLCertService.listUpdatedSSLCertOCSP:input_type -> pb.ListUpdatedSSLCertOCSPRequest
 | 
			
		||||
	1,  // 16: pb.SSLCertService.createSSLCert:output_type -> pb.CreateSSLCertResponse
 | 
			
		||||
	3,  // 17: pb.SSLCertService.createSSLCerts:output_type -> pb.CreateSSLCertsResponse
 | 
			
		||||
	22, // 18: pb.SSLCertService.updateSSLCert:output_type -> pb.RPCSuccess
 | 
			
		||||
	22, // 19: pb.SSLCertService.deleteSSLCert:output_type -> pb.RPCSuccess
 | 
			
		||||
	6,  // 20: pb.SSLCertService.findEnabledSSLCertConfig:output_type -> pb.FindEnabledSSLCertConfigResponse
 | 
			
		||||
	23, // 21: pb.SSLCertService.countSSLCerts:output_type -> pb.RPCCountResponse
 | 
			
		||||
	10, // 22: pb.SSLCertService.listSSLCerts:output_type -> pb.ListSSLCertsResponse
 | 
			
		||||
	23, // 23: pb.SSLCertService.countAllSSLCertsWithOCSPError:output_type -> pb.RPCCountResponse
 | 
			
		||||
	13, // 24: pb.SSLCertService.listSSLCertsWithOCSPError:output_type -> pb.ListSSLCertsWithOCSPErrorResponse
 | 
			
		||||
	22, // 25: pb.SSLCertService.ignoreSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	22, // 26: pb.SSLCertService.resetSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	22, // 27: pb.SSLCertService.resetAllSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	18, // 28: pb.SSLCertService.listUpdatedSSLCertOCSP:output_type -> pb.ListUpdatedSSLCertOCSPResponse
 | 
			
		||||
	16, // [16:29] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:16] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
	21, // 0: pb.CreateSSLCertsRequest.SSLCerts:type_name -> pb.CreateSSLCertsRequest.cert
 | 
			
		||||
	23, // 1: pb.ListSSLCertsWithOCSPErrorResponse.sslCerts:type_name -> pb.SSLCert
 | 
			
		||||
	22, // 2: pb.ListUpdatedSSLCertOCSPResponse.sslCertOCSP:type_name -> pb.ListUpdatedSSLCertOCSPResponse.SSLCertOCSP
 | 
			
		||||
	24, // 3: pb.FindSSLCertUserResponse.user:type_name -> pb.User
 | 
			
		||||
	0,  // 4: pb.SSLCertService.createSSLCert:input_type -> pb.CreateSSLCertRequest
 | 
			
		||||
	2,  // 5: pb.SSLCertService.createSSLCerts:input_type -> pb.CreateSSLCertsRequest
 | 
			
		||||
	4,  // 6: pb.SSLCertService.updateSSLCert:input_type -> pb.UpdateSSLCertRequest
 | 
			
		||||
	7,  // 7: pb.SSLCertService.deleteSSLCert:input_type -> pb.DeleteSSLCertRequest
 | 
			
		||||
	5,  // 8: pb.SSLCertService.findEnabledSSLCertConfig:input_type -> pb.FindEnabledSSLCertConfigRequest
 | 
			
		||||
	8,  // 9: pb.SSLCertService.countSSLCerts:input_type -> pb.CountSSLCertRequest
 | 
			
		||||
	9,  // 10: pb.SSLCertService.listSSLCerts:input_type -> pb.ListSSLCertsRequest
 | 
			
		||||
	11, // 11: pb.SSLCertService.countAllSSLCertsWithOCSPError:input_type -> pb.CountAllSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	12, // 12: pb.SSLCertService.listSSLCertsWithOCSPError:input_type -> pb.ListSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	14, // 13: pb.SSLCertService.ignoreSSLCertsWithOCSPError:input_type -> pb.IgnoreSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	15, // 14: pb.SSLCertService.resetSSLCertsWithOCSPError:input_type -> pb.ResetSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	16, // 15: pb.SSLCertService.resetAllSSLCertsWithOCSPError:input_type -> pb.ResetAllSSLCertsWithOCSPErrorRequest
 | 
			
		||||
	17, // 16: pb.SSLCertService.listUpdatedSSLCertOCSP:input_type -> pb.ListUpdatedSSLCertOCSPRequest
 | 
			
		||||
	19, // 17: pb.SSLCertService.findSSLCertUser:input_type -> pb.FindSSLCertUserRequest
 | 
			
		||||
	1,  // 18: pb.SSLCertService.createSSLCert:output_type -> pb.CreateSSLCertResponse
 | 
			
		||||
	3,  // 19: pb.SSLCertService.createSSLCerts:output_type -> pb.CreateSSLCertsResponse
 | 
			
		||||
	25, // 20: pb.SSLCertService.updateSSLCert:output_type -> pb.RPCSuccess
 | 
			
		||||
	25, // 21: pb.SSLCertService.deleteSSLCert:output_type -> pb.RPCSuccess
 | 
			
		||||
	6,  // 22: pb.SSLCertService.findEnabledSSLCertConfig:output_type -> pb.FindEnabledSSLCertConfigResponse
 | 
			
		||||
	26, // 23: pb.SSLCertService.countSSLCerts:output_type -> pb.RPCCountResponse
 | 
			
		||||
	10, // 24: pb.SSLCertService.listSSLCerts:output_type -> pb.ListSSLCertsResponse
 | 
			
		||||
	26, // 25: pb.SSLCertService.countAllSSLCertsWithOCSPError:output_type -> pb.RPCCountResponse
 | 
			
		||||
	13, // 26: pb.SSLCertService.listSSLCertsWithOCSPError:output_type -> pb.ListSSLCertsWithOCSPErrorResponse
 | 
			
		||||
	25, // 27: pb.SSLCertService.ignoreSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	25, // 28: pb.SSLCertService.resetSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	25, // 29: pb.SSLCertService.resetAllSSLCertsWithOCSPError:output_type -> pb.RPCSuccess
 | 
			
		||||
	18, // 30: pb.SSLCertService.listUpdatedSSLCertOCSP:output_type -> pb.ListUpdatedSSLCertOCSPResponse
 | 
			
		||||
	20, // 31: pb.SSLCertService.findSSLCertUser:output_type -> pb.FindSSLCertUserResponse
 | 
			
		||||
	18, // [18:32] is the sub-list for method output_type
 | 
			
		||||
	4,  // [4:18] is the sub-list for method input_type
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension type_name
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:4] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_ssl_cert_proto_init() }
 | 
			
		||||
@@ -1768,6 +1902,7 @@ func file_service_ssl_cert_proto_init() {
 | 
			
		||||
	}
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	file_models_model_ssl_cert_proto_init()
 | 
			
		||||
	file_models_model_user_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_ssl_cert_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateSSLCertRequest); i {
 | 
			
		||||
@@ -1998,7 +2133,7 @@ func file_service_ssl_cert_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ssl_cert_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateSSLCertsRequestCert); i {
 | 
			
		||||
			switch v := v.(*FindSSLCertUserRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -2010,6 +2145,30 @@ func file_service_ssl_cert_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ssl_cert_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindSSLCertUserResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ssl_cert_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateSSLCertsRequestCert); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ssl_cert_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUpdatedSSLCertOCSPResponse_SSLCertOCSP); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -2028,7 +2187,7 @@ func file_service_ssl_cert_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ssl_cert_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   21,
 | 
			
		||||
			NumMessages:   23,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
 
 | 
			
		||||
@@ -32,6 +32,7 @@ const (
 | 
			
		||||
	SSLCertService_ResetSSLCertsWithOCSPError_FullMethodName    = "/pb.SSLCertService/resetSSLCertsWithOCSPError"
 | 
			
		||||
	SSLCertService_ResetAllSSLCertsWithOCSPError_FullMethodName = "/pb.SSLCertService/resetAllSSLCertsWithOCSPError"
 | 
			
		||||
	SSLCertService_ListUpdatedSSLCertOCSP_FullMethodName        = "/pb.SSLCertService/listUpdatedSSLCertOCSP"
 | 
			
		||||
	SSLCertService_FindSSLCertUser_FullMethodName               = "/pb.SSLCertService/findSSLCertUser"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// SSLCertServiceClient is the client API for SSLCertService service.
 | 
			
		||||
@@ -64,6 +65,8 @@ type SSLCertServiceClient interface {
 | 
			
		||||
	ResetAllSSLCertsWithOCSPError(ctx context.Context, in *ResetAllSSLCertsWithOCSPErrorRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 读取证书的OCSP
 | 
			
		||||
	ListUpdatedSSLCertOCSP(ctx context.Context, in *ListUpdatedSSLCertOCSPRequest, opts ...grpc.CallOption) (*ListUpdatedSSLCertOCSPResponse, error)
 | 
			
		||||
	// 查找证书所属用户
 | 
			
		||||
	FindSSLCertUser(ctx context.Context, in *FindSSLCertUserRequest, opts ...grpc.CallOption) (*FindSSLCertUserResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type sSLCertServiceClient struct {
 | 
			
		||||
@@ -191,6 +194,15 @@ func (c *sSLCertServiceClient) ListUpdatedSSLCertOCSP(ctx context.Context, in *L
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *sSLCertServiceClient) FindSSLCertUser(ctx context.Context, in *FindSSLCertUserRequest, opts ...grpc.CallOption) (*FindSSLCertUserResponse, error) {
 | 
			
		||||
	out := new(FindSSLCertUserResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, SSLCertService_FindSSLCertUser_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SSLCertServiceServer is the server API for SSLCertService service.
 | 
			
		||||
// All implementations should embed UnimplementedSSLCertServiceServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
@@ -221,6 +233,8 @@ type SSLCertServiceServer interface {
 | 
			
		||||
	ResetAllSSLCertsWithOCSPError(context.Context, *ResetAllSSLCertsWithOCSPErrorRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 读取证书的OCSP
 | 
			
		||||
	ListUpdatedSSLCertOCSP(context.Context, *ListUpdatedSSLCertOCSPRequest) (*ListUpdatedSSLCertOCSPResponse, error)
 | 
			
		||||
	// 查找证书所属用户
 | 
			
		||||
	FindSSLCertUser(context.Context, *FindSSLCertUserRequest) (*FindSSLCertUserResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedSSLCertServiceServer should be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -266,6 +280,9 @@ func (UnimplementedSSLCertServiceServer) ResetAllSSLCertsWithOCSPError(context.C
 | 
			
		||||
func (UnimplementedSSLCertServiceServer) ListUpdatedSSLCertOCSP(context.Context, *ListUpdatedSSLCertOCSPRequest) (*ListUpdatedSSLCertOCSPResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListUpdatedSSLCertOCSP not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedSSLCertServiceServer) FindSSLCertUser(context.Context, *FindSSLCertUserRequest) (*FindSSLCertUserResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindSSLCertUser not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnsafeSSLCertServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
// Use of this interface is not recommended, as added methods to SSLCertServiceServer will
 | 
			
		||||
@@ -512,6 +529,24 @@ func _SSLCertService_ListUpdatedSSLCertOCSP_Handler(srv interface{}, ctx context
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _SSLCertService_FindSSLCertUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindSSLCertUserRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(SSLCertServiceServer).FindSSLCertUser(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: SSLCertService_FindSSLCertUser_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(SSLCertServiceServer).FindSSLCertUser(ctx, req.(*FindSSLCertUserRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SSLCertService_ServiceDesc is the grpc.ServiceDesc for SSLCertService service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
@@ -571,6 +606,10 @@ var SSLCertService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "listUpdatedSSLCertOCSP",
 | 
			
		||||
			Handler:    _SSLCertService_ListUpdatedSSLCertOCSP_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findSSLCertUser",
 | 
			
		||||
			Handler:    _SSLCertService_FindSSLCertUser_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ssl_cert.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ package pb;
 | 
			
		||||
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
import "models/model_ssl_cert.proto";
 | 
			
		||||
import "models/model_user.proto";
 | 
			
		||||
 | 
			
		||||
// SSL证书管理服务
 | 
			
		||||
service SSLCertService {
 | 
			
		||||
@@ -46,6 +47,9 @@ service SSLCertService {
 | 
			
		||||
 | 
			
		||||
	// 读取证书的OCSP
 | 
			
		||||
	rpc listUpdatedSSLCertOCSP(ListUpdatedSSLCertOCSPRequest) returns (ListUpdatedSSLCertOCSPResponse);
 | 
			
		||||
 | 
			
		||||
	// 查找证书所属用户
 | 
			
		||||
	rpc findSSLCertUser(FindSSLCertUserRequest) returns (FindSSLCertUserResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建证书
 | 
			
		||||
@@ -131,6 +135,7 @@ message CountSSLCertRequest {
 | 
			
		||||
	string keyword = 5; // 可选项,关键词
 | 
			
		||||
	int64 userId = 6; // 可选项,用户ID,不填则表示读取管理员上传的证书
 | 
			
		||||
	repeated string domains = 7; // 可选项,搜索使用的域名列表
 | 
			
		||||
	bool userOnly = 8; // 可选项,只列出用户上传的证书
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页匹配的证书
 | 
			
		||||
@@ -144,6 +149,7 @@ message ListSSLCertsRequest {
 | 
			
		||||
	repeated string domains = 9; // 可选项,搜索使用的域名列表
 | 
			
		||||
	int64 offset = 6; // 读取位置
 | 
			
		||||
	int64 size = 7; // 读取长度,不能小于0
 | 
			
		||||
	bool userOnly = 10; // 可选项,只列出用户上传的证书
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListSSLCertsResponse {
 | 
			
		||||
@@ -197,3 +203,12 @@ message ListUpdatedSSLCertOCSPResponse {
 | 
			
		||||
		int64 expiresAt = 4;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找证书所属用户
 | 
			
		||||
message FindSSLCertUserRequest {
 | 
			
		||||
	int64 sslCertId = 1; // 证书ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindSSLCertUserResponse {
 | 
			
		||||
	User user = 1; // 用户信息,只包含几个基本的信息
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user