From 615d5c5517d82cbc53ad03a76186089bfb3eaa67 Mon Sep 17 00:00:00 2001 From: suifri Date: Thu, 30 Jul 2026 13:16:59 +0300 Subject: [PATCH 1/8] [WTEL-5246]feature(cc): agent online status preset - add WS handling for new `status_preset` input parameter - updated set agent login logic --- app/cc/agent.go | 26 + app/cc/client.go | 2 + app/cc_agent.go | 8 + controller/agent.go | 22 + gen/cc/cc_agent.pb.go | 286 ++-- gen/cc/cc_member.pb.go | 2449 ++++++++++++++++++++++------------- gen/cc/cc_member_grpc.pb.go | 37 + gen/engine/agent.pb.go | 596 ++++----- grpc_api/cc_agent.go | 11 +- model/cc_agent.go | 59 + model/websocket_request.go | 11 +- wsapi/agent.go | 22 +- 12 files changed, 2172 insertions(+), 1357 deletions(-) diff --git a/app/cc/agent.go b/app/cc/agent.go index 6bb0de88..66d50aeb 100644 --- a/app/cc/agent.go +++ b/app/cc/agent.go @@ -4,6 +4,8 @@ import ( "context" "github.com/webitel/engine/gen/cc" + "github.com/webitel/engine/gen/engine" + "github.com/webitel/engine/model" "github.com/webitel/engine/pkg/wbt" ) @@ -26,6 +28,30 @@ func (api *agentApi) Online(domainId, agentId int64, onDemand bool) error { return err } +func (api *agentApi) OnlineWithStatus(ctx context.Context, r *model.AgentLoginRequest) error { + var onlineStatus *engine.Lookup + if r.OnlineStatus != nil { + onlineStatus = &engine.Lookup{ + Id: int64(r.OnlineStatus.Id), + Name: r.OnlineStatus.Name, + } + } + + if _, err := api.Api.Online( + ctx, + &cc.OnlineRequest{ + AgentId: r.AgentID, + OnDemand: r.OnDemand, + DomainId: r.DomainID, + Status: onlineStatus, + }, + ); err != nil { + return err + } + + return nil +} + func (api *agentApi) Offline(domainId, agentId int64) error { _, err := api.Api.Offline(context.TODO(), &cc.OfflineRequest{ AgentId: agentId, diff --git a/app/cc/client.go b/app/cc/client.go index e5561f09..a1ea1d2c 100644 --- a/app/cc/client.go +++ b/app/cc/client.go @@ -5,6 +5,7 @@ import ( "sync" "github.com/webitel/engine/gen/cc" + "github.com/webitel/engine/model" "github.com/webitel/engine/pkg/wbt" "github.com/webitel/wlog" ) @@ -13,6 +14,7 @@ const ServiceName = "call_center" type AgentApi interface { Online(domainId, agentId int64, onDemand bool) error + OnlineWithStatus(ctx context.Context, r *model.AgentLoginRequest) error Offline(domainId, agentId int64) error Pause(domainId, agentId int64, payload, statusComment string, timeout int) error diff --git a/app/cc_agent.go b/app/cc_agent.go index f1ef0d61..ae6ac85e 100644 --- a/app/cc_agent.go +++ b/app/cc_agent.go @@ -165,6 +165,14 @@ func (a *App) AgentCC(ctx context.Context, domainId int64, userId int64) (*model return a.Store.Agent().AgentCC(ctx, domainId, userId) } +func (a *App) LoginAgentFromRequest(ctx context.Context, r *model.AgentLoginRequest) model.AppError { + if err := a.cc.Agent().OnlineWithStatus(ctx, r); err != nil { + return model.NewBadRequestError("app.agent.login.app_err", err.Error()) + } + + return nil +} + func (a *App) LoginAgent(domainId, agentId int64, onDemand bool) model.AppError { err := a.cc.Agent().Online(domainId, agentId, onDemand) if err != nil { diff --git a/controller/agent.go b/controller/agent.go index 09bbceb1..318d1479 100644 --- a/controller/agent.go +++ b/controller/agent.go @@ -39,6 +39,28 @@ func (c *Controller) GetAgentSession(ctx context.Context, session *auth_manager. return c.app.GetAgentSession(ctx, session.Domain(domainId), userId) } +func (c *Controller) LoginAgentFromRequest(ctx context.Context, session *auth_manager.Session, r *model.AgentLoginRequest) model.AppError { + if err := r.Validate(); err != nil { + return err + } + + permission := session.GetPermission(model.PERMISSION_SCOPE_CC_AGENT) + if !permission.CanRead() { + return c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_READ) + } + + if session.UseRBAC(auth_manager.PERMISSION_ACCESS_READ, permission) { + if perm, err := c.app.AgentCheckAccess(ctx, session.Domain(r.DomainID), r.AgentID, session.GetAclRoles(), auth_manager.PERMISSION_ACCESS_READ); err != nil { + return err + } else if !perm { + return c.app.MakeResourcePermissionError(session, r.AgentID, permission, auth_manager.PERMISSION_ACCESS_READ) + } + } + + return c.app.LoginAgentFromRequest(ctx, r) +} + +// DEPRECATED func (c *Controller) LoginAgent(ctx context.Context, session *auth_manager.Session, domainId, agentId int64, onDemand bool) model.AppError { permission := session.GetPermission(model.PERMISSION_SCOPE_CC_AGENT) if !permission.CanRead() { diff --git a/gen/cc/cc_agent.pb.go b/gen/cc/cc_agent.pb.go index c42eae10..f93ae848 100644 --- a/gen/cc/cc_agent.pb.go +++ b/gen/cc/cc_agent.pb.go @@ -7,6 +7,7 @@ package cc import ( + engine "github.com/webitel/engine/gen/engine" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -746,9 +747,10 @@ type OnlineRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` - OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` - DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` + Status *engine.Lookup `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` } func (x *OnlineRequest) Reset() { @@ -797,6 +799,13 @@ func (x *OnlineRequest) GetOnDemand() bool { return false } +func (x *OnlineRequest) GetStatus() *engine.Lookup { + if x != nil { + return x.Status + } + return nil +} + func (x *OnlineRequest) GetDomainId() int64 { if x != nil { return x.DomainId @@ -863,120 +872,123 @@ var File_cc_agent_proto protoreflect.FileDescriptor var file_cc_agent_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x63, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x02, 0x63, 0x63, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x42, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x2b, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x57, - 0x0a, 0x11, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, - 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x15, 0x57, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x12, 0x02, 0x63, 0x63, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x09, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, + 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x11, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x15, 0x57, 0x61, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x22, 0x36, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x56, 0x0a, 0x07, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, + 0x41, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x56, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x0d, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x64, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, - 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, - 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, - 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, - 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x0d, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, + 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, + 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, + 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, + 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, + 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, + 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, + 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, + 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1009,29 +1021,31 @@ var file_cc_agent_proto_goTypes = []interface{}{ (*OnlineRequest)(nil), // 13: cc.OnlineRequest (*OnlineResponse)(nil), // 14: cc.OnlineResponse nil, // 15: cc.RunTriggerRequest.VariablesEntry + (*engine.Lookup)(nil), // 16: engine.Lookup } var file_cc_agent_proto_depIdxs = []int32{ 15, // 0: cc.RunTriggerRequest.variables:type_name -> cc.RunTriggerRequest.VariablesEntry - 8, // 1: cc.OnlineResponse.channel:type_name -> cc.Channel - 13, // 2: cc.AgentService.Online:input_type -> cc.OnlineRequest - 11, // 3: cc.AgentService.Offline:input_type -> cc.OfflineRequest - 9, // 4: cc.AgentService.Pause:input_type -> cc.PauseRequest - 6, // 5: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest - 2, // 6: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest - 4, // 7: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest - 0, // 8: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest - 14, // 9: cc.AgentService.Online:output_type -> cc.OnlineResponse - 12, // 10: cc.AgentService.Offline:output_type -> cc.OfflineResponse - 10, // 11: cc.AgentService.Pause:output_type -> cc.PauseResponse - 7, // 12: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse - 3, // 13: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse - 5, // 14: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse - 1, // 15: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse - 9, // [9:16] is the sub-list for method output_type - 2, // [2:9] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 16, // 1: cc.OnlineRequest.status:type_name -> engine.Lookup + 8, // 2: cc.OnlineResponse.channel:type_name -> cc.Channel + 13, // 3: cc.AgentService.Online:input_type -> cc.OnlineRequest + 11, // 4: cc.AgentService.Offline:input_type -> cc.OfflineRequest + 9, // 5: cc.AgentService.Pause:input_type -> cc.PauseRequest + 6, // 6: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest + 2, // 7: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest + 4, // 8: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest + 0, // 9: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest + 14, // 10: cc.AgentService.Online:output_type -> cc.OnlineResponse + 12, // 11: cc.AgentService.Offline:output_type -> cc.OfflineResponse + 10, // 12: cc.AgentService.Pause:output_type -> cc.PauseResponse + 7, // 13: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse + 3, // 14: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse + 5, // 15: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse + 1, // 16: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse + 10, // [10:17] is the sub-list for method output_type + 3, // [3:10] 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 } func init() { file_cc_agent_proto_init() } diff --git a/gen/cc/cc_member.pb.go b/gen/cc/cc_member.pb.go index 8ed568bc..608d847d 100644 --- a/gen/cc/cc_member.pb.go +++ b/gen/cc/cc_member.pb.go @@ -21,6 +21,164 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type IMJoinToQueueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ThreadId string `protobuf:"bytes,1,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` + Queue *IMJoinToQueueRequest_Queue `protobuf:"bytes,2,opt,name=queue,proto3" json:"queue,omitempty"` + Timeout int32 `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` + Variables map[string]string `protobuf:"bytes,6,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BucketId int32 `protobuf:"varint,7,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` + StickyAgentId int32 `protobuf:"varint,8,opt,name=sticky_agent_id,json=stickyAgentId,proto3" json:"sticky_agent_id,omitempty"` + Thread *IMJoinToQueueRequest_ThreadInfo `protobuf:"bytes,9,opt,name=thread,proto3" json:"thread,omitempty"` + DomainId int64 `protobuf:"varint,100,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` +} + +func (x *IMJoinToQueueRequest) Reset() { + *x = IMJoinToQueueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest) ProtoMessage() {} + +func (x *IMJoinToQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[0] + 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 IMJoinToQueueRequest.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0} +} + +func (x *IMJoinToQueueRequest) GetThreadId() string { + if x != nil { + return x.ThreadId + } + return "" +} + +func (x *IMJoinToQueueRequest) GetQueue() *IMJoinToQueueRequest_Queue { + if x != nil { + return x.Queue + } + return nil +} + +func (x *IMJoinToQueueRequest) GetTimeout() int32 { + if x != nil { + return x.Timeout + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetPriority() int32 { + if x != nil { + return x.Priority + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetVariables() map[string]string { + if x != nil { + return x.Variables + } + return nil +} + +func (x *IMJoinToQueueRequest) GetBucketId() int32 { + if x != nil { + return x.BucketId + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetStickyAgentId() int32 { + if x != nil { + return x.StickyAgentId + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetThread() *IMJoinToQueueRequest_ThreadInfo { + if x != nil { + return x.Thread + } + return nil +} + +func (x *IMJoinToQueueRequest) GetDomainId() int64 { + if x != nil { + return x.DomainId + } + return 0 +} + +type IMJoinToQueueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttemptId int64 `protobuf:"varint,1,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"` +} + +func (x *IMJoinToQueueResponse) Reset() { + *x = IMJoinToQueueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueResponse) ProtoMessage() {} + +func (x *IMJoinToQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[1] + 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 IMJoinToQueueResponse.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueResponse) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{1} +} + +func (x *IMJoinToQueueResponse) GetAttemptId() int64 { + if x != nil { + return x.AttemptId + } + return 0 +} + type ResumeAttemptRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -33,7 +191,7 @@ type ResumeAttemptRequest struct { func (x *ResumeAttemptRequest) Reset() { *x = ResumeAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[0] + mi := &file_cc_member_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46,7 +204,7 @@ func (x *ResumeAttemptRequest) String() string { func (*ResumeAttemptRequest) ProtoMessage() {} func (x *ResumeAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[0] + mi := &file_cc_member_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59,7 +217,7 @@ func (x *ResumeAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeAttemptRequest.ProtoReflect.Descriptor instead. func (*ResumeAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{0} + return file_cc_member_proto_rawDescGZIP(), []int{2} } func (x *ResumeAttemptRequest) GetDomainId() int64 { @@ -87,7 +245,7 @@ type ResumeAttemptResponse struct { func (x *ResumeAttemptResponse) Reset() { *x = ResumeAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[1] + mi := &file_cc_member_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100,7 +258,7 @@ func (x *ResumeAttemptResponse) String() string { func (*ResumeAttemptResponse) ProtoMessage() {} func (x *ResumeAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[1] + mi := &file_cc_member_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113,7 +271,7 @@ func (x *ResumeAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeAttemptResponse.ProtoReflect.Descriptor instead. func (*ResumeAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{1} + return file_cc_member_proto_rawDescGZIP(), []int{3} } func (x *ResumeAttemptResponse) GetOk() bool { @@ -136,7 +294,7 @@ type InterceptAttemptRequest struct { func (x *InterceptAttemptRequest) Reset() { *x = InterceptAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[2] + mi := &file_cc_member_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -149,7 +307,7 @@ func (x *InterceptAttemptRequest) String() string { func (*InterceptAttemptRequest) ProtoMessage() {} func (x *InterceptAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[2] + mi := &file_cc_member_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -162,7 +320,7 @@ func (x *InterceptAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterceptAttemptRequest.ProtoReflect.Descriptor instead. func (*InterceptAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{2} + return file_cc_member_proto_rawDescGZIP(), []int{4} } func (x *InterceptAttemptRequest) GetDomainId() int64 { @@ -195,7 +353,7 @@ type InterceptAttemptResponse struct { func (x *InterceptAttemptResponse) Reset() { *x = InterceptAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[3] + mi := &file_cc_member_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -208,7 +366,7 @@ func (x *InterceptAttemptResponse) String() string { func (*InterceptAttemptResponse) ProtoMessage() {} func (x *InterceptAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[3] + mi := &file_cc_member_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -221,7 +379,7 @@ func (x *InterceptAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InterceptAttemptResponse.ProtoReflect.Descriptor instead. func (*InterceptAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{3} + return file_cc_member_proto_rawDescGZIP(), []int{5} } type CancelAttemptRequest struct { @@ -236,7 +394,7 @@ type CancelAttemptRequest struct { func (x *CancelAttemptRequest) Reset() { *x = CancelAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[4] + mi := &file_cc_member_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +407,7 @@ func (x *CancelAttemptRequest) String() string { func (*CancelAttemptRequest) ProtoMessage() {} func (x *CancelAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[4] + mi := &file_cc_member_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +420,7 @@ func (x *CancelAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAttemptRequest.ProtoReflect.Descriptor instead. func (*CancelAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{4} + return file_cc_member_proto_rawDescGZIP(), []int{6} } func (x *CancelAttemptRequest) GetAttemptId() int64 { @@ -288,7 +446,7 @@ type CancelAttemptResponse struct { func (x *CancelAttemptResponse) Reset() { *x = CancelAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[5] + mi := &file_cc_member_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -301,7 +459,7 @@ func (x *CancelAttemptResponse) String() string { func (*CancelAttemptResponse) ProtoMessage() {} func (x *CancelAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[5] + mi := &file_cc_member_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -314,7 +472,7 @@ func (x *CancelAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAttemptResponse.ProtoReflect.Descriptor instead. func (*CancelAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{5} + return file_cc_member_proto_rawDescGZIP(), []int{7} } type ProcessingFormActionRequest struct { @@ -333,7 +491,7 @@ type ProcessingFormActionRequest struct { func (x *ProcessingFormActionRequest) Reset() { *x = ProcessingFormActionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[6] + mi := &file_cc_member_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -346,7 +504,7 @@ func (x *ProcessingFormActionRequest) String() string { func (*ProcessingFormActionRequest) ProtoMessage() {} func (x *ProcessingFormActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[6] + mi := &file_cc_member_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -359,7 +517,7 @@ func (x *ProcessingFormActionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormActionRequest.ProtoReflect.Descriptor instead. func (*ProcessingFormActionRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{6} + return file_cc_member_proto_rawDescGZIP(), []int{8} } func (x *ProcessingFormActionRequest) GetDomainId() int64 { @@ -413,7 +571,7 @@ type ProcessingFormActionResponse struct { func (x *ProcessingFormActionResponse) Reset() { *x = ProcessingFormActionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[7] + mi := &file_cc_member_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +584,7 @@ func (x *ProcessingFormActionResponse) String() string { func (*ProcessingFormActionResponse) ProtoMessage() {} func (x *ProcessingFormActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[7] + mi := &file_cc_member_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +597,7 @@ func (x *ProcessingFormActionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormActionResponse.ProtoReflect.Descriptor instead. func (*ProcessingFormActionResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{7} + return file_cc_member_proto_rawDescGZIP(), []int{9} } type ProcessingFormSaveRequest struct { @@ -458,7 +616,7 @@ type ProcessingFormSaveRequest struct { func (x *ProcessingFormSaveRequest) Reset() { *x = ProcessingFormSaveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[8] + mi := &file_cc_member_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -471,7 +629,7 @@ func (x *ProcessingFormSaveRequest) String() string { func (*ProcessingFormSaveRequest) ProtoMessage() {} func (x *ProcessingFormSaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[8] + mi := &file_cc_member_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -484,7 +642,7 @@ func (x *ProcessingFormSaveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormSaveRequest.ProtoReflect.Descriptor instead. func (*ProcessingFormSaveRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{8} + return file_cc_member_proto_rawDescGZIP(), []int{10} } func (x *ProcessingFormSaveRequest) GetDomainId() int64 { @@ -538,7 +696,7 @@ type ProcessingFormSaveResponse struct { func (x *ProcessingFormSaveResponse) Reset() { *x = ProcessingFormSaveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[9] + mi := &file_cc_member_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +709,7 @@ func (x *ProcessingFormSaveResponse) String() string { func (*ProcessingFormSaveResponse) ProtoMessage() {} func (x *ProcessingFormSaveResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[9] + mi := &file_cc_member_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +722,7 @@ func (x *ProcessingFormSaveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormSaveResponse.ProtoReflect.Descriptor instead. func (*ProcessingFormSaveResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{9} + return file_cc_member_proto_rawDescGZIP(), []int{11} } type ProcessingComponentActionRequest struct { @@ -586,7 +744,7 @@ type ProcessingComponentActionRequest struct { func (x *ProcessingComponentActionRequest) Reset() { *x = ProcessingComponentActionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[10] + mi := &file_cc_member_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -599,7 +757,7 @@ func (x *ProcessingComponentActionRequest) String() string { func (*ProcessingComponentActionRequest) ProtoMessage() {} func (x *ProcessingComponentActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[10] + mi := &file_cc_member_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -612,7 +770,7 @@ func (x *ProcessingComponentActionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingComponentActionRequest.ProtoReflect.Descriptor instead. func (*ProcessingComponentActionRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{10} + return file_cc_member_proto_rawDescGZIP(), []int{12} } func (x *ProcessingComponentActionRequest) GetDomainId() int64 { @@ -687,7 +845,7 @@ type ProcessingComponentActionResponse struct { func (x *ProcessingComponentActionResponse) Reset() { *x = ProcessingComponentActionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[11] + mi := &file_cc_member_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -700,7 +858,7 @@ func (x *ProcessingComponentActionResponse) String() string { func (*ProcessingComponentActionResponse) ProtoMessage() {} func (x *ProcessingComponentActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[11] + mi := &file_cc_member_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -713,7 +871,7 @@ func (x *ProcessingComponentActionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ProcessingComponentActionResponse.ProtoReflect.Descriptor instead. func (*ProcessingComponentActionResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{11} + return file_cc_member_proto_rawDescGZIP(), []int{13} } type TransferRequest struct { @@ -731,7 +889,7 @@ type TransferRequest struct { func (x *TransferRequest) Reset() { *x = TransferRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[12] + mi := &file_cc_member_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -744,7 +902,7 @@ func (x *TransferRequest) String() string { func (*TransferRequest) ProtoMessage() {} func (x *TransferRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[12] + mi := &file_cc_member_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -757,7 +915,7 @@ func (x *TransferRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferRequest.ProtoReflect.Descriptor instead. func (*TransferRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{12} + return file_cc_member_proto_rawDescGZIP(), []int{14} } func (x *TransferRequest) GetDomainId() int64 { @@ -804,7 +962,7 @@ type TransferResponse struct { func (x *TransferResponse) Reset() { *x = TransferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[13] + mi := &file_cc_member_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -817,7 +975,7 @@ func (x *TransferResponse) String() string { func (*TransferResponse) ProtoMessage() {} func (x *TransferResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[13] + mi := &file_cc_member_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -830,7 +988,7 @@ func (x *TransferResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferResponse.ProtoReflect.Descriptor instead. func (*TransferResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{13} + return file_cc_member_proto_rawDescGZIP(), []int{15} } type CancelAgentDistributeRequest struct { @@ -844,7 +1002,7 @@ type CancelAgentDistributeRequest struct { func (x *CancelAgentDistributeRequest) Reset() { *x = CancelAgentDistributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[14] + mi := &file_cc_member_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -857,7 +1015,7 @@ func (x *CancelAgentDistributeRequest) String() string { func (*CancelAgentDistributeRequest) ProtoMessage() {} func (x *CancelAgentDistributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[14] + mi := &file_cc_member_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -870,7 +1028,7 @@ func (x *CancelAgentDistributeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAgentDistributeRequest.ProtoReflect.Descriptor instead. func (*CancelAgentDistributeRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{14} + return file_cc_member_proto_rawDescGZIP(), []int{16} } func (x *CancelAgentDistributeRequest) GetAgentId() int32 { @@ -889,7 +1047,7 @@ type CancelAgentDistributeResponse struct { func (x *CancelAgentDistributeResponse) Reset() { *x = CancelAgentDistributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[15] + mi := &file_cc_member_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1060,7 @@ func (x *CancelAgentDistributeResponse) String() string { func (*CancelAgentDistributeResponse) ProtoMessage() {} func (x *CancelAgentDistributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[15] + mi := &file_cc_member_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1073,7 @@ func (x *CancelAgentDistributeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAgentDistributeResponse.ProtoReflect.Descriptor instead. func (*CancelAgentDistributeResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{15} + return file_cc_member_proto_rawDescGZIP(), []int{17} } type MemberCommunicationType struct { @@ -930,7 +1088,7 @@ type MemberCommunicationType struct { func (x *MemberCommunicationType) Reset() { *x = MemberCommunicationType{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[16] + mi := &file_cc_member_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -943,7 +1101,7 @@ func (x *MemberCommunicationType) String() string { func (*MemberCommunicationType) ProtoMessage() {} func (x *MemberCommunicationType) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[16] + mi := &file_cc_member_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -956,7 +1114,7 @@ func (x *MemberCommunicationType) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunicationType.ProtoReflect.Descriptor instead. func (*MemberCommunicationType) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{16} + return file_cc_member_proto_rawDescGZIP(), []int{18} } func (x *MemberCommunicationType) GetId() int32 { @@ -986,7 +1144,7 @@ type MemberCommunication struct { func (x *MemberCommunication) Reset() { *x = MemberCommunication{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[17] + mi := &file_cc_member_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -999,7 +1157,7 @@ func (x *MemberCommunication) String() string { func (*MemberCommunication) ProtoMessage() {} func (x *MemberCommunication) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[17] + mi := &file_cc_member_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1012,7 +1170,7 @@ func (x *MemberCommunication) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunication.ProtoReflect.Descriptor instead. func (*MemberCommunication) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{17} + return file_cc_member_proto_rawDescGZIP(), []int{19} } func (x *MemberCommunication) GetDestination() string { @@ -1047,7 +1205,7 @@ type QueueFormSchema struct { func (x *QueueFormSchema) Reset() { *x = QueueFormSchema{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[18] + mi := &file_cc_member_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1060,7 +1218,7 @@ func (x *QueueFormSchema) String() string { func (*QueueFormSchema) ProtoMessage() {} func (x *QueueFormSchema) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[18] + mi := &file_cc_member_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1073,7 +1231,7 @@ func (x *QueueFormSchema) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueFormSchema.ProtoReflect.Descriptor instead. func (*QueueFormSchema) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{18} + return file_cc_member_proto_rawDescGZIP(), []int{20} } func (x *QueueFormSchema) GetId() int32 { @@ -1097,7 +1255,7 @@ type ProcessingProlongation struct { func (x *ProcessingProlongation) Reset() { *x = ProcessingProlongation{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[19] + mi := &file_cc_member_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1110,7 +1268,7 @@ func (x *ProcessingProlongation) String() string { func (*ProcessingProlongation) ProtoMessage() {} func (x *ProcessingProlongation) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[19] + mi := &file_cc_member_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1123,7 +1281,7 @@ func (x *ProcessingProlongation) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingProlongation.ProtoReflect.Descriptor instead. func (*ProcessingProlongation) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{19} + return file_cc_member_proto_rawDescGZIP(), []int{21} } func (x *ProcessingProlongation) GetEnabled() bool { @@ -1172,7 +1330,7 @@ type TaskJoinToAgentRequest struct { func (x *TaskJoinToAgentRequest) Reset() { *x = TaskJoinToAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[20] + mi := &file_cc_member_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1185,7 +1343,7 @@ func (x *TaskJoinToAgentRequest) String() string { func (*TaskJoinToAgentRequest) ProtoMessage() {} func (x *TaskJoinToAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[20] + mi := &file_cc_member_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1198,7 +1356,7 @@ func (x *TaskJoinToAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskJoinToAgentRequest.ProtoReflect.Descriptor instead. func (*TaskJoinToAgentRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{20} + return file_cc_member_proto_rawDescGZIP(), []int{22} } func (x *TaskJoinToAgentRequest) GetAgentId() int32 { @@ -1275,7 +1433,7 @@ type OutboundCallRequest struct { func (x *OutboundCallRequest) Reset() { *x = OutboundCallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[21] + mi := &file_cc_member_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1288,7 +1446,7 @@ func (x *OutboundCallRequest) String() string { func (*OutboundCallRequest) ProtoMessage() {} func (x *OutboundCallRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[21] + mi := &file_cc_member_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1301,7 +1459,7 @@ func (x *OutboundCallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallRequest.ProtoReflect.Descriptor instead. func (*OutboundCallRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{21} + return file_cc_member_proto_rawDescGZIP(), []int{23} } func (x *OutboundCallRequest) GetUserId() int64 { @@ -1372,7 +1530,7 @@ type OutboundCallResponse struct { func (x *OutboundCallResponse) Reset() { *x = OutboundCallResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[22] + mi := &file_cc_member_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1385,7 +1543,7 @@ func (x *OutboundCallResponse) String() string { func (*OutboundCallResponse) ProtoMessage() {} func (x *OutboundCallResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[22] + mi := &file_cc_member_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1398,7 +1556,7 @@ func (x *OutboundCallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallResponse.ProtoReflect.Descriptor instead. func (*OutboundCallResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{22} + return file_cc_member_proto_rawDescGZIP(), []int{24} } func (x *OutboundCallResponse) GetAttemptId() int64 { @@ -1435,7 +1593,7 @@ type CallJoinToAgentRequest struct { func (x *CallJoinToAgentRequest) Reset() { *x = CallJoinToAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[23] + mi := &file_cc_member_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1448,7 +1606,7 @@ func (x *CallJoinToAgentRequest) String() string { func (*CallJoinToAgentRequest) ProtoMessage() {} func (x *CallJoinToAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[23] + mi := &file_cc_member_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1461,7 +1619,7 @@ func (x *CallJoinToAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToAgentRequest.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23} + return file_cc_member_proto_rawDescGZIP(), []int{25} } func (x *CallJoinToAgentRequest) GetMemberCallId() string { @@ -1547,7 +1705,7 @@ type AttemptRenewalResultRequest struct { func (x *AttemptRenewalResultRequest) Reset() { *x = AttemptRenewalResultRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[24] + mi := &file_cc_member_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1560,7 +1718,7 @@ func (x *AttemptRenewalResultRequest) String() string { func (*AttemptRenewalResultRequest) ProtoMessage() {} func (x *AttemptRenewalResultRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[24] + mi := &file_cc_member_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1573,7 +1731,7 @@ func (x *AttemptRenewalResultRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptRenewalResultRequest.ProtoReflect.Descriptor instead. func (*AttemptRenewalResultRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{24} + return file_cc_member_proto_rawDescGZIP(), []int{26} } func (x *AttemptRenewalResultRequest) GetDomainId() int64 { @@ -1606,7 +1764,7 @@ type AttemptRenewalResultResponse struct { func (x *AttemptRenewalResultResponse) Reset() { *x = AttemptRenewalResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[25] + mi := &file_cc_member_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1619,7 +1777,7 @@ func (x *AttemptRenewalResultResponse) String() string { func (*AttemptRenewalResultResponse) ProtoMessage() {} func (x *AttemptRenewalResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[25] + mi := &file_cc_member_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1632,7 +1790,7 @@ func (x *AttemptRenewalResultResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptRenewalResultResponse.ProtoReflect.Descriptor instead. func (*AttemptRenewalResultResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{25} + return file_cc_member_proto_rawDescGZIP(), []int{27} } type QueueEvent struct { @@ -1654,7 +1812,7 @@ type QueueEvent struct { func (x *QueueEvent) Reset() { *x = QueueEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[26] + mi := &file_cc_member_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1667,7 +1825,7 @@ func (x *QueueEvent) String() string { func (*QueueEvent) ProtoMessage() {} func (x *QueueEvent) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[26] + mi := &file_cc_member_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1680,7 +1838,7 @@ func (x *QueueEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent.ProtoReflect.Descriptor instead. func (*QueueEvent) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26} + return file_cc_member_proto_rawDescGZIP(), []int{28} } func (x *QueueEvent) GetName() string { @@ -1777,7 +1935,7 @@ type AnswerConversationRequest struct { func (x *AnswerConversationRequest) Reset() { *x = AnswerConversationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[27] + mi := &file_cc_member_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1790,7 +1948,7 @@ func (x *AnswerConversationRequest) String() string { func (*AnswerConversationRequest) ProtoMessage() {} func (x *AnswerConversationRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[27] + mi := &file_cc_member_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1803,7 +1961,7 @@ func (x *AnswerConversationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerConversationRequest.ProtoReflect.Descriptor instead. func (*AnswerConversationRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{27} + return file_cc_member_proto_rawDescGZIP(), []int{29} } func (x *AnswerConversationRequest) GetChannelId() string { @@ -1822,7 +1980,7 @@ type AnswerConversationResponse struct { func (x *AnswerConversationResponse) Reset() { *x = AnswerConversationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[28] + mi := &file_cc_member_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1835,7 +1993,7 @@ func (x *AnswerConversationResponse) String() string { func (*AnswerConversationResponse) ProtoMessage() {} func (x *AnswerConversationResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[28] + mi := &file_cc_member_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1848,7 +2006,7 @@ func (x *AnswerConversationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerConversationResponse.ProtoReflect.Descriptor instead. func (*AnswerConversationResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{28} + return file_cc_member_proto_rawDescGZIP(), []int{30} } type ChatJoinToQueueRequest struct { @@ -1863,13 +2021,14 @@ type ChatJoinToQueueRequest struct { Variables map[string]string `protobuf:"bytes,6,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` BucketId int32 `protobuf:"varint,7,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` StickyAgentId int32 `protobuf:"varint,8,opt,name=sticky_agent_id,json=stickyAgentId,proto3" json:"sticky_agent_id,omitempty"` + ExtraChatCount bool `protobuf:"varint,9,opt,name=extra_chat_count,json=extraChatCount,proto3" json:"extra_chat_count,omitempty"` DomainId int64 `protobuf:"varint,100,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` } func (x *ChatJoinToQueueRequest) Reset() { *x = ChatJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[29] + mi := &file_cc_member_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1882,7 +2041,7 @@ func (x *ChatJoinToQueueRequest) String() string { func (*ChatJoinToQueueRequest) ProtoMessage() {} func (x *ChatJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[29] + mi := &file_cc_member_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1895,7 +2054,7 @@ func (x *ChatJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*ChatJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{29} + return file_cc_member_proto_rawDescGZIP(), []int{31} } func (x *ChatJoinToQueueRequest) GetConversationId() string { @@ -1947,6 +2106,13 @@ func (x *ChatJoinToQueueRequest) GetStickyAgentId() int32 { return 0 } +func (x *ChatJoinToQueueRequest) GetExtraChatCount() bool { + if x != nil { + return x.ExtraChatCount + } + return false +} + func (x *ChatJoinToQueueRequest) GetDomainId() int64 { if x != nil { return x.DomainId @@ -1967,7 +2133,7 @@ type EmailJoinToQueueRequest struct { func (x *EmailJoinToQueueRequest) Reset() { *x = EmailJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[30] + mi := &file_cc_member_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1980,7 +2146,7 @@ func (x *EmailJoinToQueueRequest) String() string { func (*EmailJoinToQueueRequest) ProtoMessage() {} func (x *EmailJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[30] + mi := &file_cc_member_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1993,7 +2159,7 @@ func (x *EmailJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EmailJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*EmailJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{30} + return file_cc_member_proto_rawDescGZIP(), []int{32} } func (x *EmailJoinToQueueRequest) GetEmailId() string { @@ -2028,7 +2194,7 @@ type EmailJoinToQueueResponse struct { func (x *EmailJoinToQueueResponse) Reset() { *x = EmailJoinToQueueResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[31] + mi := &file_cc_member_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2041,7 +2207,7 @@ func (x *EmailJoinToQueueResponse) String() string { func (*EmailJoinToQueueResponse) ProtoMessage() {} func (x *EmailJoinToQueueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[31] + mi := &file_cc_member_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2054,7 +2220,7 @@ func (x *EmailJoinToQueueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EmailJoinToQueueResponse.ProtoReflect.Descriptor instead. func (*EmailJoinToQueueResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{31} + return file_cc_member_proto_rawDescGZIP(), []int{33} } func (x *EmailJoinToQueueResponse) GetStatus() string { @@ -2078,7 +2244,7 @@ type DirectAgentToMemberRequest struct { func (x *DirectAgentToMemberRequest) Reset() { *x = DirectAgentToMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[32] + mi := &file_cc_member_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2091,7 +2257,7 @@ func (x *DirectAgentToMemberRequest) String() string { func (*DirectAgentToMemberRequest) ProtoMessage() {} func (x *DirectAgentToMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[32] + mi := &file_cc_member_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2104,7 +2270,7 @@ func (x *DirectAgentToMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DirectAgentToMemberRequest.ProtoReflect.Descriptor instead. func (*DirectAgentToMemberRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{32} + return file_cc_member_proto_rawDescGZIP(), []int{34} } func (x *DirectAgentToMemberRequest) GetMemberId() int64 { @@ -2146,7 +2312,7 @@ type DirectAgentToMemberResponse struct { func (x *DirectAgentToMemberResponse) Reset() { *x = DirectAgentToMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[33] + mi := &file_cc_member_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2159,7 +2325,7 @@ func (x *DirectAgentToMemberResponse) String() string { func (*DirectAgentToMemberResponse) ProtoMessage() {} func (x *DirectAgentToMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[33] + mi := &file_cc_member_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2172,7 +2338,7 @@ func (x *DirectAgentToMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DirectAgentToMemberResponse.ProtoReflect.Descriptor instead. func (*DirectAgentToMemberResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{33} + return file_cc_member_proto_rawDescGZIP(), []int{35} } func (x *DirectAgentToMemberResponse) GetAttemptId() int64 { @@ -2202,7 +2368,7 @@ type CallJoinToQueueRequest struct { func (x *CallJoinToQueueRequest) Reset() { *x = CallJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[34] + mi := &file_cc_member_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2215,7 +2381,7 @@ func (x *CallJoinToQueueRequest) String() string { func (*CallJoinToQueueRequest) ProtoMessage() {} func (x *CallJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[34] + mi := &file_cc_member_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,7 +2394,7 @@ func (x *CallJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34} + return file_cc_member_proto_rawDescGZIP(), []int{36} } func (x *CallJoinToQueueRequest) GetMemberCallId() string { @@ -2312,7 +2478,7 @@ type CallJoinToQueueResponse struct { func (x *CallJoinToQueueResponse) Reset() { *x = CallJoinToQueueResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[35] + mi := &file_cc_member_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2325,7 +2491,7 @@ func (x *CallJoinToQueueResponse) String() string { func (*CallJoinToQueueResponse) ProtoMessage() {} func (x *CallJoinToQueueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[35] + mi := &file_cc_member_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2338,7 +2504,7 @@ func (x *CallJoinToQueueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueResponse.ProtoReflect.Descriptor instead. func (*CallJoinToQueueResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{35} + return file_cc_member_proto_rawDescGZIP(), []int{37} } func (x *CallJoinToQueueResponse) GetStatus() string { @@ -2366,7 +2532,7 @@ type MemberCommunicationCreateRequest struct { func (x *MemberCommunicationCreateRequest) Reset() { *x = MemberCommunicationCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[36] + mi := &file_cc_member_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2545,7 @@ func (x *MemberCommunicationCreateRequest) String() string { func (*MemberCommunicationCreateRequest) ProtoMessage() {} func (x *MemberCommunicationCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[36] + mi := &file_cc_member_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2558,7 @@ func (x *MemberCommunicationCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunicationCreateRequest.ProtoReflect.Descriptor instead. func (*MemberCommunicationCreateRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{36} + return file_cc_member_proto_rawDescGZIP(), []int{38} } func (x *MemberCommunicationCreateRequest) GetDestination() string { @@ -2475,7 +2641,7 @@ type AttemptResultRequest struct { func (x *AttemptResultRequest) Reset() { *x = AttemptResultRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[37] + mi := &file_cc_member_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2488,7 +2654,7 @@ func (x *AttemptResultRequest) String() string { func (*AttemptResultRequest) ProtoMessage() {} func (x *AttemptResultRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[37] + mi := &file_cc_member_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2501,7 +2667,7 @@ func (x *AttemptResultRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptResultRequest.ProtoReflect.Descriptor instead. func (*AttemptResultRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{37} + return file_cc_member_proto_rawDescGZIP(), []int{39} } func (x *AttemptResultRequest) GetAttemptId() int64 { @@ -2613,7 +2779,7 @@ type AttemptResultResponse struct { func (x *AttemptResultResponse) Reset() { *x = AttemptResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[38] + mi := &file_cc_member_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2626,7 +2792,7 @@ func (x *AttemptResultResponse) String() string { func (*AttemptResultResponse) ProtoMessage() {} func (x *AttemptResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[38] + mi := &file_cc_member_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2639,12 +2805,296 @@ func (x *AttemptResultResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptResultResponse.ProtoReflect.Descriptor instead. func (*AttemptResultResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{38} + return file_cc_member_proto_rawDescGZIP(), []int{40} +} + +func (x *AttemptResultResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type IMJoinToQueueRequest_Queue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *IMJoinToQueueRequest_Queue) Reset() { + *x = IMJoinToQueueRequest_Queue{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_Queue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_Queue) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[41] + 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 IMJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *IMJoinToQueueRequest_Queue) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *IMJoinToQueueRequest_Queue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type IMJoinToQueueRequest_Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Sub string `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"` + MemberId string `protobuf:"bytes,3,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` +} + +func (x *IMJoinToQueueRequest_Endpoint) Reset() { + *x = IMJoinToQueueRequest_Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_Endpoint) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[43] + 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 IMJoinToQueueRequest_Endpoint.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_Endpoint) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *IMJoinToQueueRequest_Endpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IMJoinToQueueRequest_Endpoint) GetSub() string { + if x != nil { + return x.Sub + } + return "" +} + +func (x *IMJoinToQueueRequest_Endpoint) GetMemberId() string { + if x != nil { + return x.MemberId + } + return "" +} + +type IMJoinToQueueRequest_MemberInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Iss string `protobuf:"bytes,3,opt,name=iss,proto3" json:"iss,omitempty"` + Sub string `protobuf:"bytes,4,opt,name=sub,proto3" json:"sub,omitempty"` + Role int32 `protobuf:"varint,5,opt,name=role,proto3" json:"role,omitempty"` + MemberId string `protobuf:"bytes,6,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` +} + +func (x *IMJoinToQueueRequest_MemberInfo) Reset() { + *x = IMJoinToQueueRequest_MemberInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_MemberInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_MemberInfo) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_MemberInfo) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[44] + 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 IMJoinToQueueRequest_MemberInfo.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_MemberInfo) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetIss() string { + if x != nil { + return x.Iss + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetSub() string { + if x != nil { + return x.Sub + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetRole() int32 { + if x != nil { + return x.Role + } + return 0 +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetMemberId() string { + if x != nil { + return x.MemberId + } + return "" +} + +type IMJoinToQueueRequest_ThreadInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + From *IMJoinToQueueRequest_Endpoint `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` + To *IMJoinToQueueRequest_Endpoint `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` + Members []*IMJoinToQueueRequest_MemberInfo `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` + LastMessage string `protobuf:"bytes,5,opt,name=last_message,json=lastMessage,proto3" json:"last_message,omitempty"` +} + +func (x *IMJoinToQueueRequest_ThreadInfo) Reset() { + *x = IMJoinToQueueRequest_ThreadInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_ThreadInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_ThreadInfo) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_ThreadInfo) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[45] + 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 IMJoinToQueueRequest_ThreadInfo.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_ThreadInfo) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetFrom() *IMJoinToQueueRequest_Endpoint { + if x != nil { + return x.From + } + return nil +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetTo() *IMJoinToQueueRequest_Endpoint { + if x != nil { + return x.To + } + return nil +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetMembers() []*IMJoinToQueueRequest_MemberInfo { + if x != nil { + return x.Members + } + return nil } -func (x *AttemptResultResponse) GetStatus() string { +func (x *IMJoinToQueueRequest_ThreadInfo) GetLastMessage() string { if x != nil { - return x.Status + return x.LastMessage } return "" } @@ -2659,12 +3109,13 @@ type TaskJoinToAgentRequest_Processing struct { Sec uint32 `protobuf:"varint,3,opt,name=sec,proto3" json:"sec,omitempty"` Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,5,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,6,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *TaskJoinToAgentRequest_Processing) Reset() { *x = TaskJoinToAgentRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[43] + mi := &file_cc_member_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2677,7 +3128,7 @@ func (x *TaskJoinToAgentRequest_Processing) String() string { func (*TaskJoinToAgentRequest_Processing) ProtoMessage() {} func (x *TaskJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[43] + mi := &file_cc_member_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2690,7 +3141,7 @@ func (x *TaskJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message // Deprecated: Use TaskJoinToAgentRequest_Processing.ProtoReflect.Descriptor instead. func (*TaskJoinToAgentRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{20, 0} + return file_cc_member_proto_rawDescGZIP(), []int{22, 0} } func (x *TaskJoinToAgentRequest_Processing) GetEnabled() bool { @@ -2728,6 +3179,13 @@ func (x *TaskJoinToAgentRequest_Processing) GetProcessingProlongation() *Process return nil } +func (x *TaskJoinToAgentRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type OutboundCallRequest_Processing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2739,12 +3197,13 @@ type OutboundCallRequest_Processing struct { Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` WithoutAnswer bool `protobuf:"varint,5,opt,name=without_answer,json=withoutAnswer,proto3" json:"without_answer,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,6,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,7,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *OutboundCallRequest_Processing) Reset() { *x = OutboundCallRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[45] + mi := &file_cc_member_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2757,7 +3216,7 @@ func (x *OutboundCallRequest_Processing) String() string { func (*OutboundCallRequest_Processing) ProtoMessage() {} func (x *OutboundCallRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[45] + mi := &file_cc_member_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2770,7 +3229,7 @@ func (x *OutboundCallRequest_Processing) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallRequest_Processing.ProtoReflect.Descriptor instead. func (*OutboundCallRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{21, 0} + return file_cc_member_proto_rawDescGZIP(), []int{23, 0} } func (x *OutboundCallRequest_Processing) GetEnabled() bool { @@ -2815,6 +3274,13 @@ func (x *OutboundCallRequest_Processing) GetProcessingProlongation() *Processing return nil } +func (x *OutboundCallRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type CallJoinToAgentRequest_WaitingMusic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2828,7 +3294,7 @@ type CallJoinToAgentRequest_WaitingMusic struct { func (x *CallJoinToAgentRequest_WaitingMusic) Reset() { *x = CallJoinToAgentRequest_WaitingMusic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[47] + mi := &file_cc_member_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2841,7 +3307,7 @@ func (x *CallJoinToAgentRequest_WaitingMusic) String() string { func (*CallJoinToAgentRequest_WaitingMusic) ProtoMessage() {} func (x *CallJoinToAgentRequest_WaitingMusic) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[47] + mi := &file_cc_member_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2854,7 +3320,7 @@ func (x *CallJoinToAgentRequest_WaitingMusic) ProtoReflect() protoreflect.Messag // Deprecated: Use CallJoinToAgentRequest_WaitingMusic.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest_WaitingMusic) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23, 0} + return file_cc_member_proto_rawDescGZIP(), []int{25, 0} } func (x *CallJoinToAgentRequest_WaitingMusic) GetId() int32 { @@ -2888,12 +3354,13 @@ type CallJoinToAgentRequest_Processing struct { Sec uint32 `protobuf:"varint,3,opt,name=sec,proto3" json:"sec,omitempty"` Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,5,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,6,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *CallJoinToAgentRequest_Processing) Reset() { *x = CallJoinToAgentRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[48] + mi := &file_cc_member_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2906,7 +3373,7 @@ func (x *CallJoinToAgentRequest_Processing) String() string { func (*CallJoinToAgentRequest_Processing) ProtoMessage() {} func (x *CallJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[48] + mi := &file_cc_member_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2919,7 +3386,7 @@ func (x *CallJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message // Deprecated: Use CallJoinToAgentRequest_Processing.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23, 1} + return file_cc_member_proto_rawDescGZIP(), []int{25, 1} } func (x *CallJoinToAgentRequest_Processing) GetEnabled() bool { @@ -2957,6 +3424,13 @@ func (x *CallJoinToAgentRequest_Processing) GetProcessingProlongation() *Process return nil } +func (x *CallJoinToAgentRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type QueueEvent_JoinedData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2969,7 +3443,7 @@ type QueueEvent_JoinedData struct { func (x *QueueEvent_JoinedData) Reset() { *x = QueueEvent_JoinedData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[50] + mi := &file_cc_member_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2982,7 +3456,7 @@ func (x *QueueEvent_JoinedData) String() string { func (*QueueEvent_JoinedData) ProtoMessage() {} func (x *QueueEvent_JoinedData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[50] + mi := &file_cc_member_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2995,7 +3469,7 @@ func (x *QueueEvent_JoinedData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_JoinedData.ProtoReflect.Descriptor instead. func (*QueueEvent_JoinedData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 0} + return file_cc_member_proto_rawDescGZIP(), []int{28, 0} } func (x *QueueEvent_JoinedData) GetAttemptId() int64 { @@ -3025,7 +3499,7 @@ type QueueEvent_OfferingData struct { func (x *QueueEvent_OfferingData) Reset() { *x = QueueEvent_OfferingData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[51] + mi := &file_cc_member_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3038,7 +3512,7 @@ func (x *QueueEvent_OfferingData) String() string { func (*QueueEvent_OfferingData) ProtoMessage() {} func (x *QueueEvent_OfferingData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[51] + mi := &file_cc_member_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3051,7 +3525,7 @@ func (x *QueueEvent_OfferingData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_OfferingData.ProtoReflect.Descriptor instead. func (*QueueEvent_OfferingData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 1} + return file_cc_member_proto_rawDescGZIP(), []int{28, 1} } func (x *QueueEvent_OfferingData) GetAgentId() int32 { @@ -3086,7 +3560,7 @@ type QueueEvent_MissedAgent struct { func (x *QueueEvent_MissedAgent) Reset() { *x = QueueEvent_MissedAgent{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[52] + mi := &file_cc_member_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3099,7 +3573,7 @@ func (x *QueueEvent_MissedAgent) String() string { func (*QueueEvent_MissedAgent) ProtoMessage() {} func (x *QueueEvent_MissedAgent) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[52] + mi := &file_cc_member_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3112,7 +3586,7 @@ func (x *QueueEvent_MissedAgent) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_MissedAgent.ProtoReflect.Descriptor instead. func (*QueueEvent_MissedAgent) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 2} + return file_cc_member_proto_rawDescGZIP(), []int{28, 2} } func (x *QueueEvent_MissedAgent) GetTimeout() int64 { @@ -3133,7 +3607,7 @@ type QueueEvent_BridgedData struct { func (x *QueueEvent_BridgedData) Reset() { *x = QueueEvent_BridgedData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[53] + mi := &file_cc_member_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3146,7 +3620,7 @@ func (x *QueueEvent_BridgedData) String() string { func (*QueueEvent_BridgedData) ProtoMessage() {} func (x *QueueEvent_BridgedData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[53] + mi := &file_cc_member_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3159,7 +3633,7 @@ func (x *QueueEvent_BridgedData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_BridgedData.ProtoReflect.Descriptor instead. func (*QueueEvent_BridgedData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 3} + return file_cc_member_proto_rawDescGZIP(), []int{28, 3} } func (x *QueueEvent_BridgedData) GetAgentId() int32 { @@ -3180,7 +3654,7 @@ type QueueEvent_LeavingData struct { func (x *QueueEvent_LeavingData) Reset() { *x = QueueEvent_LeavingData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[54] + mi := &file_cc_member_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3193,7 +3667,7 @@ func (x *QueueEvent_LeavingData) String() string { func (*QueueEvent_LeavingData) ProtoMessage() {} func (x *QueueEvent_LeavingData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[54] + mi := &file_cc_member_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3206,7 +3680,7 @@ func (x *QueueEvent_LeavingData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_LeavingData.ProtoReflect.Descriptor instead. func (*QueueEvent_LeavingData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 4} + return file_cc_member_proto_rawDescGZIP(), []int{28, 4} } func (x *QueueEvent_LeavingData) GetResult() string { @@ -3228,7 +3702,7 @@ type ChatJoinToQueueRequest_Queue struct { func (x *ChatJoinToQueueRequest_Queue) Reset() { *x = ChatJoinToQueueRequest_Queue{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[55] + mi := &file_cc_member_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3241,7 +3715,7 @@ func (x *ChatJoinToQueueRequest_Queue) String() string { func (*ChatJoinToQueueRequest_Queue) ProtoMessage() {} func (x *ChatJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[55] + mi := &file_cc_member_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3254,7 +3728,7 @@ func (x *ChatJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. func (*ChatJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{29, 0} + return file_cc_member_proto_rawDescGZIP(), []int{31, 0} } func (x *ChatJoinToQueueRequest_Queue) GetId() int32 { @@ -3283,7 +3757,7 @@ type CallJoinToQueueRequest_Queue struct { func (x *CallJoinToQueueRequest_Queue) Reset() { *x = CallJoinToQueueRequest_Queue{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[57] + mi := &file_cc_member_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3296,7 +3770,7 @@ func (x *CallJoinToQueueRequest_Queue) String() string { func (*CallJoinToQueueRequest_Queue) ProtoMessage() {} func (x *CallJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[57] + mi := &file_cc_member_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3309,7 +3783,7 @@ func (x *CallJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34, 0} + return file_cc_member_proto_rawDescGZIP(), []int{36, 0} } func (x *CallJoinToQueueRequest_Queue) GetId() int32 { @@ -3339,7 +3813,7 @@ type CallJoinToQueueRequest_WaitingMusic struct { func (x *CallJoinToQueueRequest_WaitingMusic) Reset() { *x = CallJoinToQueueRequest_WaitingMusic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[58] + mi := &file_cc_member_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3352,7 +3826,7 @@ func (x *CallJoinToQueueRequest_WaitingMusic) String() string { func (*CallJoinToQueueRequest_WaitingMusic) ProtoMessage() {} func (x *CallJoinToQueueRequest_WaitingMusic) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[58] + mi := &file_cc_member_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3365,7 +3839,7 @@ func (x *CallJoinToQueueRequest_WaitingMusic) ProtoReflect() protoreflect.Messag // Deprecated: Use CallJoinToQueueRequest_WaitingMusic.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest_WaitingMusic) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34, 1} + return file_cc_member_proto_rawDescGZIP(), []int{36, 1} } func (x *CallJoinToQueueRequest_WaitingMusic) GetId() int32 { @@ -3394,592 +3868,668 @@ var File_cc_member_proto protoreflect.FileDescriptor var file_cc_member_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x63, 0x63, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x63, 0x63, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, - 0x70, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, - 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x15, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x74, 0x6f, 0x22, 0xc0, 0x07, 0x0a, 0x14, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, + 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x73, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x75, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, + 0x1a, 0xf2, 0x01, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x35, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x31, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x36, 0x0a, 0x15, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0x52, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, + 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x70, 0x0a, 0x17, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, - 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x19, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, - 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, + 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, + 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x41, + 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, + 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, + 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x09, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x79, 0x6e, + 0x63, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, - 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x51, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, - 0x44, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 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, - 0x22, 0x21, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x32, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x53, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, - 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0x99, 0x05, - 0x0a, 0x16, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, - 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, - 0x64, 0x1a, 0xd7, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, - 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, - 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, - 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, - 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, - 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x05, 0x0a, 0x13, 0x4f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x1a, 0xfe, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, - 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, - 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, - 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, - 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x17, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, - 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, - 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x1a, 0x3d, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x50, 0x0a, 0x14, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0xba, 0x06, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, - 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, - 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x46, - 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xd7, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, - 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, - 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, - 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x12, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1f, + 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3d, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, + 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 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, 0x22, 0x21, 0x0a, 0x0f, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb7, + 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, + 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, + 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x6c, 0x6f, + 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x28, + 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xb5, 0x05, 0x0a, 0x16, 0x54, 0x61, 0x73, + 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0xf3, 0x01, 0x0a, + 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, + 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, + 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, + 0x76, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xaf, 0x05, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x12, 0x44, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, + 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x1a, 0x9a, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, + 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x25, 0x0a, 0x0e, + 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, - 0x0a, 0x1b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6e, - 0x65, 0x77, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x6e, 0x65, - 0x77, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, - 0x36, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, - 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x1a, 0x42, 0x0a, 0x0a, - 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, - 0x1a, 0x6c, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x27, - 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x28, 0x0a, 0x0b, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x1a, 0x25, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x3a, 0x0a, 0x19, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x16, 0x43, - 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, + 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x61, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x61, 0x76, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x17, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd6, 0x06, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, + 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, + 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x1a, 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xf3, 0x01, 0x0a, 0x0a, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, + 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, + 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, 0x76, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, 0x76, 0x65, 0x1a, + 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, 0x0a, + 0x1b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6e, 0x65, + 0x77, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x6e, 0x65, 0x77, + 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x36, 0x0a, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, 0x36, + 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x6c, + 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x1a, 0x42, 0x0a, 0x0a, 0x4a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x1a, + 0x6c, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x27, 0x0a, + 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x28, 0x0a, 0x0b, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x1a, 0x25, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x3a, 0x0a, 0x19, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x03, 0x0a, 0x16, 0x43, 0x68, + 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, + 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, + 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, - 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, - 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, - 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, - 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, - 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, - 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, + 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x17, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, - 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x3c, - 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x17, - 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x99, 0x02, 0x0a, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x22, 0xc1, 0x05, 0x0a, 0x14, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x61, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x42, 0x0a, 0x1d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x12, - 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, - 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, - 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x12, 0x77, 0x61, 0x69, 0x74, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x2f, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x32, 0xca, 0x0a, 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, - 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, + 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9c, 0x01, + 0x0a, 0x1a, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x16, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x68, - 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, - 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, - 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, - 0x12, 0x43, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, - 0x12, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x4f, - 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x63, - 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, + 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, + 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, + 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x20, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x74, 0x6d, 0x66, 0x22, 0xc1, 0x05, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, + 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x1d, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, + 0x65, 0x64, 0x69, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, + 0x69, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x42, 0x65, + 0x74, 0x77, 0x65, 0x65, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1a, + 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x92, 0x0b, 0x0a, 0x0d, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x41, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x63, + 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, + 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x63, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, + 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x0c, 0x4f, 0x75, 0x74, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4f, + 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, + 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, + 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x19, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x63, - 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x63, 0x2e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x63, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, + 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x08, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, - 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, - 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5d, 0x0a, - 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0d, 0x43, 0x63, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, - 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x08, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, + 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5d, + 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0d, 0x43, 0x63, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, + 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3994,144 +4544,159 @@ func file_cc_member_proto_rawDescGZIP() []byte { return file_cc_member_proto_rawDescData } -var file_cc_member_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_cc_member_proto_msgTypes = make([]protoimpl.MessageInfo, 68) var file_cc_member_proto_goTypes = []interface{}{ - (*ResumeAttemptRequest)(nil), // 0: cc.ResumeAttemptRequest - (*ResumeAttemptResponse)(nil), // 1: cc.ResumeAttemptResponse - (*InterceptAttemptRequest)(nil), // 2: cc.InterceptAttemptRequest - (*InterceptAttemptResponse)(nil), // 3: cc.InterceptAttemptResponse - (*CancelAttemptRequest)(nil), // 4: cc.CancelAttemptRequest - (*CancelAttemptResponse)(nil), // 5: cc.CancelAttemptResponse - (*ProcessingFormActionRequest)(nil), // 6: cc.ProcessingFormActionRequest - (*ProcessingFormActionResponse)(nil), // 7: cc.ProcessingFormActionResponse - (*ProcessingFormSaveRequest)(nil), // 8: cc.ProcessingFormSaveRequest - (*ProcessingFormSaveResponse)(nil), // 9: cc.ProcessingFormSaveResponse - (*ProcessingComponentActionRequest)(nil), // 10: cc.ProcessingComponentActionRequest - (*ProcessingComponentActionResponse)(nil), // 11: cc.ProcessingComponentActionResponse - (*TransferRequest)(nil), // 12: cc.TransferRequest - (*TransferResponse)(nil), // 13: cc.TransferResponse - (*CancelAgentDistributeRequest)(nil), // 14: cc.CancelAgentDistributeRequest - (*CancelAgentDistributeResponse)(nil), // 15: cc.CancelAgentDistributeResponse - (*MemberCommunicationType)(nil), // 16: cc.MemberCommunicationType - (*MemberCommunication)(nil), // 17: cc.MemberCommunication - (*QueueFormSchema)(nil), // 18: cc.QueueFormSchema - (*ProcessingProlongation)(nil), // 19: cc.ProcessingProlongation - (*TaskJoinToAgentRequest)(nil), // 20: cc.TaskJoinToAgentRequest - (*OutboundCallRequest)(nil), // 21: cc.OutboundCallRequest - (*OutboundCallResponse)(nil), // 22: cc.OutboundCallResponse - (*CallJoinToAgentRequest)(nil), // 23: cc.CallJoinToAgentRequest - (*AttemptRenewalResultRequest)(nil), // 24: cc.AttemptRenewalResultRequest - (*AttemptRenewalResultResponse)(nil), // 25: cc.AttemptRenewalResultResponse - (*QueueEvent)(nil), // 26: cc.QueueEvent - (*AnswerConversationRequest)(nil), // 27: cc.AnswerConversationRequest - (*AnswerConversationResponse)(nil), // 28: cc.AnswerConversationResponse - (*ChatJoinToQueueRequest)(nil), // 29: cc.ChatJoinToQueueRequest - (*EmailJoinToQueueRequest)(nil), // 30: cc.EmailJoinToQueueRequest - (*EmailJoinToQueueResponse)(nil), // 31: cc.EmailJoinToQueueResponse - (*DirectAgentToMemberRequest)(nil), // 32: cc.DirectAgentToMemberRequest - (*DirectAgentToMemberResponse)(nil), // 33: cc.DirectAgentToMemberResponse - (*CallJoinToQueueRequest)(nil), // 34: cc.CallJoinToQueueRequest - (*CallJoinToQueueResponse)(nil), // 35: cc.CallJoinToQueueResponse - (*MemberCommunicationCreateRequest)(nil), // 36: cc.MemberCommunicationCreateRequest - (*AttemptResultRequest)(nil), // 37: cc.AttemptResultRequest - (*AttemptResultResponse)(nil), // 38: cc.AttemptResultResponse - nil, // 39: cc.ProcessingFormActionRequest.FieldsEntry - nil, // 40: cc.ProcessingFormSaveRequest.FieldsEntry - nil, // 41: cc.ProcessingComponentActionRequest.VariablesEntry - nil, // 42: cc.TransferRequest.FormFieldsEntry - (*TaskJoinToAgentRequest_Processing)(nil), // 43: cc.TaskJoinToAgentRequest.Processing - nil, // 44: cc.TaskJoinToAgentRequest.VariablesEntry - (*OutboundCallRequest_Processing)(nil), // 45: cc.OutboundCallRequest.Processing - nil, // 46: cc.OutboundCallRequest.VariablesEntry - (*CallJoinToAgentRequest_WaitingMusic)(nil), // 47: cc.CallJoinToAgentRequest.WaitingMusic - (*CallJoinToAgentRequest_Processing)(nil), // 48: cc.CallJoinToAgentRequest.Processing - nil, // 49: cc.CallJoinToAgentRequest.VariablesEntry - (*QueueEvent_JoinedData)(nil), // 50: cc.QueueEvent.JoinedData - (*QueueEvent_OfferingData)(nil), // 51: cc.QueueEvent.OfferingData - (*QueueEvent_MissedAgent)(nil), // 52: cc.QueueEvent.MissedAgent - (*QueueEvent_BridgedData)(nil), // 53: cc.QueueEvent.BridgedData - (*QueueEvent_LeavingData)(nil), // 54: cc.QueueEvent.LeavingData - (*ChatJoinToQueueRequest_Queue)(nil), // 55: cc.ChatJoinToQueueRequest.Queue - nil, // 56: cc.ChatJoinToQueueRequest.VariablesEntry - (*CallJoinToQueueRequest_Queue)(nil), // 57: cc.CallJoinToQueueRequest.Queue - (*CallJoinToQueueRequest_WaitingMusic)(nil), // 58: cc.CallJoinToQueueRequest.WaitingMusic - nil, // 59: cc.CallJoinToQueueRequest.VariablesEntry - nil, // 60: cc.AttemptResultRequest.VariablesEntry - (*engine.Lookup)(nil), // 61: engine.Lookup + (*IMJoinToQueueRequest)(nil), // 0: cc.IMJoinToQueueRequest + (*IMJoinToQueueResponse)(nil), // 1: cc.IMJoinToQueueResponse + (*ResumeAttemptRequest)(nil), // 2: cc.ResumeAttemptRequest + (*ResumeAttemptResponse)(nil), // 3: cc.ResumeAttemptResponse + (*InterceptAttemptRequest)(nil), // 4: cc.InterceptAttemptRequest + (*InterceptAttemptResponse)(nil), // 5: cc.InterceptAttemptResponse + (*CancelAttemptRequest)(nil), // 6: cc.CancelAttemptRequest + (*CancelAttemptResponse)(nil), // 7: cc.CancelAttemptResponse + (*ProcessingFormActionRequest)(nil), // 8: cc.ProcessingFormActionRequest + (*ProcessingFormActionResponse)(nil), // 9: cc.ProcessingFormActionResponse + (*ProcessingFormSaveRequest)(nil), // 10: cc.ProcessingFormSaveRequest + (*ProcessingFormSaveResponse)(nil), // 11: cc.ProcessingFormSaveResponse + (*ProcessingComponentActionRequest)(nil), // 12: cc.ProcessingComponentActionRequest + (*ProcessingComponentActionResponse)(nil), // 13: cc.ProcessingComponentActionResponse + (*TransferRequest)(nil), // 14: cc.TransferRequest + (*TransferResponse)(nil), // 15: cc.TransferResponse + (*CancelAgentDistributeRequest)(nil), // 16: cc.CancelAgentDistributeRequest + (*CancelAgentDistributeResponse)(nil), // 17: cc.CancelAgentDistributeResponse + (*MemberCommunicationType)(nil), // 18: cc.MemberCommunicationType + (*MemberCommunication)(nil), // 19: cc.MemberCommunication + (*QueueFormSchema)(nil), // 20: cc.QueueFormSchema + (*ProcessingProlongation)(nil), // 21: cc.ProcessingProlongation + (*TaskJoinToAgentRequest)(nil), // 22: cc.TaskJoinToAgentRequest + (*OutboundCallRequest)(nil), // 23: cc.OutboundCallRequest + (*OutboundCallResponse)(nil), // 24: cc.OutboundCallResponse + (*CallJoinToAgentRequest)(nil), // 25: cc.CallJoinToAgentRequest + (*AttemptRenewalResultRequest)(nil), // 26: cc.AttemptRenewalResultRequest + (*AttemptRenewalResultResponse)(nil), // 27: cc.AttemptRenewalResultResponse + (*QueueEvent)(nil), // 28: cc.QueueEvent + (*AnswerConversationRequest)(nil), // 29: cc.AnswerConversationRequest + (*AnswerConversationResponse)(nil), // 30: cc.AnswerConversationResponse + (*ChatJoinToQueueRequest)(nil), // 31: cc.ChatJoinToQueueRequest + (*EmailJoinToQueueRequest)(nil), // 32: cc.EmailJoinToQueueRequest + (*EmailJoinToQueueResponse)(nil), // 33: cc.EmailJoinToQueueResponse + (*DirectAgentToMemberRequest)(nil), // 34: cc.DirectAgentToMemberRequest + (*DirectAgentToMemberResponse)(nil), // 35: cc.DirectAgentToMemberResponse + (*CallJoinToQueueRequest)(nil), // 36: cc.CallJoinToQueueRequest + (*CallJoinToQueueResponse)(nil), // 37: cc.CallJoinToQueueResponse + (*MemberCommunicationCreateRequest)(nil), // 38: cc.MemberCommunicationCreateRequest + (*AttemptResultRequest)(nil), // 39: cc.AttemptResultRequest + (*AttemptResultResponse)(nil), // 40: cc.AttemptResultResponse + (*IMJoinToQueueRequest_Queue)(nil), // 41: cc.IMJoinToQueueRequest.Queue + nil, // 42: cc.IMJoinToQueueRequest.VariablesEntry + (*IMJoinToQueueRequest_Endpoint)(nil), // 43: cc.IMJoinToQueueRequest.Endpoint + (*IMJoinToQueueRequest_MemberInfo)(nil), // 44: cc.IMJoinToQueueRequest.MemberInfo + (*IMJoinToQueueRequest_ThreadInfo)(nil), // 45: cc.IMJoinToQueueRequest.ThreadInfo + nil, // 46: cc.ProcessingFormActionRequest.FieldsEntry + nil, // 47: cc.ProcessingFormSaveRequest.FieldsEntry + nil, // 48: cc.ProcessingComponentActionRequest.VariablesEntry + nil, // 49: cc.TransferRequest.FormFieldsEntry + (*TaskJoinToAgentRequest_Processing)(nil), // 50: cc.TaskJoinToAgentRequest.Processing + nil, // 51: cc.TaskJoinToAgentRequest.VariablesEntry + (*OutboundCallRequest_Processing)(nil), // 52: cc.OutboundCallRequest.Processing + nil, // 53: cc.OutboundCallRequest.VariablesEntry + (*CallJoinToAgentRequest_WaitingMusic)(nil), // 54: cc.CallJoinToAgentRequest.WaitingMusic + (*CallJoinToAgentRequest_Processing)(nil), // 55: cc.CallJoinToAgentRequest.Processing + nil, // 56: cc.CallJoinToAgentRequest.VariablesEntry + (*QueueEvent_JoinedData)(nil), // 57: cc.QueueEvent.JoinedData + (*QueueEvent_OfferingData)(nil), // 58: cc.QueueEvent.OfferingData + (*QueueEvent_MissedAgent)(nil), // 59: cc.QueueEvent.MissedAgent + (*QueueEvent_BridgedData)(nil), // 60: cc.QueueEvent.BridgedData + (*QueueEvent_LeavingData)(nil), // 61: cc.QueueEvent.LeavingData + (*ChatJoinToQueueRequest_Queue)(nil), // 62: cc.ChatJoinToQueueRequest.Queue + nil, // 63: cc.ChatJoinToQueueRequest.VariablesEntry + (*CallJoinToQueueRequest_Queue)(nil), // 64: cc.CallJoinToQueueRequest.Queue + (*CallJoinToQueueRequest_WaitingMusic)(nil), // 65: cc.CallJoinToQueueRequest.WaitingMusic + nil, // 66: cc.CallJoinToQueueRequest.VariablesEntry + nil, // 67: cc.AttemptResultRequest.VariablesEntry + (*engine.Lookup)(nil), // 68: engine.Lookup } var file_cc_member_proto_depIdxs = []int32{ - 39, // 0: cc.ProcessingFormActionRequest.fields:type_name -> cc.ProcessingFormActionRequest.FieldsEntry - 40, // 1: cc.ProcessingFormSaveRequest.fields:type_name -> cc.ProcessingFormSaveRequest.FieldsEntry - 41, // 2: cc.ProcessingComponentActionRequest.variables:type_name -> cc.ProcessingComponentActionRequest.VariablesEntry - 42, // 3: cc.TransferRequest.form_fields:type_name -> cc.TransferRequest.FormFieldsEntry - 16, // 4: cc.MemberCommunication.type:type_name -> cc.MemberCommunicationType - 44, // 5: cc.TaskJoinToAgentRequest.variables:type_name -> cc.TaskJoinToAgentRequest.VariablesEntry - 43, // 6: cc.TaskJoinToAgentRequest.processing:type_name -> cc.TaskJoinToAgentRequest.Processing - 17, // 7: cc.TaskJoinToAgentRequest.destination:type_name -> cc.MemberCommunication - 46, // 8: cc.OutboundCallRequest.variables:type_name -> cc.OutboundCallRequest.VariablesEntry - 45, // 9: cc.OutboundCallRequest.processing:type_name -> cc.OutboundCallRequest.Processing - 47, // 10: cc.CallJoinToAgentRequest.waitingMusic:type_name -> cc.CallJoinToAgentRequest.WaitingMusic - 49, // 11: cc.CallJoinToAgentRequest.variables:type_name -> cc.CallJoinToAgentRequest.VariablesEntry - 48, // 12: cc.CallJoinToAgentRequest.processing:type_name -> cc.CallJoinToAgentRequest.Processing - 51, // 13: cc.QueueEvent.offering:type_name -> cc.QueueEvent.OfferingData - 53, // 14: cc.QueueEvent.bridged:type_name -> cc.QueueEvent.BridgedData - 52, // 15: cc.QueueEvent.missed:type_name -> cc.QueueEvent.MissedAgent - 54, // 16: cc.QueueEvent.leaving:type_name -> cc.QueueEvent.LeavingData - 50, // 17: cc.QueueEvent.joined:type_name -> cc.QueueEvent.JoinedData - 55, // 18: cc.ChatJoinToQueueRequest.queue:type_name -> cc.ChatJoinToQueueRequest.Queue - 56, // 19: cc.ChatJoinToQueueRequest.variables:type_name -> cc.ChatJoinToQueueRequest.VariablesEntry - 57, // 20: cc.CallJoinToQueueRequest.queue:type_name -> cc.CallJoinToQueueRequest.Queue - 58, // 21: cc.CallJoinToQueueRequest.waitingMusic:type_name -> cc.CallJoinToQueueRequest.WaitingMusic - 59, // 22: cc.CallJoinToQueueRequest.variables:type_name -> cc.CallJoinToQueueRequest.VariablesEntry - 61, // 23: cc.MemberCommunicationCreateRequest.type:type_name -> engine.Lookup - 61, // 24: cc.MemberCommunicationCreateRequest.resource:type_name -> engine.Lookup - 60, // 25: cc.AttemptResultRequest.variables:type_name -> cc.AttemptResultRequest.VariablesEntry - 36, // 26: cc.AttemptResultRequest.add_communications:type_name -> cc.MemberCommunicationCreateRequest - 18, // 27: cc.TaskJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 28: cc.TaskJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 18, // 29: cc.OutboundCallRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 30: cc.OutboundCallRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 18, // 31: cc.CallJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 32: cc.CallJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 37, // 33: cc.MemberService.AttemptResult:input_type -> cc.AttemptResultRequest - 24, // 34: cc.MemberService.AttemptRenewalResult:input_type -> cc.AttemptRenewalResultRequest - 34, // 35: cc.MemberService.CallJoinToQueue:input_type -> cc.CallJoinToQueueRequest - 29, // 36: cc.MemberService.ChatJoinToQueue:input_type -> cc.ChatJoinToQueueRequest - 23, // 37: cc.MemberService.CallJoinToAgent:input_type -> cc.CallJoinToAgentRequest - 21, // 38: cc.MemberService.OutboundCall:input_type -> cc.OutboundCallRequest - 20, // 39: cc.MemberService.TaskJoinToAgent:input_type -> cc.TaskJoinToAgentRequest - 4, // 40: cc.MemberService.CancelAttempt:input_type -> cc.CancelAttemptRequest - 14, // 41: cc.MemberService.CancelAgentDistribute:input_type -> cc.CancelAgentDistributeRequest - 30, // 42: cc.MemberService.EmailJoinToQueue:input_type -> cc.EmailJoinToQueueRequest - 32, // 43: cc.MemberService.DirectAgentToMember:input_type -> cc.DirectAgentToMemberRequest - 6, // 44: cc.MemberService.ProcessingFormAction:input_type -> cc.ProcessingFormActionRequest - 10, // 45: cc.MemberService.ProcessingComponentAction:input_type -> cc.ProcessingComponentActionRequest - 8, // 46: cc.MemberService.ProcessingFormSave:input_type -> cc.ProcessingFormSaveRequest - 12, // 47: cc.MemberService.Transfer:input_type -> cc.TransferRequest - 2, // 48: cc.MemberService.InterceptAttempt:input_type -> cc.InterceptAttemptRequest - 0, // 49: cc.MemberService.ResumeAttempt:input_type -> cc.ResumeAttemptRequest - 38, // 50: cc.MemberService.AttemptResult:output_type -> cc.AttemptResultResponse - 25, // 51: cc.MemberService.AttemptRenewalResult:output_type -> cc.AttemptRenewalResultResponse - 26, // 52: cc.MemberService.CallJoinToQueue:output_type -> cc.QueueEvent - 26, // 53: cc.MemberService.ChatJoinToQueue:output_type -> cc.QueueEvent - 26, // 54: cc.MemberService.CallJoinToAgent:output_type -> cc.QueueEvent - 22, // 55: cc.MemberService.OutboundCall:output_type -> cc.OutboundCallResponse - 26, // 56: cc.MemberService.TaskJoinToAgent:output_type -> cc.QueueEvent - 5, // 57: cc.MemberService.CancelAttempt:output_type -> cc.CancelAttemptResponse - 15, // 58: cc.MemberService.CancelAgentDistribute:output_type -> cc.CancelAgentDistributeResponse - 31, // 59: cc.MemberService.EmailJoinToQueue:output_type -> cc.EmailJoinToQueueResponse - 33, // 60: cc.MemberService.DirectAgentToMember:output_type -> cc.DirectAgentToMemberResponse - 7, // 61: cc.MemberService.ProcessingFormAction:output_type -> cc.ProcessingFormActionResponse - 11, // 62: cc.MemberService.ProcessingComponentAction:output_type -> cc.ProcessingComponentActionResponse - 9, // 63: cc.MemberService.ProcessingFormSave:output_type -> cc.ProcessingFormSaveResponse - 13, // 64: cc.MemberService.Transfer:output_type -> cc.TransferResponse - 3, // 65: cc.MemberService.InterceptAttempt:output_type -> cc.InterceptAttemptResponse - 1, // 66: cc.MemberService.ResumeAttempt:output_type -> cc.ResumeAttemptResponse - 50, // [50:67] is the sub-list for method output_type - 33, // [33:50] is the sub-list for method input_type - 33, // [33:33] is the sub-list for extension type_name - 33, // [33:33] is the sub-list for extension extendee - 0, // [0:33] is the sub-list for field type_name + 41, // 0: cc.IMJoinToQueueRequest.queue:type_name -> cc.IMJoinToQueueRequest.Queue + 42, // 1: cc.IMJoinToQueueRequest.variables:type_name -> cc.IMJoinToQueueRequest.VariablesEntry + 45, // 2: cc.IMJoinToQueueRequest.thread:type_name -> cc.IMJoinToQueueRequest.ThreadInfo + 46, // 3: cc.ProcessingFormActionRequest.fields:type_name -> cc.ProcessingFormActionRequest.FieldsEntry + 47, // 4: cc.ProcessingFormSaveRequest.fields:type_name -> cc.ProcessingFormSaveRequest.FieldsEntry + 48, // 5: cc.ProcessingComponentActionRequest.variables:type_name -> cc.ProcessingComponentActionRequest.VariablesEntry + 49, // 6: cc.TransferRequest.form_fields:type_name -> cc.TransferRequest.FormFieldsEntry + 18, // 7: cc.MemberCommunication.type:type_name -> cc.MemberCommunicationType + 51, // 8: cc.TaskJoinToAgentRequest.variables:type_name -> cc.TaskJoinToAgentRequest.VariablesEntry + 50, // 9: cc.TaskJoinToAgentRequest.processing:type_name -> cc.TaskJoinToAgentRequest.Processing + 19, // 10: cc.TaskJoinToAgentRequest.destination:type_name -> cc.MemberCommunication + 53, // 11: cc.OutboundCallRequest.variables:type_name -> cc.OutboundCallRequest.VariablesEntry + 52, // 12: cc.OutboundCallRequest.processing:type_name -> cc.OutboundCallRequest.Processing + 54, // 13: cc.CallJoinToAgentRequest.waitingMusic:type_name -> cc.CallJoinToAgentRequest.WaitingMusic + 56, // 14: cc.CallJoinToAgentRequest.variables:type_name -> cc.CallJoinToAgentRequest.VariablesEntry + 55, // 15: cc.CallJoinToAgentRequest.processing:type_name -> cc.CallJoinToAgentRequest.Processing + 58, // 16: cc.QueueEvent.offering:type_name -> cc.QueueEvent.OfferingData + 60, // 17: cc.QueueEvent.bridged:type_name -> cc.QueueEvent.BridgedData + 59, // 18: cc.QueueEvent.missed:type_name -> cc.QueueEvent.MissedAgent + 61, // 19: cc.QueueEvent.leaving:type_name -> cc.QueueEvent.LeavingData + 57, // 20: cc.QueueEvent.joined:type_name -> cc.QueueEvent.JoinedData + 62, // 21: cc.ChatJoinToQueueRequest.queue:type_name -> cc.ChatJoinToQueueRequest.Queue + 63, // 22: cc.ChatJoinToQueueRequest.variables:type_name -> cc.ChatJoinToQueueRequest.VariablesEntry + 64, // 23: cc.CallJoinToQueueRequest.queue:type_name -> cc.CallJoinToQueueRequest.Queue + 65, // 24: cc.CallJoinToQueueRequest.waitingMusic:type_name -> cc.CallJoinToQueueRequest.WaitingMusic + 66, // 25: cc.CallJoinToQueueRequest.variables:type_name -> cc.CallJoinToQueueRequest.VariablesEntry + 68, // 26: cc.MemberCommunicationCreateRequest.type:type_name -> engine.Lookup + 68, // 27: cc.MemberCommunicationCreateRequest.resource:type_name -> engine.Lookup + 67, // 28: cc.AttemptResultRequest.variables:type_name -> cc.AttemptResultRequest.VariablesEntry + 38, // 29: cc.AttemptResultRequest.add_communications:type_name -> cc.MemberCommunicationCreateRequest + 43, // 30: cc.IMJoinToQueueRequest.ThreadInfo.from:type_name -> cc.IMJoinToQueueRequest.Endpoint + 43, // 31: cc.IMJoinToQueueRequest.ThreadInfo.to:type_name -> cc.IMJoinToQueueRequest.Endpoint + 44, // 32: cc.IMJoinToQueueRequest.ThreadInfo.members:type_name -> cc.IMJoinToQueueRequest.MemberInfo + 20, // 33: cc.TaskJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 34: cc.TaskJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 20, // 35: cc.OutboundCallRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 36: cc.OutboundCallRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 20, // 37: cc.CallJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 38: cc.CallJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 39, // 39: cc.MemberService.AttemptResult:input_type -> cc.AttemptResultRequest + 26, // 40: cc.MemberService.AttemptRenewalResult:input_type -> cc.AttemptRenewalResultRequest + 36, // 41: cc.MemberService.CallJoinToQueue:input_type -> cc.CallJoinToQueueRequest + 31, // 42: cc.MemberService.ChatJoinToQueue:input_type -> cc.ChatJoinToQueueRequest + 25, // 43: cc.MemberService.CallJoinToAgent:input_type -> cc.CallJoinToAgentRequest + 23, // 44: cc.MemberService.OutboundCall:input_type -> cc.OutboundCallRequest + 22, // 45: cc.MemberService.TaskJoinToAgent:input_type -> cc.TaskJoinToAgentRequest + 0, // 46: cc.MemberService.IMJoinToQueue:input_type -> cc.IMJoinToQueueRequest + 6, // 47: cc.MemberService.CancelAttempt:input_type -> cc.CancelAttemptRequest + 16, // 48: cc.MemberService.CancelAgentDistribute:input_type -> cc.CancelAgentDistributeRequest + 32, // 49: cc.MemberService.EmailJoinToQueue:input_type -> cc.EmailJoinToQueueRequest + 34, // 50: cc.MemberService.DirectAgentToMember:input_type -> cc.DirectAgentToMemberRequest + 8, // 51: cc.MemberService.ProcessingFormAction:input_type -> cc.ProcessingFormActionRequest + 12, // 52: cc.MemberService.ProcessingComponentAction:input_type -> cc.ProcessingComponentActionRequest + 10, // 53: cc.MemberService.ProcessingFormSave:input_type -> cc.ProcessingFormSaveRequest + 14, // 54: cc.MemberService.Transfer:input_type -> cc.TransferRequest + 4, // 55: cc.MemberService.InterceptAttempt:input_type -> cc.InterceptAttemptRequest + 2, // 56: cc.MemberService.ResumeAttempt:input_type -> cc.ResumeAttemptRequest + 40, // 57: cc.MemberService.AttemptResult:output_type -> cc.AttemptResultResponse + 27, // 58: cc.MemberService.AttemptRenewalResult:output_type -> cc.AttemptRenewalResultResponse + 28, // 59: cc.MemberService.CallJoinToQueue:output_type -> cc.QueueEvent + 28, // 60: cc.MemberService.ChatJoinToQueue:output_type -> cc.QueueEvent + 28, // 61: cc.MemberService.CallJoinToAgent:output_type -> cc.QueueEvent + 24, // 62: cc.MemberService.OutboundCall:output_type -> cc.OutboundCallResponse + 28, // 63: cc.MemberService.TaskJoinToAgent:output_type -> cc.QueueEvent + 1, // 64: cc.MemberService.IMJoinToQueue:output_type -> cc.IMJoinToQueueResponse + 7, // 65: cc.MemberService.CancelAttempt:output_type -> cc.CancelAttemptResponse + 17, // 66: cc.MemberService.CancelAgentDistribute:output_type -> cc.CancelAgentDistributeResponse + 33, // 67: cc.MemberService.EmailJoinToQueue:output_type -> cc.EmailJoinToQueueResponse + 35, // 68: cc.MemberService.DirectAgentToMember:output_type -> cc.DirectAgentToMemberResponse + 9, // 69: cc.MemberService.ProcessingFormAction:output_type -> cc.ProcessingFormActionResponse + 13, // 70: cc.MemberService.ProcessingComponentAction:output_type -> cc.ProcessingComponentActionResponse + 11, // 71: cc.MemberService.ProcessingFormSave:output_type -> cc.ProcessingFormSaveResponse + 15, // 72: cc.MemberService.Transfer:output_type -> cc.TransferResponse + 5, // 73: cc.MemberService.InterceptAttempt:output_type -> cc.InterceptAttemptResponse + 3, // 74: cc.MemberService.ResumeAttempt:output_type -> cc.ResumeAttemptResponse + 57, // [57:75] is the sub-list for method output_type + 39, // [39:57] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_cc_member_proto_init() } @@ -4141,7 +4706,7 @@ func file_cc_member_proto_init() { } if !protoimpl.UnsafeEnabled { file_cc_member_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeAttemptRequest); i { + switch v := v.(*IMJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4153,7 +4718,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeAttemptResponse); i { + switch v := v.(*IMJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4165,7 +4730,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterceptAttemptRequest); i { + switch v := v.(*ResumeAttemptRequest); i { case 0: return &v.state case 1: @@ -4177,7 +4742,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterceptAttemptResponse); i { + switch v := v.(*ResumeAttemptResponse); i { case 0: return &v.state case 1: @@ -4189,7 +4754,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAttemptRequest); i { + switch v := v.(*InterceptAttemptRequest); i { case 0: return &v.state case 1: @@ -4201,7 +4766,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAttemptResponse); i { + switch v := v.(*InterceptAttemptResponse); i { case 0: return &v.state case 1: @@ -4213,7 +4778,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormActionRequest); i { + switch v := v.(*CancelAttemptRequest); i { case 0: return &v.state case 1: @@ -4225,7 +4790,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormActionResponse); i { + switch v := v.(*CancelAttemptResponse); i { case 0: return &v.state case 1: @@ -4237,7 +4802,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormSaveRequest); i { + switch v := v.(*ProcessingFormActionRequest); i { case 0: return &v.state case 1: @@ -4249,7 +4814,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormSaveResponse); i { + switch v := v.(*ProcessingFormActionResponse); i { case 0: return &v.state case 1: @@ -4261,7 +4826,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingComponentActionRequest); i { + switch v := v.(*ProcessingFormSaveRequest); i { case 0: return &v.state case 1: @@ -4273,7 +4838,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingComponentActionResponse); i { + switch v := v.(*ProcessingFormSaveResponse); i { case 0: return &v.state case 1: @@ -4285,7 +4850,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferRequest); i { + switch v := v.(*ProcessingComponentActionRequest); i { case 0: return &v.state case 1: @@ -4297,7 +4862,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferResponse); i { + switch v := v.(*ProcessingComponentActionResponse); i { case 0: return &v.state case 1: @@ -4309,7 +4874,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAgentDistributeRequest); i { + switch v := v.(*TransferRequest); i { case 0: return &v.state case 1: @@ -4321,7 +4886,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAgentDistributeResponse); i { + switch v := v.(*TransferResponse); i { case 0: return &v.state case 1: @@ -4333,7 +4898,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunicationType); i { + switch v := v.(*CancelAgentDistributeRequest); i { case 0: return &v.state case 1: @@ -4345,7 +4910,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunication); i { + switch v := v.(*CancelAgentDistributeResponse); i { case 0: return &v.state case 1: @@ -4357,7 +4922,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueFormSchema); i { + switch v := v.(*MemberCommunicationType); i { case 0: return &v.state case 1: @@ -4369,7 +4934,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingProlongation); i { + switch v := v.(*MemberCommunication); i { case 0: return &v.state case 1: @@ -4381,7 +4946,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskJoinToAgentRequest); i { + switch v := v.(*QueueFormSchema); i { case 0: return &v.state case 1: @@ -4393,7 +4958,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutboundCallRequest); i { + switch v := v.(*ProcessingProlongation); i { case 0: return &v.state case 1: @@ -4405,7 +4970,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutboundCallResponse); i { + switch v := v.(*TaskJoinToAgentRequest); i { case 0: return &v.state case 1: @@ -4417,7 +4982,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToAgentRequest); i { + switch v := v.(*OutboundCallRequest); i { case 0: return &v.state case 1: @@ -4429,7 +4994,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptRenewalResultRequest); i { + switch v := v.(*OutboundCallResponse); i { case 0: return &v.state case 1: @@ -4441,7 +5006,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptRenewalResultResponse); i { + switch v := v.(*CallJoinToAgentRequest); i { case 0: return &v.state case 1: @@ -4453,7 +5018,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueEvent); i { + switch v := v.(*AttemptRenewalResultRequest); i { case 0: return &v.state case 1: @@ -4465,7 +5030,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerConversationRequest); i { + switch v := v.(*AttemptRenewalResultResponse); i { case 0: return &v.state case 1: @@ -4477,7 +5042,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerConversationResponse); i { + switch v := v.(*QueueEvent); i { case 0: return &v.state case 1: @@ -4489,7 +5054,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatJoinToQueueRequest); i { + switch v := v.(*AnswerConversationRequest); i { case 0: return &v.state case 1: @@ -4501,7 +5066,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmailJoinToQueueRequest); i { + switch v := v.(*AnswerConversationResponse); i { case 0: return &v.state case 1: @@ -4513,7 +5078,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmailJoinToQueueResponse); i { + switch v := v.(*ChatJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4525,7 +5090,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DirectAgentToMemberRequest); i { + switch v := v.(*EmailJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4537,7 +5102,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DirectAgentToMemberResponse); i { + switch v := v.(*EmailJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4549,7 +5114,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToQueueRequest); i { + switch v := v.(*DirectAgentToMemberRequest); i { case 0: return &v.state case 1: @@ -4561,7 +5126,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToQueueResponse); i { + switch v := v.(*DirectAgentToMemberResponse); i { case 0: return &v.state case 1: @@ -4573,7 +5138,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunicationCreateRequest); i { + switch v := v.(*CallJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4585,7 +5150,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptResultRequest); i { + switch v := v.(*CallJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4597,6 +5162,30 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MemberCommunicationCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttemptResultRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttemptResultResponse); i { case 0: return &v.state @@ -4608,8 +5197,32 @@ func file_cc_member_proto_init() { return nil } } + file_cc_member_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_Queue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_cc_member_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskJoinToAgentRequest_Processing); i { + switch v := v.(*IMJoinToQueueRequest_Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_MemberInfo); i { case 0: return &v.state case 1: @@ -4621,6 +5234,30 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_ThreadInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskJoinToAgentRequest_Processing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutboundCallRequest_Processing); i { case 0: return &v.state @@ -4632,7 +5269,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToAgentRequest_WaitingMusic); i { case 0: return &v.state @@ -4644,7 +5281,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToAgentRequest_Processing); i { case 0: return &v.state @@ -4656,7 +5293,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_JoinedData); i { case 0: return &v.state @@ -4668,7 +5305,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_OfferingData); i { case 0: return &v.state @@ -4680,7 +5317,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_MissedAgent); i { case 0: return &v.state @@ -4692,7 +5329,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_BridgedData); i { case 0: return &v.state @@ -4704,7 +5341,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_LeavingData); i { case 0: return &v.state @@ -4716,7 +5353,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatJoinToQueueRequest_Queue); i { case 0: return &v.state @@ -4728,7 +5365,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToQueueRequest_Queue); i { case 0: return &v.state @@ -4740,7 +5377,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToQueueRequest_WaitingMusic); i { case 0: return &v.state @@ -4753,7 +5390,7 @@ func file_cc_member_proto_init() { } } } - file_cc_member_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_cc_member_proto_msgTypes[28].OneofWrappers = []interface{}{ (*QueueEvent_Offering)(nil), (*QueueEvent_Bridged)(nil), (*QueueEvent_Missed)(nil), @@ -4766,7 +5403,7 @@ func file_cc_member_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_member_proto_rawDesc, NumEnums: 0, - NumMessages: 61, + NumMessages: 68, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/cc/cc_member_grpc.pb.go b/gen/cc/cc_member_grpc.pb.go index be62268f..fb397915 100644 --- a/gen/cc/cc_member_grpc.pb.go +++ b/gen/cc/cc_member_grpc.pb.go @@ -26,6 +26,7 @@ const ( MemberService_CallJoinToAgent_FullMethodName = "/cc.MemberService/CallJoinToAgent" MemberService_OutboundCall_FullMethodName = "/cc.MemberService/OutboundCall" MemberService_TaskJoinToAgent_FullMethodName = "/cc.MemberService/TaskJoinToAgent" + MemberService_IMJoinToQueue_FullMethodName = "/cc.MemberService/IMJoinToQueue" MemberService_CancelAttempt_FullMethodName = "/cc.MemberService/CancelAttempt" MemberService_CancelAgentDistribute_FullMethodName = "/cc.MemberService/CancelAgentDistribute" MemberService_EmailJoinToQueue_FullMethodName = "/cc.MemberService/EmailJoinToQueue" @@ -49,6 +50,7 @@ type MemberServiceClient interface { CallJoinToAgent(ctx context.Context, in *CallJoinToAgentRequest, opts ...grpc.CallOption) (MemberService_CallJoinToAgentClient, error) OutboundCall(ctx context.Context, in *OutboundCallRequest, opts ...grpc.CallOption) (*OutboundCallResponse, error) TaskJoinToAgent(ctx context.Context, in *TaskJoinToAgentRequest, opts ...grpc.CallOption) (MemberService_TaskJoinToAgentClient, error) + IMJoinToQueue(ctx context.Context, in *IMJoinToQueueRequest, opts ...grpc.CallOption) (*IMJoinToQueueResponse, error) CancelAttempt(ctx context.Context, in *CancelAttemptRequest, opts ...grpc.CallOption) (*CancelAttemptResponse, error) CancelAgentDistribute(ctx context.Context, in *CancelAgentDistributeRequest, opts ...grpc.CallOption) (*CancelAgentDistributeResponse, error) EmailJoinToQueue(ctx context.Context, in *EmailJoinToQueueRequest, opts ...grpc.CallOption) (*EmailJoinToQueueResponse, error) @@ -224,6 +226,15 @@ func (x *memberServiceTaskJoinToAgentClient) Recv() (*QueueEvent, error) { return m, nil } +func (c *memberServiceClient) IMJoinToQueue(ctx context.Context, in *IMJoinToQueueRequest, opts ...grpc.CallOption) (*IMJoinToQueueResponse, error) { + out := new(IMJoinToQueueResponse) + err := c.cc.Invoke(ctx, MemberService_IMJoinToQueue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *memberServiceClient) CancelAttempt(ctx context.Context, in *CancelAttemptRequest, opts ...grpc.CallOption) (*CancelAttemptResponse, error) { out := new(CancelAttemptResponse) err := c.cc.Invoke(ctx, MemberService_CancelAttempt_FullMethodName, in, out, opts...) @@ -325,6 +336,7 @@ type MemberServiceServer interface { CallJoinToAgent(*CallJoinToAgentRequest, MemberService_CallJoinToAgentServer) error OutboundCall(context.Context, *OutboundCallRequest) (*OutboundCallResponse, error) TaskJoinToAgent(*TaskJoinToAgentRequest, MemberService_TaskJoinToAgentServer) error + IMJoinToQueue(context.Context, *IMJoinToQueueRequest) (*IMJoinToQueueResponse, error) CancelAttempt(context.Context, *CancelAttemptRequest) (*CancelAttemptResponse, error) CancelAgentDistribute(context.Context, *CancelAgentDistributeRequest) (*CancelAgentDistributeResponse, error) EmailJoinToQueue(context.Context, *EmailJoinToQueueRequest) (*EmailJoinToQueueResponse, error) @@ -363,6 +375,9 @@ func (UnimplementedMemberServiceServer) OutboundCall(context.Context, *OutboundC func (UnimplementedMemberServiceServer) TaskJoinToAgent(*TaskJoinToAgentRequest, MemberService_TaskJoinToAgentServer) error { return status.Errorf(codes.Unimplemented, "method TaskJoinToAgent not implemented") } +func (UnimplementedMemberServiceServer) IMJoinToQueue(context.Context, *IMJoinToQueueRequest) (*IMJoinToQueueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method IMJoinToQueue not implemented") +} func (UnimplementedMemberServiceServer) CancelAttempt(context.Context, *CancelAttemptRequest) (*CancelAttemptResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelAttempt not implemented") } @@ -544,6 +559,24 @@ func (x *memberServiceTaskJoinToAgentServer) Send(m *QueueEvent) error { return x.ServerStream.SendMsg(m) } +func _MemberService_IMJoinToQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IMJoinToQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MemberServiceServer).IMJoinToQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MemberService_IMJoinToQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MemberServiceServer).IMJoinToQueue(ctx, req.(*IMJoinToQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _MemberService_CancelAttempt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CancelAttemptRequest) if err := dec(in); err != nil { @@ -743,6 +776,10 @@ var MemberService_ServiceDesc = grpc.ServiceDesc{ MethodName: "OutboundCall", Handler: _MemberService_OutboundCall_Handler, }, + { + MethodName: "IMJoinToQueue", + Handler: _MemberService_IMJoinToQueue_Handler, + }, { MethodName: "CancelAttempt", Handler: _MemberService_CancelAttempt_Handler, diff --git a/gen/engine/agent.pb.go b/gen/engine/agent.pb.go index eb425d4d..15abc961 100644 --- a/gen/engine/agent.pb.go +++ b/gen/engine/agent.pb.go @@ -3946,6 +3946,7 @@ type AgentStatusRequest struct { Payload string `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` DomainId int64 `protobuf:"varint,6,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` StatusComment string `protobuf:"bytes,7,opt,name=status_comment,json=statusComment,proto3" json:"status_comment,omitempty"` + StatusPreset *Lookup `protobuf:"bytes,8,opt,name=status_preset,json=statusPreset,proto3" json:"status_preset,omitempty"` } func (x *AgentStatusRequest) Reset() { @@ -4029,6 +4030,13 @@ func (x *AgentStatusRequest) GetStatusComment() string { return "" } +func (x *AgentStatusRequest) GetStatusPreset() *Lookup { + if x != nil { + return x.StatusPreset + } + return nil +} + type AgentChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5315,7 +5323,7 @@ var file_agent_proto_rawDesc = []byte{ 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x74, 0x79, 0x22, 0x88, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, @@ -5328,244 +5336,247 @@ var file_agent_proto_rawDesc = []byte{ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x75, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, - 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, - 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x0a, - 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, - 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, - 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x74, 0x53, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x4c, 0x0a, 0x14, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x68, 0x61, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x09, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x1e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x59, 0x0a, - 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x1b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, - 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, - 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, - 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5a, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, - 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, + 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x75, 0x0a, + 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x22, 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, + 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, + 0x72, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, + 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x53, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, + 0x09, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, + 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0x5a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, + 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, + 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x26, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, - 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, - 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x8c, - 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x76, 0x0a, - 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x26, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, + 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x76, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, + 0x61, 0x6d, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x21, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, - 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x27, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, - 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, - 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0xa9, 0x01, 0x0a, - 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x2b, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x38, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x14, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, - 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, + 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, - 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, + 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, + 0x0a, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x2f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, - 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2e, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, - 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, - 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, 0x5a, 0x20, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, + 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x93, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, + 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, + 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, + 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5691,64 +5702,65 @@ var file_agent_proto_depIdxs = []int32{ 50, // 51: engine.SkillAgent.skill:type_name -> engine.Lookup 50, // 52: engine.SkillAgent.agent:type_name -> engine.Lookup 51, // 53: engine.SkillAgent.capacity:type_name -> google.protobuf.Int32Value - 50, // 54: engine.Agent.user:type_name -> engine.Lookup - 42, // 55: engine.Agent.channel:type_name -> engine.AgentChannel - 50, // 56: engine.Agent.greeting_media:type_name -> engine.Lookup - 50, // 57: engine.Agent.supervisor:type_name -> engine.Lookup - 50, // 58: engine.Agent.team:type_name -> engine.Lookup - 50, // 59: engine.Agent.region:type_name -> engine.Lookup - 50, // 60: engine.Agent.auditor:type_name -> engine.Lookup - 50, // 61: engine.Agent.skills:type_name -> engine.Lookup - 48, // 62: engine.Agent.user_presence_status:type_name -> engine.Agent.UserPresence - 43, // 63: engine.ListAgent.items:type_name -> engine.Agent - 50, // 64: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.bucket:type_name -> engine.Lookup - 50, // 65: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.skill:type_name -> engine.Lookup - 51, // 66: engine.AgentInQueue.AgentsInQueue.allow_pause:type_name -> google.protobuf.Int32Value - 39, // 67: engine.AgentService.CreateAgent:input_type -> engine.CreateAgentRequest - 38, // 68: engine.AgentService.SearchAgent:input_type -> engine.SearchAgentRequest - 36, // 69: engine.AgentService.ReadAgent:input_type -> engine.ReadAgentRequest - 34, // 70: engine.AgentService.UpdateAgent:input_type -> engine.UpdateAgentRequest - 35, // 71: engine.AgentService.PatchAgent:input_type -> engine.PatchAgentRequest - 37, // 72: engine.AgentService.DeleteAgent:input_type -> engine.DeleteAgentRequest - 41, // 73: engine.AgentService.UpdateAgentStatus:input_type -> engine.AgentStatusRequest - 10, // 74: engine.AgentService.AgentSetState:input_type -> engine.AgentSetStateRequest - 25, // 75: engine.AgentService.AgentStateHistory:input_type -> engine.AgentStateHistoryRequest - 15, // 76: engine.AgentService.SearchAgentStateHistory:input_type -> engine.SearchAgentStateHistoryRequest - 31, // 77: engine.AgentService.SearchAgentInTeam:input_type -> engine.SearchAgentInTeamRequest - 30, // 78: engine.AgentService.SearchAgentInQueue:input_type -> engine.SearchAgentInQueueRequest - 7, // 79: engine.AgentService.SearchPauseCauseForAgent:input_type -> engine.SearchPauseCauseForAgentRequest - 19, // 80: engine.AgentService.SearchAgentInQueueStatistics:input_type -> engine.SearchAgentInQueueStatisticsRequest - 3, // 81: engine.AgentService.AgentTodayStatistics:input_type -> engine.AgentTodayStatisticsRequest - 17, // 82: engine.AgentService.SearchAgentCallStatistics:input_type -> engine.SearchAgentCallStatisticsRequest - 14, // 83: engine.AgentService.SearchAgentStatusStatistic:input_type -> engine.SearchAgentStatusStatisticRequest - 5, // 84: engine.AgentService.SearchAgentStatusStatisticItem:input_type -> engine.SearchAgentStatusStatisticItemRequest - 24, // 85: engine.AgentService.SearchLookupUsersAgentNotExists:input_type -> engine.SearchLookupUsersAgentNotExistsRequest - 1, // 86: engine.AgentService.SearchUserStatus:input_type -> engine.SearchUserStatusRequest - 43, // 87: engine.AgentService.CreateAgent:output_type -> engine.Agent - 44, // 88: engine.AgentService.SearchAgent:output_type -> engine.ListAgent - 43, // 89: engine.AgentService.ReadAgent:output_type -> engine.Agent - 43, // 90: engine.AgentService.UpdateAgent:output_type -> engine.Agent - 43, // 91: engine.AgentService.PatchAgent:output_type -> engine.Agent - 43, // 92: engine.AgentService.DeleteAgent:output_type -> engine.Agent - 52, // 93: engine.AgentService.UpdateAgentStatus:output_type -> engine.Response - 11, // 94: engine.AgentService.AgentSetState:output_type -> engine.AgentSetStateResponse - 27, // 95: engine.AgentService.AgentStateHistory:output_type -> engine.ListAgentStateHistory - 27, // 96: engine.AgentService.SearchAgentStateHistory:output_type -> engine.ListAgentStateHistory - 33, // 97: engine.AgentService.SearchAgentInTeam:output_type -> engine.ListAgentInTeam - 29, // 98: engine.AgentService.SearchAgentInQueue:output_type -> engine.ListAgentInQueue - 9, // 99: engine.AgentService.SearchPauseCauseForAgent:output_type -> engine.ForAgentPauseCauseList - 21, // 100: engine.AgentService.SearchAgentInQueueStatistics:output_type -> engine.AgentInQueueStatisticsList - 4, // 101: engine.AgentService.AgentTodayStatistics:output_type -> engine.AgentTodayStatisticsResponse - 18, // 102: engine.AgentService.SearchAgentCallStatistics:output_type -> engine.AgentCallStatisticsList - 13, // 103: engine.AgentService.SearchAgentStatusStatistic:output_type -> engine.ListAgentStatsStatistic - 6, // 104: engine.AgentService.SearchAgentStatusStatisticItem:output_type -> engine.AgentStatusStatisticItem - 22, // 105: engine.AgentService.SearchLookupUsersAgentNotExists:output_type -> engine.ListAgentUser - 2, // 106: engine.AgentService.SearchUserStatus:output_type -> engine.ListUserStatus - 87, // [87:107] is the sub-list for method output_type - 67, // [67:87] is the sub-list for method input_type - 67, // [67:67] is the sub-list for extension type_name - 67, // [67:67] is the sub-list for extension extendee - 0, // [0:67] is the sub-list for field type_name + 50, // 54: engine.AgentStatusRequest.status_preset:type_name -> engine.Lookup + 50, // 55: engine.Agent.user:type_name -> engine.Lookup + 42, // 56: engine.Agent.channel:type_name -> engine.AgentChannel + 50, // 57: engine.Agent.greeting_media:type_name -> engine.Lookup + 50, // 58: engine.Agent.supervisor:type_name -> engine.Lookup + 50, // 59: engine.Agent.team:type_name -> engine.Lookup + 50, // 60: engine.Agent.region:type_name -> engine.Lookup + 50, // 61: engine.Agent.auditor:type_name -> engine.Lookup + 50, // 62: engine.Agent.skills:type_name -> engine.Lookup + 48, // 63: engine.Agent.user_presence_status:type_name -> engine.Agent.UserPresence + 43, // 64: engine.ListAgent.items:type_name -> engine.Agent + 50, // 65: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.bucket:type_name -> engine.Lookup + 50, // 66: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.skill:type_name -> engine.Lookup + 51, // 67: engine.AgentInQueue.AgentsInQueue.allow_pause:type_name -> google.protobuf.Int32Value + 39, // 68: engine.AgentService.CreateAgent:input_type -> engine.CreateAgentRequest + 38, // 69: engine.AgentService.SearchAgent:input_type -> engine.SearchAgentRequest + 36, // 70: engine.AgentService.ReadAgent:input_type -> engine.ReadAgentRequest + 34, // 71: engine.AgentService.UpdateAgent:input_type -> engine.UpdateAgentRequest + 35, // 72: engine.AgentService.PatchAgent:input_type -> engine.PatchAgentRequest + 37, // 73: engine.AgentService.DeleteAgent:input_type -> engine.DeleteAgentRequest + 41, // 74: engine.AgentService.UpdateAgentStatus:input_type -> engine.AgentStatusRequest + 10, // 75: engine.AgentService.AgentSetState:input_type -> engine.AgentSetStateRequest + 25, // 76: engine.AgentService.AgentStateHistory:input_type -> engine.AgentStateHistoryRequest + 15, // 77: engine.AgentService.SearchAgentStateHistory:input_type -> engine.SearchAgentStateHistoryRequest + 31, // 78: engine.AgentService.SearchAgentInTeam:input_type -> engine.SearchAgentInTeamRequest + 30, // 79: engine.AgentService.SearchAgentInQueue:input_type -> engine.SearchAgentInQueueRequest + 7, // 80: engine.AgentService.SearchPauseCauseForAgent:input_type -> engine.SearchPauseCauseForAgentRequest + 19, // 81: engine.AgentService.SearchAgentInQueueStatistics:input_type -> engine.SearchAgentInQueueStatisticsRequest + 3, // 82: engine.AgentService.AgentTodayStatistics:input_type -> engine.AgentTodayStatisticsRequest + 17, // 83: engine.AgentService.SearchAgentCallStatistics:input_type -> engine.SearchAgentCallStatisticsRequest + 14, // 84: engine.AgentService.SearchAgentStatusStatistic:input_type -> engine.SearchAgentStatusStatisticRequest + 5, // 85: engine.AgentService.SearchAgentStatusStatisticItem:input_type -> engine.SearchAgentStatusStatisticItemRequest + 24, // 86: engine.AgentService.SearchLookupUsersAgentNotExists:input_type -> engine.SearchLookupUsersAgentNotExistsRequest + 1, // 87: engine.AgentService.SearchUserStatus:input_type -> engine.SearchUserStatusRequest + 43, // 88: engine.AgentService.CreateAgent:output_type -> engine.Agent + 44, // 89: engine.AgentService.SearchAgent:output_type -> engine.ListAgent + 43, // 90: engine.AgentService.ReadAgent:output_type -> engine.Agent + 43, // 91: engine.AgentService.UpdateAgent:output_type -> engine.Agent + 43, // 92: engine.AgentService.PatchAgent:output_type -> engine.Agent + 43, // 93: engine.AgentService.DeleteAgent:output_type -> engine.Agent + 52, // 94: engine.AgentService.UpdateAgentStatus:output_type -> engine.Response + 11, // 95: engine.AgentService.AgentSetState:output_type -> engine.AgentSetStateResponse + 27, // 96: engine.AgentService.AgentStateHistory:output_type -> engine.ListAgentStateHistory + 27, // 97: engine.AgentService.SearchAgentStateHistory:output_type -> engine.ListAgentStateHistory + 33, // 98: engine.AgentService.SearchAgentInTeam:output_type -> engine.ListAgentInTeam + 29, // 99: engine.AgentService.SearchAgentInQueue:output_type -> engine.ListAgentInQueue + 9, // 100: engine.AgentService.SearchPauseCauseForAgent:output_type -> engine.ForAgentPauseCauseList + 21, // 101: engine.AgentService.SearchAgentInQueueStatistics:output_type -> engine.AgentInQueueStatisticsList + 4, // 102: engine.AgentService.AgentTodayStatistics:output_type -> engine.AgentTodayStatisticsResponse + 18, // 103: engine.AgentService.SearchAgentCallStatistics:output_type -> engine.AgentCallStatisticsList + 13, // 104: engine.AgentService.SearchAgentStatusStatistic:output_type -> engine.ListAgentStatsStatistic + 6, // 105: engine.AgentService.SearchAgentStatusStatisticItem:output_type -> engine.AgentStatusStatisticItem + 22, // 106: engine.AgentService.SearchLookupUsersAgentNotExists:output_type -> engine.ListAgentUser + 2, // 107: engine.AgentService.SearchUserStatus:output_type -> engine.ListUserStatus + 88, // [88:108] is the sub-list for method output_type + 68, // [68:88] is the sub-list for method input_type + 68, // [68:68] is the sub-list for extension type_name + 68, // [68:68] is the sub-list for extension extendee + 0, // [0:68] is the sub-list for field type_name } func init() { file_agent_proto_init() } diff --git a/grpc_api/cc_agent.go b/grpc_api/cc_agent.go index 6b02281b..d83fc159 100644 --- a/grpc_api/cc_agent.go +++ b/grpc_api/cc_agent.go @@ -410,7 +410,16 @@ func (api *agent) UpdateAgentStatus(ctx context.Context, in *engine.AgentStatusR switch in.Status { case model.AgentStatusOnline: - err = api.ctrl.LoginAgent(ctx, session, session.Domain(in.GetDomainId()), in.GetId(), in.OnDemand) + var onlineStatus *model.Lookup + if p := in.GetStatusPreset(); p != nil { + onlineStatus = &model.Lookup{Id: int(p.GetId()), Name: p.GetName()} + } + + err = api.ctrl.LoginAgentFromRequest(ctx, session, &model.AgentLoginRequest{ + AgentID: agentId, + OnDemand: in.GetOnDemand(), + OnlineStatus: onlineStatus, + }) case model.AgentStatusPause: err = api.ctrl.PauseAgent(ctx, session, session.Domain(in.GetDomainId()), in.GetId(), in.GetPayload(), in.GetStatusComment(), 0) case model.AgentStatusOffline: diff --git a/model/cc_agent.go b/model/cc_agent.go index d57a1222..efa5de1b 100644 --- a/model/cc_agent.go +++ b/model/cc_agent.go @@ -1,6 +1,7 @@ package model import ( + "cmp" "encoding/json" "fmt" "time" @@ -513,3 +514,61 @@ func NewWebSocketCallCenterEvent(ev *CallCenterEvent) (*WebSocketEvent, AppError return e, nil } + +type AgentLoginRequest struct { + AgentID int64 `json:"agent_id"` + DomainID int64 `json:"domain_id"` + OnDemand bool `json:"on_demand"` + OnlineStatus *Lookup `json:"online_status"` +} + +func (r *AgentLoginRequest) Validate() AppError { + if r == nil { + return NewBadRequestError("model.cc_agent.validate.nil_pointer", "Empty agent login request") + } + + if r.AgentID <= 0 { + return NewBadRequestError("model.cc_agent.validate.invalid_agent_login_id", "Agent login require agent id") + } + + if r.DomainID <= 0 { + return NewBadRequestError("model.cc_agent.validate.invalid_agent_domain", "Agent login require domain id") + } + + return nil +} + +func NewAgentLoginRequestFromSocketRequest(r *WebSocketRequest, sessionDomainID int64) *AgentLoginRequest { + req := new(AgentLoginRequest) + + if val, ok := r.Get("agent_id").(float64); ok { + req.AgentID = int64(val) + } + + if val, ok := r.Get("domain_id").(float64); ok { + req.DomainID = int64(val) + } + + req.DomainID = cmp.Or(req.DomainID, sessionDomainID) + + if val, ok := r.Get("on_demand").(bool); ok { + req.OnDemand = val + } + + if statusVal := r.Get("status_preset"); statusVal != nil { + if status, ok := statusVal.(*Lookup); ok { + req.OnlineStatus = status + } else if rawMap, ok := statusVal.(map[string]any); ok { + status := new(Lookup) + if id, ok := rawMap["id"].(float64); ok { + status.Id = int(id) + } + if name, ok := rawMap["name"].(string); ok { + status.Name = name + } + req.OnlineStatus = status + } + } + + return req +} diff --git a/model/websocket_request.go b/model/websocket_request.go index a8ccfc65..61780671 100644 --- a/model/websocket_request.go +++ b/model/websocket_request.go @@ -3,15 +3,16 @@ package model import ( "encoding/json" "fmt" - "github.com/webitel/engine/pkg/wbt/auth_manager" "io" + + "github.com/webitel/engine/pkg/wbt/auth_manager" ) type WebSocketRequest struct { // Client-provided fields - Seq int64 `json:"seq"` - Action string `json:"action"` - Data map[string]interface{} `json:"data"` + Seq int64 `json:"seq"` + Action string `json:"action"` + Data map[string]any `json:"data"` Session auth_manager.Session `json:"-"` Locale string `json:"-"` @@ -29,6 +30,8 @@ func (o *WebSocketRequest) GetFieldString(name string) string { return "" } +func (o *WebSocketRequest) Get(key string) any { return o.Data[key] } + func WebSocketRequestFromJson(data io.Reader) *WebSocketRequest { var o *WebSocketRequest json.NewDecoder(data).Decode(&o) diff --git a/wsapi/agent.go b/wsapi/agent.go index 18cf7db7..62863c81 100644 --- a/wsapi/agent.go +++ b/wsapi/agent.go @@ -55,28 +55,14 @@ func (api *API) getAgentSession(ctx context.Context, conn *app.WebConn, req *mod return sess.ToMap(), nil } -func (api *API) onlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]interface{}, model.AppError) { - var agentId float64 - var domainId float64 - var onDemand bool - var ok bool - - if agentId, ok = req.Data["agent_id"].(float64); !ok { - return nil, NewInvalidWebSocketParamError(req.Action, "agent_id") - } +func (api *API) onlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]any, model.AppError) { + r := model.NewAgentLoginRequestFromSocketRequest(req, conn.DomainId) - if domainId, ok = req.Data["domain_id"].(float64); !ok { - domainId = float64(conn.DomainId) - } - - onDemand, _ = req.Data["on_demand"].(bool) - err := api.ctrl.LoginAgent(ctx, conn.GetSession(), int64(domainId), int64(agentId), onDemand) - if err != nil { + if err := api.ctrl.LoginAgentFromRequest(ctx, conn.GetSession(), r); err != nil { return nil, err } - res := make(map[string]interface{}) - return res, nil + return make(map[string]any), nil } func (api *API) offlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]interface{}, model.AppError) { From 08b31a2f0fe81f90e2315251f74dedf40260710e Mon Sep 17 00:00:00 2001 From: suifri Date: Mon, 27 Jul 2026 13:57:00 +0300 Subject: [PATCH 2/8] [WTEL-7767]feature(trigger): add call_recording to enum --- app/event_trigger.go | 16 ++-- gen/engine/trigger.pb.go | 154 ++++++++++++++++++++------------------- model/cc_trigger.go | 1 - utils/lru.go | 32 ++++---- utils/network.go | 2 +- 5 files changed, 107 insertions(+), 98 deletions(-) diff --git a/app/event_trigger.go b/app/event_trigger.go index 400b30fe..f4a75026 100644 --- a/app/event_trigger.go +++ b/app/event_trigger.go @@ -4,16 +4,17 @@ import ( "context" "encoding/json" "fmt" + "strconv" + "strings" + "sync/atomic" + "time" + amqp "github.com/rabbitmq/amqp091-go" "github.com/webitel/engine/app/flow" "github.com/webitel/engine/model" "github.com/webitel/engine/store" "github.com/webitel/engine/utils" "github.com/webitel/wlog" - "strconv" - "strings" - "sync/atomic" - "time" ) const ( @@ -236,10 +237,10 @@ func (ct *TriggerEventMQ) processedMessages(messages <-chan amqp.Delivery) { rs.variables["action"] = event job, err := ct.store.Trigger().CreateJob(ctx, rs.domainId, rs.triggerId, rs.variables) if err != nil { - ct.log.Error(fmt.Sprintf("could not create job: %v: %s", rs, err.Error())) + ct.log.Error("creating trigger job", wlog.Any("request", rs), wlog.Err(err)) return } - ct.log.Info(fmt.Sprintf("started trigger \"%s\" job_id : %d", rs.name, job.Id)) + ct.log.Info("started trigger", wlog.String("name", rs.name), wlog.Int64("job_id", job.Id)) } } } @@ -317,7 +318,8 @@ func (ct *TriggerEventMQ) initQueue() error { true, false, false, - false, amqp.Table{"x-queue-type": "quorum"}, + false, + amqp.Table{"x-queue-type": "quorum"}, ) if err != nil { return fmt.Errorf("could not create queue %s: %w", ct.config.Queue, err) diff --git a/gen/engine/trigger.pb.go b/gen/engine/trigger.pb.go index f5d6177c..36a332a5 100644 --- a/gen/engine/trigger.pb.go +++ b/gen/engine/trigger.pb.go @@ -80,6 +80,7 @@ const ( TriggerObjectType_case_comments TriggerObjectType = 3 TriggerObjectType_case_links TriggerObjectType = 4 TriggerObjectType_related_cases TriggerObjectType = 5 + TriggerObjectType_call TriggerObjectType = 6 ) // Enum value maps for TriggerObjectType. @@ -91,6 +92,7 @@ var ( 3: "case_comments", 4: "case_links", 5: "related_cases", + 6: "call", } TriggerObjectType_value = map[string]int32{ "empty_trigger_object": 0, @@ -99,6 +101,7 @@ var ( "case_comments": 3, "case_links": 4, "related_cases": 5, + "call": 6, } ) @@ -137,6 +140,7 @@ const ( TriggerEventType_update TriggerEventType = 2 TriggerEventType_remove TriggerEventType = 3 TriggerEventType_resolution_time TriggerEventType = 4 + TriggerEventType_record_call TriggerEventType = 5 ) // Enum value maps for TriggerEventType. @@ -147,6 +151,7 @@ var ( 2: "update", 3: "remove", 4: "resolution_time", + 5: "record_call", } TriggerEventType_value = map[string]int32{ "empty_trigger_event": 0, @@ -154,6 +159,7 @@ var ( "update": 2, "remove": 3, "resolution_time": 4, + "record_call": 5, } ) @@ -1364,11 +1370,11 @@ var File_trigger_proto protoreflect.FileDescriptor var file_trigger_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, @@ -1588,75 +1594,77 @@ var file_trigger_proto_rawDesc = []byte{ 0x12, 0x18, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x2a, - 0x7e, 0x0a, 0x11, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x63, 0x61, 0x73, - 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x61, 0x73, - 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x63, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x10, 0x05, 0x2a, - 0x64, 0x0a, 0x10, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x10, 0x03, - 0x12, 0x13, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x10, 0x04, 0x2a, 0x3c, 0x0a, 0x0f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x69, 0x64, 0x6c, 0x65, - 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0x03, 0x32, 0xf6, 0x05, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x3a, 0x01, - 0x2a, 0x22, 0x08, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0d, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, + 0x88, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x63, 0x61, 0x73, 0x65, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x63, 0x61, + 0x73, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x61, + 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x10, 0x04, 0x12, 0x11, 0x0a, + 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x10, 0x05, + 0x12, 0x08, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x10, 0x06, 0x2a, 0x75, 0x0a, 0x10, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, + 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x02, 0x12, + 0x0a, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x10, 0x04, + 0x12, 0x0f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x10, + 0x05, 0x2a, 0x3c, 0x0a, 0x0f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x64, 0x6f, + 0x6e, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x32, + 0xf6, 0x05, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x3a, 0x01, 0x2a, 0x22, 0x08, 0x2f, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x10, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x51, 0x0a, + 0x0b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x0f, 0x12, 0x0d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0x58, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x1a, 0x0d, 0x2f, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x56, 0x0a, 0x0c, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, + 0x3a, 0x01, 0x2a, 0x32, 0x0d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x12, 0x55, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x2a, 0x0d, 0x2f, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, + 0x6f, 0x62, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x12, 0x6e, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, - 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x51, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x15, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x58, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x1a, - 0x0d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x56, - 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1b, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x18, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x32, 0x0d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x55, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x2a, 0x0d, - 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, - 0x62, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, - 0x2a, 0x22, 0x19, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x12, 0x6e, 0x0a, 0x10, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, - 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x12, 0x19, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x42, 0x22, 0x5a, 0x20, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, - 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x42, 0x22, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/model/cc_trigger.go b/model/cc_trigger.go index 86f82a97..7d972ffc 100644 --- a/model/cc_trigger.go +++ b/model/cc_trigger.go @@ -83,7 +83,6 @@ func (t Trigger) EntityName() string { } func (t *Trigger) IsValid() AppError { - if t.Name == "" { return NewBadRequestError("trigger.validation.name", "name is required") } diff --git a/utils/lru.go b/utils/lru.go index fd779a54..b7f7d159 100644 --- a/utils/lru.go +++ b/utils/lru.go @@ -8,12 +8,12 @@ import ( // Caching Interface type ObjectCache interface { - AddWithExpiresInSecs(key, value interface{}, expireAtSecs int64) - AddWithDefaultExpires(key, value interface{}) - Add(key, value interface{}) + AddWithExpiresInSecs(key, value any, expireAtSecs int64) + AddWithDefaultExpires(key, value any) + Add(key, value any) Purge() - Get(key interface{}) (value interface{}, ok bool) - Remove(key interface{}) + Get(key any) (value any, ok bool) + Remove(key any) Len() int Name() string GetInvalidateClusterEvent() string @@ -23,7 +23,7 @@ type ObjectCache interface { type Cache struct { size int evictList *list.List - items map[interface{}]*list.Element + items map[any]*list.Element lock sync.RWMutex name string defaultExpiry int64 @@ -34,8 +34,8 @@ type Cache struct { // entry is used to hold a value in the evictList type entry struct { - key interface{} - value interface{} + key any + value any expireAtSecs int64 generation int64 } @@ -45,7 +45,7 @@ func NewLru(size int) *Cache { return &Cache{ size: size, evictList: list.New(), - items: make(map[interface{}]*list.Element, size), + items: make(map[any]*list.Element, size), } } @@ -66,15 +66,15 @@ func (c *Cache) Purge() { c.currentGeneration++ } -func (c *Cache) Add(key, value interface{}) { +func (c *Cache) Add(key, value any) { c.AddWithExpiresInSecs(key, value, 0) } -func (c *Cache) AddWithDefaultExpires(key, value interface{}) { +func (c *Cache) AddWithDefaultExpires(key, value any) { c.AddWithExpiresInSecs(key, value, c.defaultExpiry) } -func (c *Cache) AddWithExpiresInSecs(key, value interface{}, expireAtSecs int64) { +func (c *Cache) AddWithExpiresInSecs(key, value any, expireAtSecs int64) { c.lock.Lock() defer c.lock.Unlock() @@ -106,7 +106,7 @@ func (c *Cache) AddWithExpiresInSecs(key, value interface{}, expireAtSecs int64) } } -func (c *Cache) Get(key interface{}) (value interface{}, ok bool) { +func (c *Cache) Get(key any) (value any, ok bool) { c.lock.Lock() defer c.lock.Unlock() @@ -125,7 +125,7 @@ func (c *Cache) Get(key interface{}) (value interface{}, ok bool) { return nil, false } -func (c *Cache) Remove(key interface{}) { +func (c *Cache) Remove(key any) { c.lock.Lock() defer c.lock.Unlock() @@ -135,11 +135,11 @@ func (c *Cache) Remove(key interface{}) { } // Keys returns a slice of the keys in the cache, from oldest to newest. -func (c *Cache) Keys() []interface{} { +func (c *Cache) Keys() []any { c.lock.RLock() defer c.lock.RUnlock() - keys := make([]interface{}, c.len) + keys := make([]any, c.len) i := 0 for ent := c.evictList.Back(); ent != nil; ent = ent.Prev() { e := ent.Value.(*entry) diff --git a/utils/network.go b/utils/network.go index 8cb9abc1..38bb8d4d 100644 --- a/utils/network.go +++ b/utils/network.go @@ -69,7 +69,7 @@ func GetPort() int { // GetFreePort asks the kernel for free open ports that are ready to use. func GetFreePorts(count int) ([]int, error) { var ports []int - for i := 0; i < count; i++ { + for range count { addr, err := net.ResolveTCPAddr("tcp", "localhost:0") if err != nil { return nil, err From 701dacc964bb901b10e4259b15ba2f21b7dd7f7c Mon Sep 17 00:00:00 2001 From: suifri Date: Tue, 4 Aug 2026 15:44:13 +0300 Subject: [PATCH 3/8] [WTEL-10065]fix(online_skills): rename skill_presets to online_skills --- app/online_skills.go | 37 + app/skill_preset_store.go | 37 - ...skill_preset_store.go => online_skills.go} | 35 +- gen/engine/online_skills.pb.go | 1268 ++++++++++++++++ gen/engine/online_skills_grpc.pb.go | 309 ++++ gen/engine/skill_preset.pb.go | 1327 ----------------- gen/engine/skill_preset_grpc.pb.go | 308 ---- grpc_api/api.go | 6 +- grpc_api/online_skills.go | 164 ++ grpc_api/skill_preset_store.go | 166 --- model/online_skills.go | 206 +++ model/skill_preset.go | 175 --- store/layered_store.go | 2 +- ...skill_preset_store.go => online_skills.go} | 131 +- store/sqlstore/supplier.go | 6 +- store/store.go | 16 +- 16 files changed, 2062 insertions(+), 2131 deletions(-) create mode 100644 app/online_skills.go delete mode 100644 app/skill_preset_store.go rename controller/{skill_preset_store.go => online_skills.go} (60%) create mode 100644 gen/engine/online_skills.pb.go create mode 100644 gen/engine/online_skills_grpc.pb.go delete mode 100644 gen/engine/skill_preset.pb.go delete mode 100644 gen/engine/skill_preset_grpc.pb.go create mode 100644 grpc_api/online_skills.go delete mode 100644 grpc_api/skill_preset_store.go create mode 100644 model/online_skills.go delete mode 100644 model/skill_preset.go rename store/sqlstore/{skill_preset_store.go => online_skills.go} (55%) diff --git a/app/online_skills.go b/app/online_skills.go new file mode 100644 index 00000000..0a7a22ad --- /dev/null +++ b/app/online_skills.go @@ -0,0 +1,37 @@ +package app + +import ( + "context" + + "github.com/webitel/engine/model" +) + +func (app *App) CreateOnlineSkills(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { + preset.PreSave() + + return app.Store.OnlineSkills().Create(ctx, preset) +} + +func (app *App) GetOnlineSkills(ctx context.Context, query *model.GetSkillPresetQuery) (*model.OnlineSkills, model.AppError) { + return app.Store.OnlineSkills().Get(ctx, query) +} + +func (app *App) SearchOnlineSkills(ctx context.Context, query *model.SearchOnlineSkillsQuery) ([]*model.OnlineSkills, model.AppError) { + return app.Store.OnlineSkills().Search(ctx, query) +} + +func (app *App) UpdateOnlineSkills(ctx context.Context, cmd *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { + cmd.PreSave() + + return app.Store.OnlineSkills().Update(ctx, cmd) +} + +func (app *App) PatchOnlineSkills(ctx context.Context, cmd *model.PatchOnlineSkillsCmd) (*model.OnlineSkills, model.AppError) { + cmd.PrePatch() + + return app.Store.OnlineSkills().Patch(ctx, cmd) +} + +func (app *App) DeleteOnlineSkills(ctx context.Context, cmd *model.DeleteSkillPresetCmd) model.AppError { + return app.Store.OnlineSkills().Delete(ctx, cmd) +} diff --git a/app/skill_preset_store.go b/app/skill_preset_store.go deleted file mode 100644 index b72d4bec..00000000 --- a/app/skill_preset_store.go +++ /dev/null @@ -1,37 +0,0 @@ -package app - -import ( - "context" - - "github.com/webitel/engine/model" -) - -func (app *App) CreateSkillPreset(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) { - preset.PreSave() - - return app.Store.SkillPreset().Create(ctx, preset) -} - -func (app *App) GetSkillPreset(ctx context.Context, query *model.GetSkillPresetQuery) (*model.SkillPreset, model.AppError) { - return app.Store.SkillPreset().Get(ctx, query) -} - -func (app *App) SearchSkillPreset(ctx context.Context, query *model.SearchSkillPresetQuery) ([]*model.SkillPreset, model.AppError) { - return app.Store.SkillPreset().Search(ctx, query) -} - -func (app *App) UpdateSkillPreset(ctx context.Context, cmd *model.SkillPreset) (*model.SkillPreset, model.AppError) { - cmd.PreSave() - - return app.Store.SkillPreset().Update(ctx, cmd) -} - -func (app *App) PatchSkillPreset(ctx context.Context, cmd *model.PatchSkillPresetCmd) (*model.SkillPreset, model.AppError) { - cmd.PrePatch() - - return app.Store.SkillPreset().Patch(ctx, cmd) -} - -func (app *App) DeleteSkillPreset(ctx context.Context, cmd *model.DeleteSkillPresetCmd) ([]*model.SkillPreset, model.AppError) { - return app.Store.SkillPreset().Delete(ctx, cmd) -} diff --git a/controller/skill_preset_store.go b/controller/online_skills.go similarity index 60% rename from controller/skill_preset_store.go rename to controller/online_skills.go index fe9e0021..971ccd98 100644 --- a/controller/skill_preset_store.go +++ b/controller/online_skills.go @@ -7,7 +7,7 @@ import ( "github.com/webitel/engine/pkg/wbt/auth_manager" ) -func (c *Controller) CreateSkillPreset(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) { +func (c *Controller) CreateOnlineSkills(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { return nil, err @@ -18,18 +18,16 @@ func (c *Controller) CreateSkillPreset(ctx context.Context, preset *model.SkillP return nil, c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_CREATE) } - preset.CreatedBy = &model.Lookup{Id: int(session.UserId)} - preset.UpdatedBy = &model.Lookup{Id: int(session.UserId)} - preset.DomainID = session.Domain(0) + preset.InitializeCreateMetadata(session.Domain(0), session.UserId) if err := preset.Validate(); err != nil { return nil, err } - return c.app.CreateSkillPreset(ctx, preset) + return c.app.CreateOnlineSkills(ctx, preset) } -func (c *Controller) GetSkillPreset(ctx context.Context, query *model.GetSkillPresetQuery) (*model.SkillPreset, model.AppError) { +func (c *Controller) GetOnlineSkills(ctx context.Context, query *model.GetSkillPresetQuery) (*model.OnlineSkills, model.AppError) { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { return nil, err @@ -46,10 +44,10 @@ func (c *Controller) GetSkillPreset(ctx context.Context, query *model.GetSkillPr return nil, err } - return c.app.GetSkillPreset(ctx, query) + return c.app.GetOnlineSkills(ctx, query) } -func (c *Controller) SearchSkillPreset(ctx context.Context, query *model.SearchSkillPresetQuery) ([]*model.SkillPreset, model.AppError) { +func (c *Controller) SearchOnlineSkills(ctx context.Context, query *model.SearchOnlineSkillsQuery) ([]*model.OnlineSkills, model.AppError) { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { return nil, err @@ -62,10 +60,10 @@ func (c *Controller) SearchSkillPreset(ctx context.Context, query *model.SearchS query.DomainId = session.Domain(0) - return c.app.SearchSkillPreset(ctx, query) + return c.app.SearchOnlineSkills(ctx, query) } -func (c *Controller) UpdateSkillPreset(ctx context.Context, cmd *model.SkillPreset) (*model.SkillPreset, model.AppError) { +func (c *Controller) UpdateOnlineSkills(ctx context.Context, cmd *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { return nil, err @@ -76,17 +74,16 @@ func (c *Controller) UpdateSkillPreset(ctx context.Context, cmd *model.SkillPres return nil, c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_UPDATE) } - cmd.UpdatedBy = &model.Lookup{Id: int(session.UserId)} - cmd.DomainID = session.Domain(0) + cmd.ActualizeUpdatorInfo(session.Domain(0), session.UserId) if err := cmd.Validate(); err != nil { return nil, err } - return c.app.Store.SkillPreset().Update(ctx, cmd) + return c.app.UpdateOnlineSkills(ctx, cmd) } -func (c *Controller) PatchSkillPreset(ctx context.Context, cmd *model.PatchSkillPresetCmd) (*model.SkillPreset, model.AppError) { +func (c *Controller) PatchOnlineSkills(ctx context.Context, cmd *model.PatchOnlineSkillsCmd) (*model.OnlineSkills, model.AppError) { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { return nil, err @@ -104,21 +101,21 @@ func (c *Controller) PatchSkillPreset(ctx context.Context, cmd *model.PatchSkill return nil, err } - return c.app.Store.SkillPreset().Patch(ctx, cmd) + return c.app.PatchOnlineSkills(ctx, cmd) } -func (c *Controller) DeleteSkillPreset(ctx context.Context, cmd *model.DeleteSkillPresetCmd) ([]*model.SkillPreset, model.AppError) { +func (c *Controller) DeleteOnlineSkills(ctx context.Context, cmd *model.DeleteSkillPresetCmd) model.AppError { session, err := c.app.GetSessionFromCtx(ctx) if err != nil { - return nil, err + return err } permission := session.GetPermission(model.PermissionSkill) if !permission.CanDelete() { - return nil, c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_DELETE) + return c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_DELETE) } cmd.DomainID = session.Domain(0) - return c.app.DeleteSkillPreset(ctx, cmd) + return c.app.DeleteOnlineSkills(ctx, cmd) } diff --git a/gen/engine/online_skills.pb.go b/gen/engine/online_skills.pb.go new file mode 100644 index 00000000..1e4b257e --- /dev/null +++ b/gen/engine/online_skills.pb.go @@ -0,0 +1,1268 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: online_skills.proto + +package engine + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// OnlineSkills represents a reusable collection +// of skills that can be assigned within the Call Center. +type OnlineSkills struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Unique identifier. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // User who created the entry. + CreatedBy *Lookup `protobuf:"bytes,2,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + // Creation timestamp (Unix time, milliseconds). + CreatedAt int64 `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // User who last updated the entry. + UpdatedBy *Lookup `protobuf:"bytes,4,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` + // Last update timestamp (Unix time, milliseconds). + UpdatedAt int64 `protobuf:"varint,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Display name. + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // Optional description. + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + // Skills included in the entry. + Skills []*Lookup `protobuf:"bytes,8,rep,name=skills,proto3" json:"skills,omitempty"` +} + +func (x *OnlineSkills) Reset() { + *x = OnlineSkills{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OnlineSkills) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OnlineSkills) ProtoMessage() {} + +func (x *OnlineSkills) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[0] + 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 OnlineSkills.ProtoReflect.Descriptor instead. +func (*OnlineSkills) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{0} +} + +func (x *OnlineSkills) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *OnlineSkills) GetCreatedBy() *Lookup { + if x != nil { + return x.CreatedBy + } + return nil +} + +func (x *OnlineSkills) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *OnlineSkills) GetUpdatedBy() *Lookup { + if x != nil { + return x.UpdatedBy + } + return nil +} + +func (x *OnlineSkills) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *OnlineSkills) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OnlineSkills) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OnlineSkills) GetSkills() []*Lookup { + if x != nil { + return x.Skills + } + return nil +} + +// Request for creating online skills. +type CreateOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Display name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional description. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Skills included in the entry. + Skills []*Lookup `protobuf:"bytes,3,rep,name=skills,proto3" json:"skills,omitempty"` +} + +func (x *CreateOnlineSkillsRequest) Reset() { + *x = CreateOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOnlineSkillsRequest) ProtoMessage() {} + +func (x *CreateOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[1] + 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 CreateOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*CreateOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateOnlineSkillsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateOnlineSkillsRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateOnlineSkillsRequest) GetSkills() []*Lookup { + if x != nil { + return x.Skills + } + return nil +} + +// Response containing the created online skills. +type CreateOnlineSkillsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Created online skills item. + Item *OnlineSkills `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` +} + +func (x *CreateOnlineSkillsResponse) Reset() { + *x = CreateOnlineSkillsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOnlineSkillsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOnlineSkillsResponse) ProtoMessage() {} + +func (x *CreateOnlineSkillsResponse) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[2] + 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 CreateOnlineSkillsResponse.ProtoReflect.Descriptor instead. +func (*CreateOnlineSkillsResponse) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateOnlineSkillsResponse) GetItem() *OnlineSkills { + if x != nil { + return x.Item + } + return nil +} + +// Request for deleting one or more online skills entries. +type DeleteOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifiers of online skills to delete. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteOnlineSkillsRequest) Reset() { + *x = DeleteOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOnlineSkillsRequest) ProtoMessage() {} + +func (x *DeleteOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[3] + 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 DeleteOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*DeleteOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteOnlineSkillsRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +// Request for replacing online skills. +type UpdateOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Online skills identifier. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // Display name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Optional description. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Skills assigned. + Skills []*Lookup `protobuf:"bytes,4,rep,name=skills,proto3" json:"skills,omitempty"` +} + +func (x *UpdateOnlineSkillsRequest) Reset() { + *x = UpdateOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOnlineSkillsRequest) ProtoMessage() {} + +func (x *UpdateOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[4] + 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 UpdateOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*UpdateOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateOnlineSkillsRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateOnlineSkillsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateOnlineSkillsRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateOnlineSkillsRequest) GetSkills() []*Lookup { + if x != nil { + return x.Skills + } + return nil +} + +// Response containing updated online skills. +type UpdateOnlineSkillsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated online skills item. + Item *OnlineSkills `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` +} + +func (x *UpdateOnlineSkillsResponse) Reset() { + *x = UpdateOnlineSkillsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateOnlineSkillsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOnlineSkillsResponse) ProtoMessage() {} + +func (x *UpdateOnlineSkillsResponse) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[5] + 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 UpdateOnlineSkillsResponse.ProtoReflect.Descriptor instead. +func (*UpdateOnlineSkillsResponse) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateOnlineSkillsResponse) GetItem() *OnlineSkills { + if x != nil { + return x.Item + } + return nil +} + +// Request for partially updating online skills. +type PatchOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of fields to update. + Fields []string `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + // Online skills identifier. + Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + // Updated name. + Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Updated description. + Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Updated list of skills. + Skills []*Lookup `protobuf:"bytes,5,rep,name=skills,proto3" json:"skills,omitempty"` +} + +func (x *PatchOnlineSkillsRequest) Reset() { + *x = PatchOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchOnlineSkillsRequest) ProtoMessage() {} + +func (x *PatchOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[6] + 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 PatchOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*PatchOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{6} +} + +func (x *PatchOnlineSkillsRequest) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +func (x *PatchOnlineSkillsRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PatchOnlineSkillsRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *PatchOnlineSkillsRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *PatchOnlineSkillsRequest) GetSkills() []*Lookup { + if x != nil { + return x.Skills + } + return nil +} + +// Response containing patched online skills. +type PatchOnlineSkillsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Patched online skills item. + Item *OnlineSkills `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` +} + +func (x *PatchOnlineSkillsResponse) Reset() { + *x = PatchOnlineSkillsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchOnlineSkillsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchOnlineSkillsResponse) ProtoMessage() {} + +func (x *PatchOnlineSkillsResponse) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[7] + 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 PatchOnlineSkillsResponse.ProtoReflect.Descriptor instead. +func (*PatchOnlineSkillsResponse) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{7} +} + +func (x *PatchOnlineSkillsResponse) GetItem() *OnlineSkills { + if x != nil { + return x.Item + } + return nil +} + +// Search criteria for online skills. +type SearchOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Page number (1-based). + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + // Maximum number of items per page. + Size int32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + // Search pattern applied to names. + Q string `protobuf:"bytes,3,opt,name=q,proto3" json:"q,omitempty"` + // Sort expression. + // Example: "-name", "+created_at". + Sort string `protobuf:"bytes,4,opt,name=sort,proto3" json:"sort,omitempty"` + // List of fields to include in the response. + Fields []string `protobuf:"bytes,5,rep,name=fields,proto3" json:"fields,omitempty"` + // Filter by online skills identifiers. + Ids []int64 `protobuf:"varint,6,rep,packed,name=ids,proto3" json:"ids,omitempty"` + // Filter by associated skill identifiers. + SkillIds []int64 `protobuf:"varint,7,rep,packed,name=skill_ids,json=skillIds,proto3" json:"skill_ids,omitempty"` + // Skip the default entry in the search results. + SkipDefault bool `protobuf:"varint,8,opt,name=skip_default,json=skipDefault,proto3" json:"skip_default,omitempty"` +} + +func (x *SearchOnlineSkillsRequest) Reset() { + *x = SearchOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchOnlineSkillsRequest) ProtoMessage() {} + +func (x *SearchOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[8] + 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 SearchOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*SearchOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{8} +} + +func (x *SearchOnlineSkillsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *SearchOnlineSkillsRequest) GetSize() int32 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *SearchOnlineSkillsRequest) GetQ() string { + if x != nil { + return x.Q + } + return "" +} + +func (x *SearchOnlineSkillsRequest) GetSort() string { + if x != nil { + return x.Sort + } + return "" +} + +func (x *SearchOnlineSkillsRequest) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +func (x *SearchOnlineSkillsRequest) GetIds() []int64 { + if x != nil { + return x.Ids + } + return nil +} + +func (x *SearchOnlineSkillsRequest) GetSkillIds() []int64 { + if x != nil { + return x.SkillIds + } + return nil +} + +func (x *SearchOnlineSkillsRequest) GetSkipDefault() bool { + if x != nil { + return x.SkipDefault + } + return false +} + +// Search results for online skills. +type SearchOnlineSkillsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Matching online skills items. + Items []*OnlineSkills `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + // Indicates whether another page of results exists. + Next bool `protobuf:"varint,2,opt,name=next,proto3" json:"next,omitempty"` +} + +func (x *SearchOnlineSkillsResponse) Reset() { + *x = SearchOnlineSkillsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchOnlineSkillsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchOnlineSkillsResponse) ProtoMessage() {} + +func (x *SearchOnlineSkillsResponse) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[9] + 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 SearchOnlineSkillsResponse.ProtoReflect.Descriptor instead. +func (*SearchOnlineSkillsResponse) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{9} +} + +func (x *SearchOnlineSkillsResponse) GetItems() []*OnlineSkills { + if x != nil { + return x.Items + } + return nil +} + +func (x *SearchOnlineSkillsResponse) GetNext() bool { + if x != nil { + return x.Next + } + return false +} + +// Request for retrieving online skills. +type GetOnlineSkillsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Online skills identifier. + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetOnlineSkillsRequest) Reset() { + *x = GetOnlineSkillsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOnlineSkillsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOnlineSkillsRequest) ProtoMessage() {} + +func (x *GetOnlineSkillsRequest) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[10] + 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 GetOnlineSkillsRequest.ProtoReflect.Descriptor instead. +func (*GetOnlineSkillsRequest) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{10} +} + +func (x *GetOnlineSkillsRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +// Response containing the requested online skills. +type GetOnlineSkillsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Requested online skills item. + Item *OnlineSkills `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` +} + +func (x *GetOnlineSkillsResponse) Reset() { + *x = GetOnlineSkillsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_online_skills_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOnlineSkillsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOnlineSkillsResponse) ProtoMessage() {} + +func (x *GetOnlineSkillsResponse) ProtoReflect() protoreflect.Message { + mi := &file_online_skills_proto_msgTypes[11] + 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 GetOnlineSkillsResponse.ProtoReflect.Descriptor instead. +func (*GetOnlineSkillsResponse) Descriptor() ([]byte, []int) { + return file_online_skills_proto_rawDescGZIP(), []int{11} +} + +func (x *GetOnlineSkillsResponse) GetItem() *OnlineSkills { + if x != nil { + return x.Item + } + return nil +} + +var File_online_skills_proto protoreflect.FileDescriptor + +var file_online_skills_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x0b, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, + 0x22, 0x79, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x1a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x04, 0x69, + 0x74, 0x65, 0x6d, 0x22, 0x2b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x89, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 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, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x1a, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, + 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x04, + 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x19, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x22, 0xcf, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, + 0x69, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x22, 0x5c, 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x22, 0x28, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x32, 0xab, 0x0b, 0x0a, 0x13, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8c, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, + 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xae, 0x01, 0x92, 0x41, 0x85, 0x01, 0x0a, 0x0d, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x1a, 0x5e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, + 0x77, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1e, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, + 0x41, 0x62, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x11, 0x47, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x1a, 0x3e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x6e, + 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x49, 0x44, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x12, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x92, 0x41, 0x64, 0x0a, + 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x14, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x1a, 0x3d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x98, 0x01, 0x92, 0x41, 0x6b, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x20, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x1a, 0x44, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x65, 0x64, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x1a, 0x1f, 0x2f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xec, + 0x01, 0x0a, 0x11, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, 0x01, 0x92, 0x41, 0x64, 0x0a, + 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x13, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x1a, 0x3e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, + 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, + 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 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, + 0x7d, 0x92, 0x41, 0x53, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x12, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x1a, 0x2c, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, 0x2f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x9a, + 0x01, 0x92, 0x41, 0x75, 0x12, 0x4b, 0x0a, 0x15, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x41, + 0x50, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x69, 0x6e, + 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x03, 0x31, 0x2e, + 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_online_skills_proto_rawDescOnce sync.Once + file_online_skills_proto_rawDescData = file_online_skills_proto_rawDesc +) + +func file_online_skills_proto_rawDescGZIP() []byte { + file_online_skills_proto_rawDescOnce.Do(func() { + file_online_skills_proto_rawDescData = protoimpl.X.CompressGZIP(file_online_skills_proto_rawDescData) + }) + return file_online_skills_proto_rawDescData +} + +var file_online_skills_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_online_skills_proto_goTypes = []interface{}{ + (*OnlineSkills)(nil), // 0: engine.OnlineSkills + (*CreateOnlineSkillsRequest)(nil), // 1: engine.CreateOnlineSkillsRequest + (*CreateOnlineSkillsResponse)(nil), // 2: engine.CreateOnlineSkillsResponse + (*DeleteOnlineSkillsRequest)(nil), // 3: engine.DeleteOnlineSkillsRequest + (*UpdateOnlineSkillsRequest)(nil), // 4: engine.UpdateOnlineSkillsRequest + (*UpdateOnlineSkillsResponse)(nil), // 5: engine.UpdateOnlineSkillsResponse + (*PatchOnlineSkillsRequest)(nil), // 6: engine.PatchOnlineSkillsRequest + (*PatchOnlineSkillsResponse)(nil), // 7: engine.PatchOnlineSkillsResponse + (*SearchOnlineSkillsRequest)(nil), // 8: engine.SearchOnlineSkillsRequest + (*SearchOnlineSkillsResponse)(nil), // 9: engine.SearchOnlineSkillsResponse + (*GetOnlineSkillsRequest)(nil), // 10: engine.GetOnlineSkillsRequest + (*GetOnlineSkillsResponse)(nil), // 11: engine.GetOnlineSkillsResponse + (*Lookup)(nil), // 12: engine.Lookup + (*emptypb.Empty)(nil), // 13: google.protobuf.Empty +} +var file_online_skills_proto_depIdxs = []int32{ + 12, // 0: engine.OnlineSkills.created_by:type_name -> engine.Lookup + 12, // 1: engine.OnlineSkills.updated_by:type_name -> engine.Lookup + 12, // 2: engine.OnlineSkills.skills:type_name -> engine.Lookup + 12, // 3: engine.CreateOnlineSkillsRequest.skills:type_name -> engine.Lookup + 0, // 4: engine.CreateOnlineSkillsResponse.item:type_name -> engine.OnlineSkills + 12, // 5: engine.UpdateOnlineSkillsRequest.skills:type_name -> engine.Lookup + 0, // 6: engine.UpdateOnlineSkillsResponse.item:type_name -> engine.OnlineSkills + 12, // 7: engine.PatchOnlineSkillsRequest.skills:type_name -> engine.Lookup + 0, // 8: engine.PatchOnlineSkillsResponse.item:type_name -> engine.OnlineSkills + 0, // 9: engine.SearchOnlineSkillsResponse.items:type_name -> engine.OnlineSkills + 0, // 10: engine.GetOnlineSkillsResponse.item:type_name -> engine.OnlineSkills + 1, // 11: engine.OnlineSkillsService.CreateOnlineSkills:input_type -> engine.CreateOnlineSkillsRequest + 10, // 12: engine.OnlineSkillsService.GetOnlineSkills:input_type -> engine.GetOnlineSkillsRequest + 8, // 13: engine.OnlineSkillsService.SearchOnlineSkills:input_type -> engine.SearchOnlineSkillsRequest + 4, // 14: engine.OnlineSkillsService.UpdateOnlineSkills:input_type -> engine.UpdateOnlineSkillsRequest + 6, // 15: engine.OnlineSkillsService.PatchOnlineSkills:input_type -> engine.PatchOnlineSkillsRequest + 3, // 16: engine.OnlineSkillsService.DeleteOnlineSkills:input_type -> engine.DeleteOnlineSkillsRequest + 2, // 17: engine.OnlineSkillsService.CreateOnlineSkills:output_type -> engine.CreateOnlineSkillsResponse + 11, // 18: engine.OnlineSkillsService.GetOnlineSkills:output_type -> engine.GetOnlineSkillsResponse + 9, // 19: engine.OnlineSkillsService.SearchOnlineSkills:output_type -> engine.SearchOnlineSkillsResponse + 5, // 20: engine.OnlineSkillsService.UpdateOnlineSkills:output_type -> engine.UpdateOnlineSkillsResponse + 7, // 21: engine.OnlineSkillsService.PatchOnlineSkills:output_type -> engine.PatchOnlineSkillsResponse + 13, // 22: engine.OnlineSkillsService.DeleteOnlineSkills:output_type -> google.protobuf.Empty + 17, // [17:23] is the sub-list for method output_type + 11, // [11:17] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_online_skills_proto_init() } +func file_online_skills_proto_init() { + if File_online_skills_proto != nil { + return + } + file_const_proto_init() + if !protoimpl.UnsafeEnabled { + file_online_skills_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnlineSkills); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOnlineSkillsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateOnlineSkillsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchOnlineSkillsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchOnlineSkillsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOnlineSkillsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_online_skills_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOnlineSkillsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_online_skills_proto_msgTypes[6].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_online_skills_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_online_skills_proto_goTypes, + DependencyIndexes: file_online_skills_proto_depIdxs, + MessageInfos: file_online_skills_proto_msgTypes, + }.Build() + File_online_skills_proto = out.File + file_online_skills_proto_rawDesc = nil + file_online_skills_proto_goTypes = nil + file_online_skills_proto_depIdxs = nil +} diff --git a/gen/engine/online_skills_grpc.pb.go b/gen/engine/online_skills_grpc.pb.go new file mode 100644 index 00000000..22a76331 --- /dev/null +++ b/gen/engine/online_skills_grpc.pb.go @@ -0,0 +1,309 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: online_skills.proto + +package engine + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + OnlineSkillsService_CreateOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/CreateOnlineSkills" + OnlineSkillsService_GetOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/GetOnlineSkills" + OnlineSkillsService_SearchOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/SearchOnlineSkills" + OnlineSkillsService_UpdateOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/UpdateOnlineSkills" + OnlineSkillsService_PatchOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/PatchOnlineSkills" + OnlineSkillsService_DeleteOnlineSkills_FullMethodName = "/engine.OnlineSkillsService/DeleteOnlineSkills" +) + +// OnlineSkillsServiceClient is the client API for OnlineSkillsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OnlineSkillsServiceClient interface { + // Creates a new online skills entry. + CreateOnlineSkills(ctx context.Context, in *CreateOnlineSkillsRequest, opts ...grpc.CallOption) (*CreateOnlineSkillsResponse, error) + // Retrieves an online skills entry by its identifier. + GetOnlineSkills(ctx context.Context, in *GetOnlineSkillsRequest, opts ...grpc.CallOption) (*GetOnlineSkillsResponse, error) + // Searches online skills using filtering, + // sorting and pagination options. + SearchOnlineSkills(ctx context.Context, in *SearchOnlineSkillsRequest, opts ...grpc.CallOption) (*SearchOnlineSkillsResponse, error) + // Replaces an existing online skills entry. + UpdateOnlineSkills(ctx context.Context, in *UpdateOnlineSkillsRequest, opts ...grpc.CallOption) (*UpdateOnlineSkillsResponse, error) + // Updates selected fields of an online skills entry. + PatchOnlineSkills(ctx context.Context, in *PatchOnlineSkillsRequest, opts ...grpc.CallOption) (*PatchOnlineSkillsResponse, error) + // Deletes one or more online skills entries. + DeleteOnlineSkills(ctx context.Context, in *DeleteOnlineSkillsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type onlineSkillsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewOnlineSkillsServiceClient(cc grpc.ClientConnInterface) OnlineSkillsServiceClient { + return &onlineSkillsServiceClient{cc} +} + +func (c *onlineSkillsServiceClient) CreateOnlineSkills(ctx context.Context, in *CreateOnlineSkillsRequest, opts ...grpc.CallOption) (*CreateOnlineSkillsResponse, error) { + out := new(CreateOnlineSkillsResponse) + err := c.cc.Invoke(ctx, OnlineSkillsService_CreateOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *onlineSkillsServiceClient) GetOnlineSkills(ctx context.Context, in *GetOnlineSkillsRequest, opts ...grpc.CallOption) (*GetOnlineSkillsResponse, error) { + out := new(GetOnlineSkillsResponse) + err := c.cc.Invoke(ctx, OnlineSkillsService_GetOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *onlineSkillsServiceClient) SearchOnlineSkills(ctx context.Context, in *SearchOnlineSkillsRequest, opts ...grpc.CallOption) (*SearchOnlineSkillsResponse, error) { + out := new(SearchOnlineSkillsResponse) + err := c.cc.Invoke(ctx, OnlineSkillsService_SearchOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *onlineSkillsServiceClient) UpdateOnlineSkills(ctx context.Context, in *UpdateOnlineSkillsRequest, opts ...grpc.CallOption) (*UpdateOnlineSkillsResponse, error) { + out := new(UpdateOnlineSkillsResponse) + err := c.cc.Invoke(ctx, OnlineSkillsService_UpdateOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *onlineSkillsServiceClient) PatchOnlineSkills(ctx context.Context, in *PatchOnlineSkillsRequest, opts ...grpc.CallOption) (*PatchOnlineSkillsResponse, error) { + out := new(PatchOnlineSkillsResponse) + err := c.cc.Invoke(ctx, OnlineSkillsService_PatchOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *onlineSkillsServiceClient) DeleteOnlineSkills(ctx context.Context, in *DeleteOnlineSkillsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, OnlineSkillsService_DeleteOnlineSkills_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OnlineSkillsServiceServer is the server API for OnlineSkillsService service. +// All implementations must embed UnimplementedOnlineSkillsServiceServer +// for forward compatibility +type OnlineSkillsServiceServer interface { + // Creates a new online skills entry. + CreateOnlineSkills(context.Context, *CreateOnlineSkillsRequest) (*CreateOnlineSkillsResponse, error) + // Retrieves an online skills entry by its identifier. + GetOnlineSkills(context.Context, *GetOnlineSkillsRequest) (*GetOnlineSkillsResponse, error) + // Searches online skills using filtering, + // sorting and pagination options. + SearchOnlineSkills(context.Context, *SearchOnlineSkillsRequest) (*SearchOnlineSkillsResponse, error) + // Replaces an existing online skills entry. + UpdateOnlineSkills(context.Context, *UpdateOnlineSkillsRequest) (*UpdateOnlineSkillsResponse, error) + // Updates selected fields of an online skills entry. + PatchOnlineSkills(context.Context, *PatchOnlineSkillsRequest) (*PatchOnlineSkillsResponse, error) + // Deletes one or more online skills entries. + DeleteOnlineSkills(context.Context, *DeleteOnlineSkillsRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedOnlineSkillsServiceServer() +} + +// UnimplementedOnlineSkillsServiceServer must be embedded to have forward compatible implementations. +type UnimplementedOnlineSkillsServiceServer struct { +} + +func (UnimplementedOnlineSkillsServiceServer) CreateOnlineSkills(context.Context, *CreateOnlineSkillsRequest) (*CreateOnlineSkillsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) GetOnlineSkills(context.Context, *GetOnlineSkillsRequest) (*GetOnlineSkillsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) SearchOnlineSkills(context.Context, *SearchOnlineSkillsRequest) (*SearchOnlineSkillsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) UpdateOnlineSkills(context.Context, *UpdateOnlineSkillsRequest) (*UpdateOnlineSkillsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) PatchOnlineSkills(context.Context, *PatchOnlineSkillsRequest) (*PatchOnlineSkillsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) DeleteOnlineSkills(context.Context, *DeleteOnlineSkillsRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteOnlineSkills not implemented") +} +func (UnimplementedOnlineSkillsServiceServer) mustEmbedUnimplementedOnlineSkillsServiceServer() {} + +// UnsafeOnlineSkillsServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OnlineSkillsServiceServer will +// result in compilation errors. +type UnsafeOnlineSkillsServiceServer interface { + mustEmbedUnimplementedOnlineSkillsServiceServer() +} + +func RegisterOnlineSkillsServiceServer(s grpc.ServiceRegistrar, srv OnlineSkillsServiceServer) { + s.RegisterService(&OnlineSkillsService_ServiceDesc, srv) +} + +func _OnlineSkillsService_CreateOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).CreateOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_CreateOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).CreateOnlineSkills(ctx, req.(*CreateOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OnlineSkillsService_GetOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).GetOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_GetOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).GetOnlineSkills(ctx, req.(*GetOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OnlineSkillsService_SearchOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).SearchOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_SearchOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).SearchOnlineSkills(ctx, req.(*SearchOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OnlineSkillsService_UpdateOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).UpdateOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_UpdateOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).UpdateOnlineSkills(ctx, req.(*UpdateOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OnlineSkillsService_PatchOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).PatchOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_PatchOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).PatchOnlineSkills(ctx, req.(*PatchOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OnlineSkillsService_DeleteOnlineSkills_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteOnlineSkillsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OnlineSkillsServiceServer).DeleteOnlineSkills(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OnlineSkillsService_DeleteOnlineSkills_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OnlineSkillsServiceServer).DeleteOnlineSkills(ctx, req.(*DeleteOnlineSkillsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// OnlineSkillsService_ServiceDesc is the grpc.ServiceDesc for OnlineSkillsService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var OnlineSkillsService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "engine.OnlineSkillsService", + HandlerType: (*OnlineSkillsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateOnlineSkills", + Handler: _OnlineSkillsService_CreateOnlineSkills_Handler, + }, + { + MethodName: "GetOnlineSkills", + Handler: _OnlineSkillsService_GetOnlineSkills_Handler, + }, + { + MethodName: "SearchOnlineSkills", + Handler: _OnlineSkillsService_SearchOnlineSkills_Handler, + }, + { + MethodName: "UpdateOnlineSkills", + Handler: _OnlineSkillsService_UpdateOnlineSkills_Handler, + }, + { + MethodName: "PatchOnlineSkills", + Handler: _OnlineSkillsService_PatchOnlineSkills_Handler, + }, + { + MethodName: "DeleteOnlineSkills", + Handler: _OnlineSkillsService_DeleteOnlineSkills_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "online_skills.proto", +} diff --git a/gen/engine/skill_preset.pb.go b/gen/engine/skill_preset.pb.go deleted file mode 100644 index d4d8d56b..00000000 --- a/gen/engine/skill_preset.pb.go +++ /dev/null @@ -1,1327 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc (unknown) -// source: skill_preset.proto - -package engine - -import ( - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - _ "google.golang.org/genproto/googleapis/api/annotations" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// SkillPreset represents a reusable collection -// of skills that can be assigned within the Call Center. -type SkillPreset struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Unique preset identifier. - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - // User who created the preset. - CreatedBy *Lookup `protobuf:"bytes,2,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` - // Creation timestamp (Unix time, milliseconds). - CreatedAt int64 `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // User who last updated the preset. - UpdatedBy *Lookup `protobuf:"bytes,4,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` - // Last update timestamp (Unix time, milliseconds). - UpdatedAt int64 `protobuf:"varint,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Display name of the preset. - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` - // Optional preset description. - Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` - // Skills included in the preset. - Skills []*Lookup `protobuf:"bytes,8,rep,name=skills,proto3" json:"skills,omitempty"` -} - -func (x *SkillPreset) Reset() { - *x = SkillPreset{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SkillPreset) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SkillPreset) ProtoMessage() {} - -func (x *SkillPreset) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[0] - 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 SkillPreset.ProtoReflect.Descriptor instead. -func (*SkillPreset) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{0} -} - -func (x *SkillPreset) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *SkillPreset) GetCreatedBy() *Lookup { - if x != nil { - return x.CreatedBy - } - return nil -} - -func (x *SkillPreset) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *SkillPreset) GetUpdatedBy() *Lookup { - if x != nil { - return x.UpdatedBy - } - return nil -} - -func (x *SkillPreset) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *SkillPreset) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *SkillPreset) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *SkillPreset) GetSkills() []*Lookup { - if x != nil { - return x.Skills - } - return nil -} - -// Request for creating a skill preset. -type CreateSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Display name of the preset. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Optional description. - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - // Skills included in the preset. - Skills []*Lookup `protobuf:"bytes,3,rep,name=skills,proto3" json:"skills,omitempty"` -} - -func (x *CreateSkillPresetRequest) Reset() { - *x = CreateSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateSkillPresetRequest) ProtoMessage() {} - -func (x *CreateSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[1] - 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 CreateSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*CreateSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{1} -} - -func (x *CreateSkillPresetRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *CreateSkillPresetRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *CreateSkillPresetRequest) GetSkills() []*Lookup { - if x != nil { - return x.Skills - } - return nil -} - -// Response containing the created skill preset. -type CreateSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Created skill preset. - Item *SkillPreset `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` -} - -func (x *CreateSkillPresetResponse) Reset() { - *x = CreateSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateSkillPresetResponse) ProtoMessage() {} - -func (x *CreateSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[2] - 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 CreateSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*CreateSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{2} -} - -func (x *CreateSkillPresetResponse) GetItem() *SkillPreset { - if x != nil { - return x.Item - } - return nil -} - -// Request for deleting one or more skill presets. -type DeleteSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Identifiers of skill presets to delete. - Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` -} - -func (x *DeleteSkillPresetRequest) Reset() { - *x = DeleteSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteSkillPresetRequest) ProtoMessage() {} - -func (x *DeleteSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[3] - 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 DeleteSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*DeleteSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{3} -} - -func (x *DeleteSkillPresetRequest) GetIds() []int64 { - if x != nil { - return x.Ids - } - return nil -} - -// Response containing deleted skill presets. -type DeleteSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deleted skill presets. - Items []*SkillPreset `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *DeleteSkillPresetResponse) Reset() { - *x = DeleteSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteSkillPresetResponse) ProtoMessage() {} - -func (x *DeleteSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[4] - 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 DeleteSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*DeleteSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{4} -} - -func (x *DeleteSkillPresetResponse) GetItems() []*SkillPreset { - if x != nil { - return x.Items - } - return nil -} - -// Request for replacing a skill preset. -type UpdateSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Skill preset identifier. - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - // Display name. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // Optional description. - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - // Skills assigned to the preset. - Skills []*Lookup `protobuf:"bytes,4,rep,name=skills,proto3" json:"skills,omitempty"` -} - -func (x *UpdateSkillPresetRequest) Reset() { - *x = UpdateSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateSkillPresetRequest) ProtoMessage() {} - -func (x *UpdateSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[5] - 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 UpdateSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*UpdateSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{5} -} - -func (x *UpdateSkillPresetRequest) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *UpdateSkillPresetRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UpdateSkillPresetRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UpdateSkillPresetRequest) GetSkills() []*Lookup { - if x != nil { - return x.Skills - } - return nil -} - -// Response containing updated skill preset. -type UpdateSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Updated skill preset. - Item *SkillPreset `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` -} - -func (x *UpdateSkillPresetResponse) Reset() { - *x = UpdateSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateSkillPresetResponse) ProtoMessage() {} - -func (x *UpdateSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[6] - 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 UpdateSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*UpdateSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{6} -} - -func (x *UpdateSkillPresetResponse) GetItem() *SkillPreset { - if x != nil { - return x.Item - } - return nil -} - -// Request for partially updating a skill preset. -type PatchSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of fields to update. - Fields []string `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` - // Skill preset identifier. - Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` - // Updated preset name. - Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Updated preset description. - Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"` - // Updated list of skills. - Skills []*Lookup `protobuf:"bytes,5,rep,name=skills,proto3" json:"skills,omitempty"` -} - -func (x *PatchSkillPresetRequest) Reset() { - *x = PatchSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatchSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatchSkillPresetRequest) ProtoMessage() {} - -func (x *PatchSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[7] - 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 PatchSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*PatchSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{7} -} - -func (x *PatchSkillPresetRequest) GetFields() []string { - if x != nil { - return x.Fields - } - return nil -} - -func (x *PatchSkillPresetRequest) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *PatchSkillPresetRequest) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *PatchSkillPresetRequest) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *PatchSkillPresetRequest) GetSkills() []*Lookup { - if x != nil { - return x.Skills - } - return nil -} - -// Response containing patched skill preset. -type PatchSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Patched skill preset item. - Item *SkillPreset `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` -} - -func (x *PatchSkillPresetResponse) Reset() { - *x = PatchSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatchSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatchSkillPresetResponse) ProtoMessage() {} - -func (x *PatchSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[8] - 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 PatchSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*PatchSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{8} -} - -func (x *PatchSkillPresetResponse) GetItem() *SkillPreset { - if x != nil { - return x.Item - } - return nil -} - -// Search criteria for skill presets. -type SearchSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Page number (1-based). - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` - // Maximum number of items per page. - Size int32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` - // Search pattern applied to preset names. - Q string `protobuf:"bytes,3,opt,name=q,proto3" json:"q,omitempty"` - // Sort expression. - // Example: "-name", "+created_at". - Sort string `protobuf:"bytes,4,opt,name=sort,proto3" json:"sort,omitempty"` - // List of fields to include in the response. - Fields []string `protobuf:"bytes,5,rep,name=fields,proto3" json:"fields,omitempty"` - // Filter by preset identifiers. - Ids []int64 `protobuf:"varint,6,rep,packed,name=ids,proto3" json:"ids,omitempty"` - // Filter by associated skill identifiers. - SkillIds []int64 `protobuf:"varint,7,rep,packed,name=skill_ids,json=skillIds,proto3" json:"skill_ids,omitempty"` - // Skip the default preset in the search results. - SkipDefault bool `protobuf:"varint,8,opt,name=skip_default,json=skipDefault,proto3" json:"skip_default,omitempty"` -} - -func (x *SearchSkillPresetRequest) Reset() { - *x = SearchSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SearchSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SearchSkillPresetRequest) ProtoMessage() {} - -func (x *SearchSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[9] - 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 SearchSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*SearchSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{9} -} - -func (x *SearchSkillPresetRequest) GetPage() int32 { - if x != nil { - return x.Page - } - return 0 -} - -func (x *SearchSkillPresetRequest) GetSize() int32 { - if x != nil { - return x.Size - } - return 0 -} - -func (x *SearchSkillPresetRequest) GetQ() string { - if x != nil { - return x.Q - } - return "" -} - -func (x *SearchSkillPresetRequest) GetSort() string { - if x != nil { - return x.Sort - } - return "" -} - -func (x *SearchSkillPresetRequest) GetFields() []string { - if x != nil { - return x.Fields - } - return nil -} - -func (x *SearchSkillPresetRequest) GetIds() []int64 { - if x != nil { - return x.Ids - } - return nil -} - -func (x *SearchSkillPresetRequest) GetSkillIds() []int64 { - if x != nil { - return x.SkillIds - } - return nil -} - -func (x *SearchSkillPresetRequest) GetSkipDefault() bool { - if x != nil { - return x.SkipDefault - } - return false -} - -// Search results for skill presets. -type SearchSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Matching skill presets. - Items []*SkillPreset `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` - // Indicates whether another page of results exists. - Next bool `protobuf:"varint,2,opt,name=next,proto3" json:"next,omitempty"` -} - -func (x *SearchSkillPresetResponse) Reset() { - *x = SearchSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SearchSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SearchSkillPresetResponse) ProtoMessage() {} - -func (x *SearchSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[10] - 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 SearchSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*SearchSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{10} -} - -func (x *SearchSkillPresetResponse) GetItems() []*SkillPreset { - if x != nil { - return x.Items - } - return nil -} - -func (x *SearchSkillPresetResponse) GetNext() bool { - if x != nil { - return x.Next - } - return false -} - -// Request for retrieving a skill preset. -type GetSkillPresetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Skill preset identifier. - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *GetSkillPresetRequest) Reset() { - *x = GetSkillPresetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSkillPresetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSkillPresetRequest) ProtoMessage() {} - -func (x *GetSkillPresetRequest) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[11] - 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 GetSkillPresetRequest.ProtoReflect.Descriptor instead. -func (*GetSkillPresetRequest) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{11} -} - -func (x *GetSkillPresetRequest) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -// Response containing the requested skill preset. -type GetSkillPresetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Requested skill preset. - Item *SkillPreset `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` -} - -func (x *GetSkillPresetResponse) Reset() { - *x = GetSkillPresetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_skill_preset_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSkillPresetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSkillPresetResponse) ProtoMessage() {} - -func (x *GetSkillPresetResponse) ProtoReflect() protoreflect.Message { - mi := &file_skill_preset_proto_msgTypes[12] - 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 GetSkillPresetResponse.ProtoReflect.Descriptor instead. -func (*GetSkillPresetResponse) Descriptor() ([]byte, []int) { - return file_skill_preset_proto_rawDescGZIP(), []int{12} -} - -func (x *GetSkillPresetResponse) GetItem() *SkillPreset { - if x != nil { - return x.Item - } - return nil -} - -var File_skill_preset_proto protoreflect.FileDescriptor - -var file_skill_preset_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, - 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x0b, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, - 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x73, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x22, 0x44, 0x0a, 0x19, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, - 0x6d, 0x22, 0x2c, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, - 0x46, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x69, 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, 0x26, 0x0a, 0x06, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x22, 0x44, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x27, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x06, - 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, - 0x18, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, - 0x65, 0x6d, 0x22, 0xce, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, - 0x69, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x22, 0x5a, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, - 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xfd, 0x0a, 0x0a, 0x12, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x82, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa7, 0x01, - 0x92, 0x41, 0x7f, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x73, 0x12, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x6b, 0x69, - 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x1a, 0x57, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x92, 0x41, 0x5b, 0x0a, - 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x12, - 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x1a, 0x36, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x49, 0x44, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, - 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x92, - 0x41, 0x64, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x73, 0x12, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x1a, 0x3d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, - 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x20, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x63, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x63, - 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x92, 0x41, 0x65, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x1a, - 0x3d, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x65, 0x64, - 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x1a, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x8b, 0x01, 0x92, 0x41, 0x5e, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x14, 0x50, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x20, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x1a, 0x37, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x6b, 0x69, 0x6c, - 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xca, - 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x92, 0x41, 0x4b, 0x0a, 0x0d, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x14, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x73, 0x1a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, - 0x1a, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x42, 0x99, 0x01, 0x92, 0x41, - 0x74, 0x12, 0x4a, 0x0a, 0x14, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x41, 0x50, 0x49, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x6b, 0x69, 0x6c, - 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x61, 0x6c, - 0x6c, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x2a, 0x02, 0x01, - 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, - 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_skill_preset_proto_rawDescOnce sync.Once - file_skill_preset_proto_rawDescData = file_skill_preset_proto_rawDesc -) - -func file_skill_preset_proto_rawDescGZIP() []byte { - file_skill_preset_proto_rawDescOnce.Do(func() { - file_skill_preset_proto_rawDescData = protoimpl.X.CompressGZIP(file_skill_preset_proto_rawDescData) - }) - return file_skill_preset_proto_rawDescData -} - -var file_skill_preset_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_skill_preset_proto_goTypes = []interface{}{ - (*SkillPreset)(nil), // 0: engine.SkillPreset - (*CreateSkillPresetRequest)(nil), // 1: engine.CreateSkillPresetRequest - (*CreateSkillPresetResponse)(nil), // 2: engine.CreateSkillPresetResponse - (*DeleteSkillPresetRequest)(nil), // 3: engine.DeleteSkillPresetRequest - (*DeleteSkillPresetResponse)(nil), // 4: engine.DeleteSkillPresetResponse - (*UpdateSkillPresetRequest)(nil), // 5: engine.UpdateSkillPresetRequest - (*UpdateSkillPresetResponse)(nil), // 6: engine.UpdateSkillPresetResponse - (*PatchSkillPresetRequest)(nil), // 7: engine.PatchSkillPresetRequest - (*PatchSkillPresetResponse)(nil), // 8: engine.PatchSkillPresetResponse - (*SearchSkillPresetRequest)(nil), // 9: engine.SearchSkillPresetRequest - (*SearchSkillPresetResponse)(nil), // 10: engine.SearchSkillPresetResponse - (*GetSkillPresetRequest)(nil), // 11: engine.GetSkillPresetRequest - (*GetSkillPresetResponse)(nil), // 12: engine.GetSkillPresetResponse - (*Lookup)(nil), // 13: engine.Lookup -} -var file_skill_preset_proto_depIdxs = []int32{ - 13, // 0: engine.SkillPreset.created_by:type_name -> engine.Lookup - 13, // 1: engine.SkillPreset.updated_by:type_name -> engine.Lookup - 13, // 2: engine.SkillPreset.skills:type_name -> engine.Lookup - 13, // 3: engine.CreateSkillPresetRequest.skills:type_name -> engine.Lookup - 0, // 4: engine.CreateSkillPresetResponse.item:type_name -> engine.SkillPreset - 0, // 5: engine.DeleteSkillPresetResponse.items:type_name -> engine.SkillPreset - 13, // 6: engine.UpdateSkillPresetRequest.skills:type_name -> engine.Lookup - 0, // 7: engine.UpdateSkillPresetResponse.item:type_name -> engine.SkillPreset - 13, // 8: engine.PatchSkillPresetRequest.skills:type_name -> engine.Lookup - 0, // 9: engine.PatchSkillPresetResponse.item:type_name -> engine.SkillPreset - 0, // 10: engine.SearchSkillPresetResponse.items:type_name -> engine.SkillPreset - 0, // 11: engine.GetSkillPresetResponse.item:type_name -> engine.SkillPreset - 1, // 12: engine.SkillPresetService.CreateSkillPreset:input_type -> engine.CreateSkillPresetRequest - 11, // 13: engine.SkillPresetService.GetSkillPreset:input_type -> engine.GetSkillPresetRequest - 9, // 14: engine.SkillPresetService.SearchSkillPreset:input_type -> engine.SearchSkillPresetRequest - 5, // 15: engine.SkillPresetService.UpdateSkillPreset:input_type -> engine.UpdateSkillPresetRequest - 7, // 16: engine.SkillPresetService.PatchSkillPreset:input_type -> engine.PatchSkillPresetRequest - 3, // 17: engine.SkillPresetService.DeleteSkillPreset:input_type -> engine.DeleteSkillPresetRequest - 2, // 18: engine.SkillPresetService.CreateSkillPreset:output_type -> engine.CreateSkillPresetResponse - 12, // 19: engine.SkillPresetService.GetSkillPreset:output_type -> engine.GetSkillPresetResponse - 10, // 20: engine.SkillPresetService.SearchSkillPreset:output_type -> engine.SearchSkillPresetResponse - 6, // 21: engine.SkillPresetService.UpdateSkillPreset:output_type -> engine.UpdateSkillPresetResponse - 8, // 22: engine.SkillPresetService.PatchSkillPreset:output_type -> engine.PatchSkillPresetResponse - 4, // 23: engine.SkillPresetService.DeleteSkillPreset:output_type -> engine.DeleteSkillPresetResponse - 18, // [18:24] is the sub-list for method output_type - 12, // [12:18] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name -} - -func init() { file_skill_preset_proto_init() } -func file_skill_preset_proto_init() { - if File_skill_preset_proto != nil { - return - } - file_const_proto_init() - if !protoimpl.UnsafeEnabled { - file_skill_preset_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkillPreset); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatchSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatchSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSkillPresetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_skill_preset_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSkillPresetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_skill_preset_proto_msgTypes[7].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_skill_preset_proto_rawDesc, - NumEnums: 0, - NumMessages: 13, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_skill_preset_proto_goTypes, - DependencyIndexes: file_skill_preset_proto_depIdxs, - MessageInfos: file_skill_preset_proto_msgTypes, - }.Build() - File_skill_preset_proto = out.File - file_skill_preset_proto_rawDesc = nil - file_skill_preset_proto_goTypes = nil - file_skill_preset_proto_depIdxs = nil -} diff --git a/gen/engine/skill_preset_grpc.pb.go b/gen/engine/skill_preset_grpc.pb.go deleted file mode 100644 index 23b495a9..00000000 --- a/gen/engine/skill_preset_grpc.pb.go +++ /dev/null @@ -1,308 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc (unknown) -// source: skill_preset.proto - -package engine - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - SkillPresetService_CreateSkillPreset_FullMethodName = "/engine.SkillPresetService/CreateSkillPreset" - SkillPresetService_GetSkillPreset_FullMethodName = "/engine.SkillPresetService/GetSkillPreset" - SkillPresetService_SearchSkillPreset_FullMethodName = "/engine.SkillPresetService/SearchSkillPreset" - SkillPresetService_UpdateSkillPreset_FullMethodName = "/engine.SkillPresetService/UpdateSkillPreset" - SkillPresetService_PatchSkillPreset_FullMethodName = "/engine.SkillPresetService/PatchSkillPreset" - SkillPresetService_DeleteSkillPreset_FullMethodName = "/engine.SkillPresetService/DeleteSkillPreset" -) - -// SkillPresetServiceClient is the client API for SkillPresetService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type SkillPresetServiceClient interface { - // Created a new skill preset. - CreateSkillPreset(ctx context.Context, in *CreateSkillPresetRequest, opts ...grpc.CallOption) (*CreateSkillPresetResponse, error) - // Retrieves a skill preset by its identifier. - GetSkillPreset(ctx context.Context, in *GetSkillPresetRequest, opts ...grpc.CallOption) (*GetSkillPresetResponse, error) - // Searches skill presets using filtering, - // sorting and pagination options. - SearchSkillPreset(ctx context.Context, in *SearchSkillPresetRequest, opts ...grpc.CallOption) (*SearchSkillPresetResponse, error) - // Replaces an existing skill preset. - UpdateSkillPreset(ctx context.Context, in *UpdateSkillPresetRequest, opts ...grpc.CallOption) (*UpdateSkillPresetResponse, error) - // Updates selected fields of a skill preset. - PatchSkillPreset(ctx context.Context, in *PatchSkillPresetRequest, opts ...grpc.CallOption) (*PatchSkillPresetResponse, error) - // Deletes one or more skill presets. - DeleteSkillPreset(ctx context.Context, in *DeleteSkillPresetRequest, opts ...grpc.CallOption) (*DeleteSkillPresetResponse, error) -} - -type skillPresetServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewSkillPresetServiceClient(cc grpc.ClientConnInterface) SkillPresetServiceClient { - return &skillPresetServiceClient{cc} -} - -func (c *skillPresetServiceClient) CreateSkillPreset(ctx context.Context, in *CreateSkillPresetRequest, opts ...grpc.CallOption) (*CreateSkillPresetResponse, error) { - out := new(CreateSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_CreateSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *skillPresetServiceClient) GetSkillPreset(ctx context.Context, in *GetSkillPresetRequest, opts ...grpc.CallOption) (*GetSkillPresetResponse, error) { - out := new(GetSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_GetSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *skillPresetServiceClient) SearchSkillPreset(ctx context.Context, in *SearchSkillPresetRequest, opts ...grpc.CallOption) (*SearchSkillPresetResponse, error) { - out := new(SearchSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_SearchSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *skillPresetServiceClient) UpdateSkillPreset(ctx context.Context, in *UpdateSkillPresetRequest, opts ...grpc.CallOption) (*UpdateSkillPresetResponse, error) { - out := new(UpdateSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_UpdateSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *skillPresetServiceClient) PatchSkillPreset(ctx context.Context, in *PatchSkillPresetRequest, opts ...grpc.CallOption) (*PatchSkillPresetResponse, error) { - out := new(PatchSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_PatchSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *skillPresetServiceClient) DeleteSkillPreset(ctx context.Context, in *DeleteSkillPresetRequest, opts ...grpc.CallOption) (*DeleteSkillPresetResponse, error) { - out := new(DeleteSkillPresetResponse) - err := c.cc.Invoke(ctx, SkillPresetService_DeleteSkillPreset_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SkillPresetServiceServer is the server API for SkillPresetService service. -// All implementations must embed UnimplementedSkillPresetServiceServer -// for forward compatibility -type SkillPresetServiceServer interface { - // Created a new skill preset. - CreateSkillPreset(context.Context, *CreateSkillPresetRequest) (*CreateSkillPresetResponse, error) - // Retrieves a skill preset by its identifier. - GetSkillPreset(context.Context, *GetSkillPresetRequest) (*GetSkillPresetResponse, error) - // Searches skill presets using filtering, - // sorting and pagination options. - SearchSkillPreset(context.Context, *SearchSkillPresetRequest) (*SearchSkillPresetResponse, error) - // Replaces an existing skill preset. - UpdateSkillPreset(context.Context, *UpdateSkillPresetRequest) (*UpdateSkillPresetResponse, error) - // Updates selected fields of a skill preset. - PatchSkillPreset(context.Context, *PatchSkillPresetRequest) (*PatchSkillPresetResponse, error) - // Deletes one or more skill presets. - DeleteSkillPreset(context.Context, *DeleteSkillPresetRequest) (*DeleteSkillPresetResponse, error) - mustEmbedUnimplementedSkillPresetServiceServer() -} - -// UnimplementedSkillPresetServiceServer must be embedded to have forward compatible implementations. -type UnimplementedSkillPresetServiceServer struct { -} - -func (UnimplementedSkillPresetServiceServer) CreateSkillPreset(context.Context, *CreateSkillPresetRequest) (*CreateSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) GetSkillPreset(context.Context, *GetSkillPresetRequest) (*GetSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) SearchSkillPreset(context.Context, *SearchSkillPresetRequest) (*SearchSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SearchSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) UpdateSkillPreset(context.Context, *UpdateSkillPresetRequest) (*UpdateSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) PatchSkillPreset(context.Context, *PatchSkillPresetRequest) (*PatchSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PatchSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) DeleteSkillPreset(context.Context, *DeleteSkillPresetRequest) (*DeleteSkillPresetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteSkillPreset not implemented") -} -func (UnimplementedSkillPresetServiceServer) mustEmbedUnimplementedSkillPresetServiceServer() {} - -// UnsafeSkillPresetServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SkillPresetServiceServer will -// result in compilation errors. -type UnsafeSkillPresetServiceServer interface { - mustEmbedUnimplementedSkillPresetServiceServer() -} - -func RegisterSkillPresetServiceServer(s grpc.ServiceRegistrar, srv SkillPresetServiceServer) { - s.RegisterService(&SkillPresetService_ServiceDesc, srv) -} - -func _SkillPresetService_CreateSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).CreateSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_CreateSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).CreateSkillPreset(ctx, req.(*CreateSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SkillPresetService_GetSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).GetSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_GetSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).GetSkillPreset(ctx, req.(*GetSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SkillPresetService_SearchSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).SearchSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_SearchSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).SearchSkillPreset(ctx, req.(*SearchSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SkillPresetService_UpdateSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).UpdateSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_UpdateSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).UpdateSkillPreset(ctx, req.(*UpdateSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SkillPresetService_PatchSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PatchSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).PatchSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_PatchSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).PatchSkillPreset(ctx, req.(*PatchSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SkillPresetService_DeleteSkillPreset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteSkillPresetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SkillPresetServiceServer).DeleteSkillPreset(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SkillPresetService_DeleteSkillPreset_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SkillPresetServiceServer).DeleteSkillPreset(ctx, req.(*DeleteSkillPresetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// SkillPresetService_ServiceDesc is the grpc.ServiceDesc for SkillPresetService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SkillPresetService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "engine.SkillPresetService", - HandlerType: (*SkillPresetServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateSkillPreset", - Handler: _SkillPresetService_CreateSkillPreset_Handler, - }, - { - MethodName: "GetSkillPreset", - Handler: _SkillPresetService_GetSkillPreset_Handler, - }, - { - MethodName: "SearchSkillPreset", - Handler: _SkillPresetService_SearchSkillPreset_Handler, - }, - { - MethodName: "UpdateSkillPreset", - Handler: _SkillPresetService_UpdateSkillPreset_Handler, - }, - { - MethodName: "PatchSkillPreset", - Handler: _SkillPresetService_PatchSkillPreset_Handler, - }, - { - MethodName: "DeleteSkillPreset", - Handler: _SkillPresetService_DeleteSkillPreset_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "skill_preset.proto", -} diff --git a/grpc_api/api.go b/grpc_api/api.go index c0704c76..5d3f6ee3 100644 --- a/grpc_api/api.go +++ b/grpc_api/api.go @@ -51,7 +51,7 @@ type API struct { schemaVariable *schemaVariable push *push feedback *feedback - skillPreset *skillPreset + skillPreset *onlineSkills } func Init(a *app.App, server *grpc.Server) { @@ -99,7 +99,7 @@ func Init(a *app.App, server *grpc.Server) { api.webHook = NewWebHookApi(api) api.push = NewPushApi(api, a.Config().MinimumNumberMaskLen, a.Config().PrefixNumberMaskLen, a.Config().SuffixNumberMaskLen) api.feedback = NewFeedbackApi(api) - api.skillPreset = NewSkillPresetApi(api) + api.skillPreset = NewOnlineSkillsApi(api) engine.RegisterCalendarServiceServer(server, api.calendar) engine.RegisterSkillServiceServer(server, api.skill) @@ -142,5 +142,5 @@ func Init(a *app.App, server *grpc.Server) { engine.RegisterSchemaVariablesServiceServer(server, api.schemaVariable) engine.RegisterPushServiceServer(server, api.push) engine.RegisterFeedbackServiceServer(server, api.feedback) - engine.RegisterSkillPresetServiceServer(server, api.skillPreset) + engine.RegisterOnlineSkillsServiceServer(server, api.skillPreset) } diff --git a/grpc_api/online_skills.go b/grpc_api/online_skills.go new file mode 100644 index 00000000..a3e29eee --- /dev/null +++ b/grpc_api/online_skills.go @@ -0,0 +1,164 @@ +package grpc_api + +import ( + "context" + + "github.com/webitel/engine/gen/engine" + "github.com/webitel/engine/model" + "google.golang.org/protobuf/types/known/emptypb" +) + +type onlineSkills struct { + *API + + engine.UnimplementedOnlineSkillsServiceServer +} + +func NewOnlineSkillsApi(api *API) *onlineSkills { return &onlineSkills{API: api} } + +func (api *onlineSkills) CreateOnlineSkills(ctx context.Context, in *engine.CreateOnlineSkillsRequest) (*engine.CreateOnlineSkillsResponse, error) { + onlineSkills := model.OnlineSkills{ + Name: in.GetName(), + Skills: make([]*model.Lookup, 0, len(in.GetSkills())), + } + + onlineSkills.TryUseDescription(in.GetDescription()) + + for _, skill := range in.GetSkills() { + onlineSkills.Skills = append(onlineSkills.Skills, &model.Lookup{Id: int(skill.GetId())}) + } + + response, err := api.ctrl.CreateOnlineSkills(ctx, &onlineSkills) + if err != nil { + return nil, err + } + + return &engine.CreateOnlineSkillsResponse{Item: mapOnlineSkillsToProto(response)}, nil +} + +func (api *onlineSkills) DeleteOnlineSkills(ctx context.Context, in *engine.DeleteOnlineSkillsRequest) (*emptypb.Empty, error) { + deleteCmd := &model.DeleteSkillPresetCmd{ + ID: in.GetId(), + } + + err := api.ctrl.DeleteOnlineSkills(ctx, deleteCmd) + if err != nil { + return nil, err + } + + return &emptypb.Empty{}, nil +} + +func (api *onlineSkills) GetOnlineSkills(ctx context.Context, in *engine.GetOnlineSkillsRequest) (*engine.GetOnlineSkillsResponse, error) { + query := &model.GetSkillPresetQuery{ + ID: in.GetId(), + } + + response, err := api.ctrl.GetOnlineSkills(ctx, query) + if err != nil { + return nil, err + } + + return &engine.GetOnlineSkillsResponse{Item: mapOnlineSkillsToProto(response)}, nil +} + +func (api *onlineSkills) PatchOnlineSkills(ctx context.Context, in *engine.PatchOnlineSkillsRequest) (*engine.PatchOnlineSkillsResponse, error) { + patch := &model.PatchOnlineSkillsCmd{ + Fields: in.GetFields(), + ID: in.GetId(), + } + + for _, field := range in.GetFields() { + switch field { + case "name": + patch.Name = in.Name + case "description": + patch.Description = in.Description + case "skills": + patch.Skills = make([]*model.Lookup, 0, len(in.GetSkills())) + for _, skill := range in.GetSkills() { + patch.Skills = append(patch.Skills, &model.Lookup{Id: int(skill.GetId())}) + } + } + } + + result, err := api.ctrl.PatchOnlineSkills(ctx, patch) + if err != nil { + return nil, err + } + + return &engine.PatchOnlineSkillsResponse{Item: mapOnlineSkillsToProto(result)}, nil +} + +func (api *onlineSkills) SearchOnlineSkills(ctx context.Context, in *engine.SearchOnlineSkillsRequest) (*engine.SearchOnlineSkillsResponse, error) { + query := &model.SearchOnlineSkillsQuery{ + ListRequest: model.ListRequest{ + Q: in.GetQ(), + Page: int(in.GetPage()), + PerPage: int(in.GetSize()), + Fields: in.GetFields(), + Sort: in.GetSort(), + }, + IDs: in.GetIds(), + SkillIDs: in.GetSkillIds(), + SkipDefault: in.GetSkipDefault(), + } + + response, err := api.ctrl.SearchOnlineSkills(ctx, query) + if err != nil { + return nil, err + } + query.RemoveLastElemIfNeed(&response) + + return &engine.SearchOnlineSkillsResponse{ + Items: mapOnlineSkillsSliceToProto(response), + Next: !query.EndOfList(), + }, nil +} + +func (api *onlineSkills) UpdateOnlineSkills(ctx context.Context, in *engine.UpdateOnlineSkillsRequest) (*engine.UpdateOnlineSkillsResponse, error) { + updateCmd := model.OnlineSkills{ + ID: in.GetId(), + Name: in.GetName(), + Description: model.NewString(in.GetDescription()), + Skills: make([]*model.Lookup, 0, len(in.GetSkills())), + } + + for _, skill := range in.GetSkills() { + updateCmd.Skills = append(updateCmd.Skills, &model.Lookup{Id: int(skill.GetId())}) + } + + response, err := api.ctrl.UpdateOnlineSkills(ctx, &updateCmd) + if err != nil { + return nil, err + } + + return &engine.UpdateOnlineSkillsResponse{Item: mapOnlineSkillsToProto(response)}, nil +} + +func mapOnlineSkillsSliceToProto(in []*model.OnlineSkills) []*engine.OnlineSkills { + response := make([]*engine.OnlineSkills, 0, len(in)) + + for _, skill := range in { + response = append(response, mapOnlineSkillsToProto(skill)) + } + + return response +} + +func mapOnlineSkillsToProto(in *model.OnlineSkills) *engine.OnlineSkills { + if in == nil { + return nil //nolint:nilnil + } + + return &engine.OnlineSkills{ + Id: in.ID, + CreatedBy: GetProtoLookup(in.CreatedBy), + CreatedAt: in.CreatedAtUnix(), + UpdatedBy: GetProtoLookup(in.UpdatedBy), + UpdatedAt: in.UpdatedAtUnix(), + Name: in.Name, + Description: in.GetDescription(), + Skills: GetProtoLookups(in.Skills), + } +} diff --git a/grpc_api/skill_preset_store.go b/grpc_api/skill_preset_store.go deleted file mode 100644 index 30456721..00000000 --- a/grpc_api/skill_preset_store.go +++ /dev/null @@ -1,166 +0,0 @@ -package grpc_api - -import ( - "context" - "strings" - - "github.com/webitel/engine/gen/engine" - "github.com/webitel/engine/model" -) - -type skillPreset struct { - *API - - engine.UnimplementedSkillPresetServiceServer -} - -func NewSkillPresetApi(api *API) *skillPreset { return &skillPreset{API: api} } - -func (api *skillPreset) CreateSkillPreset(ctx context.Context, in *engine.CreateSkillPresetRequest) (*engine.CreateSkillPresetResponse, error) { - skillPreset := model.SkillPreset{ - Name: in.GetName(), - Skills: make([]*model.Lookup, 0, len(in.GetSkills())), - } - - if strings.TrimSpace(in.GetDescription()) != "" { - skillPreset.Description = model.NewString(in.GetDescription()) - } - - for _, skill := range in.GetSkills() { - skillPreset.Skills = append(skillPreset.Skills, &model.Lookup{Id: int(skill.GetId())}) - } - - response, err := api.ctrl.CreateSkillPreset(ctx, &skillPreset) - if err != nil { - return nil, err - } - - return &engine.CreateSkillPresetResponse{Item: mapSkillPresetToProto(response)}, nil -} - -func (api *skillPreset) DeleteSkillPreset(ctx context.Context, in *engine.DeleteSkillPresetRequest) (*engine.DeleteSkillPresetResponse, error) { - deleteCmd := &model.DeleteSkillPresetCmd{ - IDs: in.GetIds(), - } - - result, err := api.ctrl.DeleteSkillPreset(ctx, deleteCmd) - if err != nil { - return nil, err - } - - return &engine.DeleteSkillPresetResponse{Items: mapSkillPresetsToProto(result)}, nil -} - -func (api *skillPreset) GetSkillPreset(ctx context.Context, in *engine.GetSkillPresetRequest) (*engine.GetSkillPresetResponse, error) { - query := &model.GetSkillPresetQuery{ - ID: in.GetId(), - } - - response, err := api.ctrl.GetSkillPreset(ctx, query) - if err != nil { - return nil, err - } - - return &engine.GetSkillPresetResponse{Item: mapSkillPresetToProto(response)}, nil -} - -func (api *skillPreset) PatchSkillPreset(ctx context.Context, in *engine.PatchSkillPresetRequest) (*engine.PatchSkillPresetResponse, error) { - patch := &model.PatchSkillPresetCmd{ - Fields: in.GetFields(), - ID: in.GetId(), - } - - for _, field := range in.GetFields() { - switch field { - case "name": - patch.Name = in.Name - case "description": - patch.Description = in.Description - case "skills": - patch.Skills = make([]*model.Lookup, 0, len(in.GetSkills())) - for _, skill := range in.GetSkills() { - patch.Skills = append(patch.Skills, &model.Lookup{Id: int(skill.GetId())}) - } - } - } - - result, err := api.ctrl.PatchSkillPreset(ctx, patch) - if err != nil { - return nil, err - } - - return &engine.PatchSkillPresetResponse{Item: mapSkillPresetToProto(result)}, nil -} - -func (api *skillPreset) SearchSkillPreset(ctx context.Context, in *engine.SearchSkillPresetRequest) (*engine.SearchSkillPresetResponse, error) { - query := &model.SearchSkillPresetQuery{ - ListRequest: model.ListRequest{ - Q: in.GetQ(), - Page: int(in.GetPage()), - PerPage: int(in.GetSize()), - Fields: in.GetFields(), - Sort: in.GetSort(), - }, - IDs: in.GetIds(), - SkillIDs: in.GetSkillIds(), - SkipDefault: in.GetSkipDefault(), - } - - response, err := api.ctrl.SearchSkillPreset(ctx, query) - if err != nil { - return nil, err - } - query.RemoveLastElemIfNeed(&response) - - return &engine.SearchSkillPresetResponse{ - Items: mapSkillPresetsToProto(response), - Next: !query.EndOfList(), - }, nil -} - -func (api *skillPreset) UpdateSkillPreset(ctx context.Context, in *engine.UpdateSkillPresetRequest) (*engine.UpdateSkillPresetResponse, error) { - updateCmd := model.SkillPreset{ - ID: in.GetId(), - Name: in.GetName(), - Description: model.NewString(in.GetDescription()), - Skills: make([]*model.Lookup, 0, len(in.GetSkills())), - } - - for _, skill := range in.GetSkills() { - updateCmd.Skills = append(updateCmd.Skills, &model.Lookup{Id: int(skill.GetId())}) - } - - response, err := api.ctrl.UpdateSkillPreset(ctx, &updateCmd) - if err != nil { - return nil, err - } - - return &engine.UpdateSkillPresetResponse{Item: mapSkillPresetToProto(response)}, nil -} - -func mapSkillPresetsToProto(in []*model.SkillPreset) []*engine.SkillPreset { - response := make([]*engine.SkillPreset, 0, len(in)) - - for _, skill := range in { - response = append(response, mapSkillPresetToProto(skill)) - } - - return response -} - -func mapSkillPresetToProto(in *model.SkillPreset) *engine.SkillPreset { - if in == nil { - return nil //nolint:nilnil - } - - return &engine.SkillPreset{ - Id: in.ID, - CreatedBy: GetProtoLookup(in.CreatedBy), - CreatedAt: in.CreatedAtUnix(), - UpdatedBy: GetProtoLookup(in.UpdatedBy), - UpdatedAt: in.UpdatedAtUnix(), - Name: in.Name, - Description: in.GetDescription(), - Skills: GetProtoLookups(in.Skills), - } -} diff --git a/model/online_skills.go b/model/online_skills.go new file mode 100644 index 00000000..b989a597 --- /dev/null +++ b/model/online_skills.go @@ -0,0 +1,206 @@ +package model + +import ( + "cmp" + "strings" + "time" +) + +const StandartOnlineSkill string = "Standart Online" + +type OnlineSkills struct { + ID int64 `json:"id" db:"id"` + DomainID int64 `json:"domain_id" db:"domain_id"` + CreatedBy *Lookup `json:"created_by" db:"created_by"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + UpdatedBy *Lookup `json:"updated_by" db:"updated_by"` + UpdatedAt time.Time `json:"updated_at" db:"updated_at"` + Name string `json:"name" db:"name"` + Description *string `json:"description" db:"description"` + + Skills []*Lookup `json:"skills" db:"skills"` +} + +func (s *OnlineSkills) InitializeCreateMetadata(domainID, creatorID int64, creatorName ...string) *OnlineSkills { + s.ActualizeCreatorInfo(domainID, creatorID, creatorName...). + ActualizeUpdatorInfo(domainID, creatorID, creatorName...) + + return s +} + +func (s *OnlineSkills) ActualizeCreatorInfo(domainID, creatorID int64, creatorName ...string) *OnlineSkills { + s.DomainID = domainID + + creator := Lookup{Id: int(creatorID)} + + if len(creatorName) != 0 && strings.TrimSpace(creatorName[0]) != "" { + creator.Name = creatorName[0] + } + + s.CreatedBy = &creator + + return s +} + +func (s *OnlineSkills) ActualizeUpdatorInfo(domainID, creatorID int64, updatorName ...string) *OnlineSkills { + s.DomainID = domainID + + updator := Lookup{Id: int(creatorID)} + + if len(updatorName) != 0 && strings.TrimSpace(updatorName[0]) != "" { + updator.Name = updatorName[0] + } + + s.UpdatedBy = &updator + + return s +} + +func (s *OnlineSkills) GetDescription() string { + return *(cmp.Or(s.Description, new(string))) +} + +func (s *OnlineSkills) TryUseDescription(desc string) *OnlineSkills { + if strings.TrimSpace(desc) != "" { + s.Description = &desc + } + + return s +} + +func (s *OnlineSkills) UpdatedAtUnix() int64 { + if s == nil { + return 0 + } + + return max(s.UpdatedAt.UTC().UnixMilli(), 0) +} + +func (s *OnlineSkills) CreatedAtUnix() int64 { + if s == nil { + return 0 + } + + return max(s.CreatedAt.UTC().UnixMilli(), 0) +} + +func (s *OnlineSkills) ReduceSkillsIDs() []int64 { + skillIDs := make([]int64, 0, len(s.Skills)) + + for _, s := range s.Skills { + skillIDs = append(skillIDs, int64(s.Id)) + } + + return skillIDs +} + +func (s OnlineSkills) AllowFields() []string { + return []string{"id", "name", "description", "created_by", "created_at", "updated_by", "updated_at", "skills"} +} + +func (s OnlineSkills) DefaultFields() []string { + return []string{"id", "name"} +} +func (s OnlineSkills) EntityName() string { return "cc_online_skills_list" } +func (s OnlineSkills) DefaultOrder() string { return "is_system desc, name asc" } + +func (s *OnlineSkills) Validate() AppError { + if s == nil { + return NewBadRequestError("model.online_skills.validate.nil_pointer_receiver", "Received empty online skills call") + } + + trimmedName := strings.TrimSpace(s.Name) + + if trimmedName == "" { + return NewBadRequestError("model.online_skills.validate.empty_name", "Name cannot be empty or contain only whitespaces") + } + + if strings.EqualFold(trimmedName, StandartOnlineSkill) { + return NewBadRequestError("model.online_skills.validate.reserved_name", `Name "Standart Online" is reserved`) + } + + return nil +} + +func (s *OnlineSkills) PreSave() { + s.Name = strings.TrimSpace(s.Name) +} + +type DeleteSkillPresetCmd struct { + ID int64 + DomainID int64 +} + +type GetSkillPresetQuery struct { + ID int64 + DomainID int64 +} + +func (q *GetSkillPresetQuery) Validate() AppError { + if q == nil { + return NewBadRequestError("model.online_skills.validate.empty_get_online_skills_query", "Received empty get online skills parameters") + } + + if q.ID <= 0 { + return NewBadRequestError("model.online_skills.validate.id_required", "Online skills ID is required during get request") + } + + if q.DomainID <= 0 { + return NewBadRequestError("model.online_skills.validate.domain_id_required", "Online skills Domain ID is required during get request") + } + return nil +} + +type SearchOnlineSkillsQuery struct { + ListRequest + + IDs []int64 + SkillIDs []int64 + SkipDefault bool +} + +type PatchOnlineSkillsCmd struct { + Fields []string + DomainID int64 + ID int64 + Name *string + Description *string + Skills []*Lookup + UpdatedBy Lookup +} + +func (p *PatchOnlineSkillsCmd) ReduceSkillsIDs() []int64 { + ids := make([]int64, 0, len(p.Skills)) + + for _, s := range p.Skills { + if s != nil { + ids = append(ids, int64(s.Id)) + } + } + + return ids +} + +func (p *PatchOnlineSkillsCmd) Validate() AppError { + if p == nil { + return NewBadRequestError("model.online_skills.validate.nil_pointer_patch", "Received empty patch online skills request") + } + + if name := p.Name; name != nil { + trimmedName := strings.TrimSpace(*name) + + if trimmedName == "" { + return NewBadRequestError("model.online_skills.validate.patch_empty_name", "Name field cannot be empty string") + } + + if strings.EqualFold(trimmedName, StandartOnlineSkill) { + return NewBadRequestError("model.online_skills.validate.patch_reserved_name", `Name "Standart Online" is reserved`) + } + } + + return nil +} + +func (p *PatchOnlineSkillsCmd) PrePatch() { + *p.Name = strings.TrimSpace(*p.Name) +} diff --git a/model/skill_preset.go b/model/skill_preset.go deleted file mode 100644 index 2a56b8aa..00000000 --- a/model/skill_preset.go +++ /dev/null @@ -1,175 +0,0 @@ -package model - -import ( - "cmp" - "strings" - "time" -) - -const StandartSkillPreset string = "Standart Online" - -var StandartSkillPresetValue = &SkillPreset{ - Name: StandartSkillPreset, -} - -type SkillPreset struct { - ID int64 `json:"id" db:"id"` - DomainID int64 `json:"domain_id" db:"domain_id"` - CreatedBy *Lookup `json:"created_by" db:"created_by"` - CreatedAt time.Time `json:"created_at" db:"created_at"` - UpdatedBy *Lookup `json:"updated_by" db:"updated_by"` - UpdatedAt time.Time `json:"updated_at" db:"updated_at"` - Name string `json:"name" db:"name"` - Description *string `json:"description" db:"description"` - - Skills []*Lookup `json:"skills" db:"skills"` -} - -func (s *SkillPreset) GetDescription() string { - return *(cmp.Or(s.Description, new(string))) -} - -func (s *SkillPreset) UpdatedAtUnix() int64 { - if s == nil { - return 0 - } - - return max(s.UpdatedAt.UTC().UnixMilli(), 0) -} - -func (s *SkillPreset) CreatedAtUnix() int64 { - if s == nil { - return 0 - } - - return max(s.CreatedAt.UTC().UnixMilli(), 0) -} - -func (s *SkillPreset) ReduceSkillsIDs() []int64 { - skillIDs := make([]int64, 0, len(s.Skills)) - - for _, s := range s.Skills { - skillIDs = append(skillIDs, int64(s.Id)) - } - - return skillIDs -} - -func (s SkillPreset) AllowFields() []string { - return []string{"id", "name", "description", "created_by", "created_at", "updated_by", "updated_at", "skills"} -} - -func (s SkillPreset) DefaultFields() []string { - return []string{"id", "name"} -} -func (s SkillPreset) EntityName() string { return "cc_skill_preset_view" } -func (s SkillPreset) DefaultOrder() string { return "+name" } - -func (s *SkillPreset) Validate() AppError { - if s == nil { - return NewBadRequestError("model.skill_preset.validate.nil_pointer_receiver", "Received empty skill preset call") - } - - trimmedName := strings.TrimSpace(s.Name) - - if trimmedName == "" { - return NewBadRequestError("model.skill_preset.validate.empty_name", "Name cannot be empty or contain only whitespaces") - } - - if strings.EqualFold(trimmedName, StandartSkillPreset) { - return NewBadRequestError("model.skill_preset.validate.reserved_name", `Name "Standart Online" is reserved`) - } - - return nil -} - -func (s *SkillPreset) PreSave() { - s.Name = strings.TrimSpace(s.Name) -} - -type DeleteSkillPresetCmd struct { - IDs []int64 - DomainID int64 -} - -type GetSkillPresetQuery struct { - ID int64 - DomainID int64 -} - -func (q *GetSkillPresetQuery) Validate() AppError { - if q == nil { - return NewBadRequestError("model.skill_preset.validate.empty_get_skill_preset_query", "Received empty get skill preset parameters") - } - - if q.ID <= 0 { - return NewBadRequestError("model.skill_preset.validate.id_required", "Skill preset ID is required during get request") - } - - if q.DomainID <= 0 { - return NewBadRequestError("model.skill_preset.validate.domain_id_required", "Skill preset Domain ID is required during get request") - } - return nil -} - -type SearchSkillPresetQuery struct { - ListRequest - - IDs []int64 - SkillIDs []int64 - SkipDefault bool -} - -func (s *SearchSkillPresetQuery) OrderBy() string { - if s.Sort == "" { - return "is_system desc, name asc" - } - - return s.Sort -} - -type PatchSkillPresetCmd struct { - Fields []string - DomainID int64 - ID int64 - Name *string - Description *string - Skills []*Lookup - UpdatedBy Lookup -} - -func (p *PatchSkillPresetCmd) ReduceSkillsIDs() []int64 { - ids := make([]int64, 0, len(p.Skills)) - - for _, s := range p.Skills { - if s != nil { - ids = append(ids, int64(s.Id)) - } - } - - return ids -} - -func (p *PatchSkillPresetCmd) Validate() AppError { - if p == nil { - return NewBadRequestError("model.skill_preset.validate.nil_pointer_patch", "Received empty patch skill preset request") - } - - if name := p.Name; name != nil { - trimmedName := strings.TrimSpace(*name) - - if trimmedName == "" { - return NewBadRequestError("model.skill_preset.validate.patch_empty_name", "Name field cannot be empty string") - } - - if strings.EqualFold(trimmedName, StandartSkillPreset) { - return NewBadRequestError("model.skill_preset.validate.patch_reserved_name", `Name "Standart Online" is reserved`) - } - } - - return nil -} - -func (p *PatchSkillPresetCmd) PrePatch() { - *p.Name = strings.TrimSpace(*p.Name) -} diff --git a/store/layered_store.go b/store/layered_store.go index 7426347a..a6eccfbb 100644 --- a/store/layered_store.go +++ b/store/layered_store.go @@ -121,7 +121,7 @@ func (s *LayeredStore) CommunicationType() CommunicationTypeStore { return s.DatabaseLayer.CommunicationType() } -func (s *LayeredStore) SkillPreset() SkillPresetStore { return s.DatabaseLayer.SkillPreset() } +func (s *LayeredStore) OnlineSkills() OnlineSkillsStore { return s.DatabaseLayer.OnlineSkills() } func (s *LayeredStore) Member() MemberStore { return s.DatabaseLayer.Member() diff --git a/store/sqlstore/skill_preset_store.go b/store/sqlstore/online_skills.go similarity index 55% rename from store/sqlstore/skill_preset_store.go rename to store/sqlstore/online_skills.go index b523ddf1..0c42324a 100644 --- a/store/sqlstore/skill_preset_store.go +++ b/store/sqlstore/online_skills.go @@ -7,18 +7,16 @@ import ( "github.com/webitel/engine/model" ) -type SqlSkillPresetStore struct { - SqlStore -} +type SqlOnlineSkillsStore struct{ SqlStore } -func NewSqlSkillPresetStore(sqlStore SqlStore) *SqlSkillPresetStore { - return &SqlSkillPresetStore{SqlStore: sqlStore} +func NewSqlOnlineSkillsStore(sqlStore SqlStore) *SqlOnlineSkillsStore { + return &SqlOnlineSkillsStore{SqlStore: sqlStore} } -func (s *SqlSkillPresetStore) Create(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) { +func (s *SqlOnlineSkillsStore) Create(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { query := ` with preset_ins as ( - insert into "call_center"."skill_preset" ( + insert into "call_center"."cc_online_skills" ( "domain_id", "created_by", "created_at", "updated_by", "updated_at", "name", "description" ) values ( @@ -27,8 +25,8 @@ func (s *SqlSkillPresetStore) Create(ctx context.Context, preset *model.SkillPre returning "id","domain_id", "name", "created_by", "created_at", "updated_by", "updated_at", "description" ), skills_in_preset_ins as ( - insert into "call_center"."skills_in_skill_preset" ( - "domain_id", "skill_preset_id", "skill_id" + insert into "call_center"."cc_skills_in_online_skills" ( + "domain_id", "online_skill_id", "skill_id" ) select :DomainID, @@ -36,14 +34,14 @@ func (s *SqlSkillPresetStore) Create(ctx context.Context, preset *model.SkillPre s.id from unnest(:Skills::int8[]) s(id) cross join preset_ins p - returning "skill_preset_id", "skill_id" + returning "online_skill_id", "skill_id" ) select p.id as id, p.domain_id as domain_id, - call_center.cc_get_lookup(uc.id, uc.name) as created_by, + call_center.cc_get_lookup(uc.id, coalesce(uc.name, uc.username)) as created_by, p.created_at as created_at, - call_center.cc_get_lookup(ua.id, ua.name) as updated_by, + call_center.cc_get_lookup(ua.id, coalesce(ua.name, ua.username)) as updated_by, p.updated_at as updated_at, p.name as "name", p.description as "description", @@ -69,24 +67,24 @@ func (s *SqlSkillPresetStore) Create(ctx context.Context, preset *model.SkillPre "Skills": pq.Int64Array(preset.ReduceSkillsIDs()), } - var result *model.SkillPreset + var result *model.OnlineSkills if err := s.GetMaster().WithContext(ctx).SelectOne(&result, query, args); err != nil { if e, ok := err.(*pq.Error); ok { if e.Code == DuplicationViolationErrorCode { - return nil, model.NewBadRequestError("sqlstore.skill_preset_store.create_already_exists", " Skill preset with this name already exists.") + return nil, model.NewBadRequestError("sqlstore.online_skills_store.create_already_exists", "Online skills with this name already exists.") } } - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.create", err.Error(), extractCodeFromErr(err)) + return nil, model.NewCustomCodeError("sqlstore.online_skills_store.create", err.Error(), extractCodeFromErr(err)) } return result, nil } -func (s *SqlSkillPresetStore) Update(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) { +func (s *SqlOnlineSkillsStore) Update(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) { query := ` with preset_upd as ( - update "call_center"."skill_preset" + update "call_center"."cc_online_skills" set "updated_by" = :UpdatedBy, "updated_at" = now(), "name" = :Name, @@ -95,13 +93,13 @@ func (s *SqlSkillPresetStore) Update(ctx context.Context, preset *model.SkillPre returning "id", "domain_id", "created_by", "created_at", "updated_by", "updated_at", "name", "description" ), binded_skills_del as ( - delete from "call_center"."skills_in_skill_preset" - where "skill_preset_id" = :ID + delete from "call_center"."cc_skills_in_online_skills" + where "online_skill_id" = :ID and "skill_id" <> all(:Skills::int8[]) ), new_skills_ins as ( - insert into "call_center"."skills_in_skill_preset" ( - "domain_id", "skill_preset_id", "skill_id" + insert into "call_center"."cc_skills_in_online_skills" ( + "domain_id", "online_skill_id", "skill_id" ) select p.domain_id, @@ -109,7 +107,7 @@ func (s *SqlSkillPresetStore) Update(ctx context.Context, preset *model.SkillPre s.id from unnest(:Skills::int8[]) as s(id) cross join preset_upd p - on conflict ("skill_preset_id", "skill_id") do nothing + on conflict ("online_skill_id", "skill_id") do nothing returning "skill_id" ), actual_skills as ( @@ -117,16 +115,16 @@ func (s *SqlSkillPresetStore) Update(ctx context.Context, preset *model.SkillPre from new_skills_ins union select skill_id - from "call_center"."skills_in_skill_preset" - where skill_preset_id = :ID + from "call_center"."cc_skills_in_online_skills" + where online_skill_id = :ID and skill_id = any(:Skills::int8[]) ) select p.id as id, p.domain_id as domain_id, - call_center.cc_get_lookup(uc.id, uc.name) as created_by, + call_center.cc_get_lookup(uc.id, coalesce(uc.name, uc.username)) as created_by, p.created_at as created_at, - call_center.cc_get_lookup(ua.id, ua.name) as updated_by, + call_center.cc_get_lookup(ua.id, coalesce(ua.name, ua.username)) as updated_by, p.updated_at as updated_at, p.name as "name", p.description as "description", @@ -151,17 +149,17 @@ func (s *SqlSkillPresetStore) Update(ctx context.Context, preset *model.SkillPre "Skills": pq.Int64Array(preset.ReduceSkillsIDs()), } - var result *model.SkillPreset + var result *model.OnlineSkills if err := s.GetMaster().WithContext(ctx).SelectOne(&result, query, args); err != nil { - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.update", err.Error(), extractCodeFromErr(err)) + return nil, model.NewCustomCodeError("sqlstore.online_skills_store.update", err.Error(), extractCodeFromErr(err)) } return result, nil } -func (s *SqlSkillPresetStore) Patch(ctx context.Context, patchCmd *model.PatchSkillPresetCmd) (*model.SkillPreset, model.AppError) { +func (s *SqlOnlineSkillsStore) Patch(ctx context.Context, patchCmd *model.PatchOnlineSkillsCmd) (*model.OnlineSkills, model.AppError) { query := ` - select * from call_center.cc_patch_skill_preset( + select * from call_center.cc_patch_online_skills( :ID, :DomainID, :UpdatedBy, @@ -170,7 +168,7 @@ func (s *SqlSkillPresetStore) Patch(ctx context.Context, patchCmd *model.PatchSk :PatchDescription, :Skills::int8[], :PatchSkills - ) + ); ` args := map[string]any{ @@ -197,63 +195,30 @@ func (s *SqlSkillPresetStore) Patch(ctx context.Context, patchCmd *model.PatchSk } } - var result model.SkillPreset + var result model.OnlineSkills if err := s.GetMaster().WithContext(ctx).SelectOne(&result, query, args); err != nil { - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.patch", err.Error(), extractCodeFromErr(err)) + return nil, model.NewCustomCodeError("sqlstore.online_skills_store.patch", err.Error(), extractCodeFromErr(err)) } return &result, nil } -func (s *SqlSkillPresetStore) Delete(ctx context.Context, deleteCmd *model.DeleteSkillPresetCmd) ([]*model.SkillPreset, model.AppError) { - query := ` - with preset_del as ( - delete from "call_center"."skill_preset" - where "domain_id" = :DomainID and "id" = any(:IDs) - returning "id", "domain_id", "created_by", "created_at", "updated_by", "updated_at", "name", "description" - ), - skills_del as ( - delete from "call_center"."skills_in_skill_preset" - where "skill_preset_id" in (select id from preset_del) - returning "skill_preset_id", "skill_id" - ) - select - p.id as id, - p.domain_id as domain_id, - call_center.cc_get_lookup(uc.id, uc.name) as created_by, - p.created_at as created_at, - call_center.cc_get_lookup(ua.id, ua.name) as updated_by, - p.updated_at as updated_at, - p.name as "name", - p.description as "description", - s.skills as "skills" - from preset_del p - left join lateral ( - select jsonb_agg( - call_center.cc_get_lookup(s.id, s.name) - ) as skills - from skills_del sd - inner join "call_center"."cc_skill" s on s.id = sd.skill_id - where sd.skill_preset_id = p.id - ) s on true - left join directory.wbt_user uc on uc.id = p.created_by - left join directory.wbt_user ua on ua.id = p.updated_by - ` +func (s *SqlOnlineSkillsStore) Delete(ctx context.Context, deleteCmd *model.DeleteSkillPresetCmd) model.AppError { + query := `delete from "call_center"."cc_online_skills" where "id" = :ID and "domain_id" = :DomainID;` args := map[string]any{ "DomainID": deleteCmd.DomainID, - "IDs": pq.Int64Array(deleteCmd.IDs), + "ID": deleteCmd.ID, } - var result []*model.SkillPreset - if _, err := s.GetMaster().WithContext(ctx).Select(&result, query, args); err != nil { - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.delete", err.Error(), extractCodeFromErr(err)) + if _, err := s.GetMaster().WithContext(ctx).Exec(query, args); err != nil { + return model.NewCustomCodeError("sqlstore.online_skills_store.delete", err.Error(), extractCodeFromErr(err)) } - return result, nil + return nil } -func (s *SqlSkillPresetStore) Search(ctx context.Context, search *model.SearchSkillPresetQuery) ([]*model.SkillPreset, model.AppError) { +func (s *SqlOnlineSkillsStore) Search(ctx context.Context, search *model.SearchOnlineSkillsQuery) ([]*model.OnlineSkills, model.AppError) { query := ` "domain_id" = :DomainID and (:IDs::int[] is null or "id" = any(:IDs::int[])) @@ -261,8 +226,8 @@ func (s *SqlSkillPresetStore) Search(ctx context.Context, search *model.SearchSk cardinality(:SkillIDs::int8[]) = 0 or :SkillIDs::int8[] is null or exists ( select 1 - from "call_center"."skills_in_skill_preset" si - where si.skill_preset_id = id + from "call_center"."cc_skills_in_online_skills" si + where si.online_skill_id = id and si.skill_id = any(:SkillIDs::int8[]) ) ) @@ -277,17 +242,15 @@ func (s *SqlSkillPresetStore) Search(ctx context.Context, search *model.SearchSk "SkipDefault": search.SkipDefault, } - search.Sort = search.OrderBy() - - var result []*model.SkillPreset - if err := s.ListQuery(ctx, &result, search.ListRequest, query, model.SkillPreset{}, args); err != nil { - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.search", err.Error(), extractCodeFromErr(err)) + var result []*model.OnlineSkills + if err := s.ListQuery(ctx, &result, search.ListRequest, query, model.OnlineSkills{}, args); err != nil { + return nil, model.NewCustomCodeError("sqlstore.online_skills_store.search", err.Error(), extractCodeFromErr(err)) } return result, nil } -func (s *SqlSkillPresetStore) Get(ctx context.Context, search *model.GetSkillPresetQuery) (*model.SkillPreset, model.AppError) { +func (s *SqlOnlineSkillsStore) Get(ctx context.Context, search *model.GetSkillPresetQuery) (*model.OnlineSkills, model.AppError) { query := ` select id, @@ -299,7 +262,7 @@ func (s *SqlSkillPresetStore) Get(ctx context.Context, search *model.GetSkillPre name, description, skills - from "call_center"."cc_skill_preset_view" + from "call_center"."cc_online_skills_list" where "domain_id" = :DomainID and "id" = :ID ` @@ -308,9 +271,9 @@ func (s *SqlSkillPresetStore) Get(ctx context.Context, search *model.GetSkillPre "ID": search.ID, } - var result *model.SkillPreset + var result *model.OnlineSkills if err := s.GetReplica().WithContext(ctx).SelectOne(&result, query, args); err != nil { - return nil, model.NewCustomCodeError("sqlstore.skill_preset_store.get", err.Error(), extractCodeFromErr(err)) + return nil, model.NewCustomCodeError("sqlstore.online_skills_store.get", err.Error(), extractCodeFromErr(err)) } return result, nil diff --git a/store/sqlstore/supplier.go b/store/sqlstore/supplier.go index 1a33f095..23b6a423 100644 --- a/store/sqlstore/supplier.go +++ b/store/sqlstore/supplier.go @@ -76,7 +76,7 @@ type SqlSupplierOldStores struct { schemeVariable store.SchemeVariablesStore socketSession store.SocketSessionStore feedback store.FeedbackStore - skillPreset store.SkillPresetStore + onlineSkills store.OnlineSkillsStore } type SqlSupplier struct { @@ -146,7 +146,7 @@ func NewSqlSupplier(settings model.SqlSettings) *SqlSupplier { supplier.oldStores.chat = NewSqlChatStore(supplier) supplier.oldStores.chatPlan = NewSqlChatPlanStore(supplier) supplier.oldStores.feedback = NewSqlFeedbackStore(supplier) - supplier.oldStores.skillPreset = NewSqlSkillPresetStore(supplier) + supplier.oldStores.onlineSkills = NewSqlOnlineSkillsStore(supplier) err := supplier.GetMaster().CreateTablesIfNotExists() if err != nil { @@ -455,7 +455,7 @@ func (ss *SqlSupplier) Feedback() store.FeedbackStore { return ss.oldStores.feedback } -func (ss *SqlSupplier) SkillPreset() store.SkillPresetStore { return ss.oldStores.skillPreset } +func (ss *SqlSupplier) OnlineSkills() store.OnlineSkillsStore { return ss.oldStores.onlineSkills } type typeConverter struct{} diff --git a/store/store.go b/store/store.go index 34de8fe1..05b724ee 100644 --- a/store/store.go +++ b/store/store.go @@ -80,7 +80,7 @@ type Store interface { SchemeVariable() SchemeVariablesStore SocketSession() SocketSessionStore Feedback() FeedbackStore - SkillPreset() SkillPresetStore + OnlineSkills() OnlineSkillsStore } // todo deprecated @@ -552,13 +552,13 @@ type FeedbackStore interface { Create(ctx context.Context, key model.FeedbackKey, rating float32, description string) (model.Feedback, model.AppError) } -type SkillPresetStore interface { - Create(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) - Update(ctx context.Context, preset *model.SkillPreset) (*model.SkillPreset, model.AppError) - Patch(ctx context.Context, patchCmd *model.PatchSkillPresetCmd) (*model.SkillPreset, model.AppError) - Delete(ctx context.Context, deleteCmd *model.DeleteSkillPresetCmd) ([]*model.SkillPreset, model.AppError) - Search(ctx context.Context, search *model.SearchSkillPresetQuery) ([]*model.SkillPreset, model.AppError) - Get(ctx context.Context, search *model.GetSkillPresetQuery) (*model.SkillPreset, model.AppError) +type OnlineSkillsStore interface { + Create(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) + Update(ctx context.Context, preset *model.OnlineSkills) (*model.OnlineSkills, model.AppError) + Patch(ctx context.Context, patchCmd *model.PatchOnlineSkillsCmd) (*model.OnlineSkills, model.AppError) + Delete(ctx context.Context, deleteCmd *model.DeleteSkillPresetCmd) model.AppError + Search(ctx context.Context, search *model.SearchOnlineSkillsQuery) ([]*model.OnlineSkills, model.AppError) + Get(ctx context.Context, search *model.GetSkillPresetQuery) (*model.OnlineSkills, model.AppError) } // ApplyFiltersToBuilder determines type of {filters} parameter and applies {filters} to the {base} according to the determined type. From fc8eef66740f03f72ec4f2dbccc432d04ad0f38f Mon Sep 17 00:00:00 2001 From: suifri Date: Tue, 4 Aug 2026 16:18:12 +0300 Subject: [PATCH 4/8] [WTEL-10065]fix: nil pointer dereference on online_skill prepatch --- model/online_skills.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/model/online_skills.go b/model/online_skills.go index b989a597..b712a8ad 100644 --- a/model/online_skills.go +++ b/model/online_skills.go @@ -202,5 +202,7 @@ func (p *PatchOnlineSkillsCmd) Validate() AppError { } func (p *PatchOnlineSkillsCmd) PrePatch() { - *p.Name = strings.TrimSpace(*p.Name) + if name := p.Name; name != nil { + *p.Name = strings.TrimSpace(*name) + } } From 575cb19a6293d16bea22d6cfd75ca50b019c0515 Mon Sep 17 00:00:00 2001 From: "webitel-delivery-bot[bot]" <231223031+webitel-delivery-bot[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 17:03:51 +0000 Subject: [PATCH 5/8] =?UTF-8?q?=F0=9F=94=84=20synced=20file(s)=20with=20we?= =?UTF-8?q?bitel/reusable-configs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release-branch.yml | 45 ++++++++++++++++++---------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index eecfa3c1..12c2b72d 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -29,6 +29,7 @@ jobs: env: CLIENT_VERSION: ${{ github.event.client_payload.version }} INPUT_VERSION: ${{ inputs.version }} + run: | set -euo pipefail version="${CLIENT_VERSION:-$INPUT_VERSION}" @@ -53,38 +54,45 @@ jobs: client-id: ${{ vars.DELIVERY_BOT_CLIENT_ID }} private-key: ${{ secrets.DELIVERY_BOT_APP_PEM }} - - name: Create release branch - uses: peterjgrainger/action-create-branch@v3.0.0 - env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} - with: - branch: ${{ steps.version.outputs.value }} - - - name: Checkout release branch + - name: Checkout uses: actions/checkout@v7 with: - ref: ${{ steps.version.outputs.value }} token: ${{ steps.app-token.outputs.token }} + - name: Create release branch + env: + VERSION: ${{ steps.version.outputs.value }} + + run: | + set -euo pipefail + + # re-runs are expected: continue from an existing release branch instead of rewinding it + if git ls-remote --exit-code --heads origin "$VERSION" >/dev/null 2>&1; then + echo "branch $VERSION already exists; continuing from it" + git fetch --depth=1 origin "+refs/heads/$VERSION:refs/remotes/origin/$VERSION" + git switch -c "$VERSION" "origin/$VERSION" + else + git switch -c "$VERSION" + fi + - name: Pin buf inputs to the release branch env: VERSION: ${{ steps.version.outputs.value }} GIT_USERNAME: ${{ steps.app-token.outputs.user-name }} GIT_EMAIL: ${{ steps.app-token.outputs.user-email }} + run: | set -euo pipefail # pin every buf.gen*.yaml input that tracks webitel/protos to the release branch - changed=0 while IFS= read -r f; do if grep -q 'git_repo: "https://github.com/webitel/protos"' "$f"; then sed -i -E "s#^([[:space:]]*branch:[[:space:]]*\")main(\")#\1${VERSION}\2#" "$f" echo "pinned $f -> $VERSION" - changed=1 fi done < <(find . -type f -name 'buf.gen*.yaml') - if [ "$changed" = "0" ]; then + if git diff --quiet; then echo "no buf.gen*.yaml references webitel/protos; nothing to pin" exit 0 fi @@ -92,7 +100,14 @@ jobs: git config user.name "$GIT_USERNAME" git config user.email "$GIT_EMAIL" git add -A - - # [skip ci]: pin does not affect the build (generated code is committed) - git commit -m "chore: pin buf inputs to $VERSION [skip ci]" + git commit -m "chore: pin buf inputs to $VERSION" + + - name: Push release branch + env: + VERSION: ${{ steps.version.outputs.value }} + + run: | + set -euo pipefail + git push origin "HEAD:refs/heads/$VERSION" + echo "branch $VERSION is at $(git rev-parse HEAD)" From dae42b3c2fbfc55617ffe42ff51504aceb22d303 Mon Sep 17 00:00:00 2001 From: suifri Date: Thu, 30 Jul 2026 13:16:59 +0300 Subject: [PATCH 6/8] [WTEL-5246]feature(cc): agent online status preset - add WS handling for new `status_preset` input parameter - updated set agent login logic --- app/cc/agent.go | 26 + app/cc/client.go | 2 + app/cc_agent.go | 8 + controller/agent.go | 22 + gen/cc/cc_agent.pb.go | 286 ++-- gen/cc/cc_member.pb.go | 2449 ++++++++++++++++++++++------------- gen/cc/cc_member_grpc.pb.go | 37 + gen/engine/agent.pb.go | 596 ++++----- grpc_api/cc_agent.go | 11 +- model/cc_agent.go | 59 + model/websocket_request.go | 11 +- wsapi/agent.go | 22 +- 12 files changed, 2172 insertions(+), 1357 deletions(-) diff --git a/app/cc/agent.go b/app/cc/agent.go index 6bb0de88..66d50aeb 100644 --- a/app/cc/agent.go +++ b/app/cc/agent.go @@ -4,6 +4,8 @@ import ( "context" "github.com/webitel/engine/gen/cc" + "github.com/webitel/engine/gen/engine" + "github.com/webitel/engine/model" "github.com/webitel/engine/pkg/wbt" ) @@ -26,6 +28,30 @@ func (api *agentApi) Online(domainId, agentId int64, onDemand bool) error { return err } +func (api *agentApi) OnlineWithStatus(ctx context.Context, r *model.AgentLoginRequest) error { + var onlineStatus *engine.Lookup + if r.OnlineStatus != nil { + onlineStatus = &engine.Lookup{ + Id: int64(r.OnlineStatus.Id), + Name: r.OnlineStatus.Name, + } + } + + if _, err := api.Api.Online( + ctx, + &cc.OnlineRequest{ + AgentId: r.AgentID, + OnDemand: r.OnDemand, + DomainId: r.DomainID, + Status: onlineStatus, + }, + ); err != nil { + return err + } + + return nil +} + func (api *agentApi) Offline(domainId, agentId int64) error { _, err := api.Api.Offline(context.TODO(), &cc.OfflineRequest{ AgentId: agentId, diff --git a/app/cc/client.go b/app/cc/client.go index e5561f09..a1ea1d2c 100644 --- a/app/cc/client.go +++ b/app/cc/client.go @@ -5,6 +5,7 @@ import ( "sync" "github.com/webitel/engine/gen/cc" + "github.com/webitel/engine/model" "github.com/webitel/engine/pkg/wbt" "github.com/webitel/wlog" ) @@ -13,6 +14,7 @@ const ServiceName = "call_center" type AgentApi interface { Online(domainId, agentId int64, onDemand bool) error + OnlineWithStatus(ctx context.Context, r *model.AgentLoginRequest) error Offline(domainId, agentId int64) error Pause(domainId, agentId int64, payload, statusComment string, timeout int) error diff --git a/app/cc_agent.go b/app/cc_agent.go index f1ef0d61..ae6ac85e 100644 --- a/app/cc_agent.go +++ b/app/cc_agent.go @@ -165,6 +165,14 @@ func (a *App) AgentCC(ctx context.Context, domainId int64, userId int64) (*model return a.Store.Agent().AgentCC(ctx, domainId, userId) } +func (a *App) LoginAgentFromRequest(ctx context.Context, r *model.AgentLoginRequest) model.AppError { + if err := a.cc.Agent().OnlineWithStatus(ctx, r); err != nil { + return model.NewBadRequestError("app.agent.login.app_err", err.Error()) + } + + return nil +} + func (a *App) LoginAgent(domainId, agentId int64, onDemand bool) model.AppError { err := a.cc.Agent().Online(domainId, agentId, onDemand) if err != nil { diff --git a/controller/agent.go b/controller/agent.go index 09bbceb1..318d1479 100644 --- a/controller/agent.go +++ b/controller/agent.go @@ -39,6 +39,28 @@ func (c *Controller) GetAgentSession(ctx context.Context, session *auth_manager. return c.app.GetAgentSession(ctx, session.Domain(domainId), userId) } +func (c *Controller) LoginAgentFromRequest(ctx context.Context, session *auth_manager.Session, r *model.AgentLoginRequest) model.AppError { + if err := r.Validate(); err != nil { + return err + } + + permission := session.GetPermission(model.PERMISSION_SCOPE_CC_AGENT) + if !permission.CanRead() { + return c.app.MakePermissionError(session, permission, auth_manager.PERMISSION_ACCESS_READ) + } + + if session.UseRBAC(auth_manager.PERMISSION_ACCESS_READ, permission) { + if perm, err := c.app.AgentCheckAccess(ctx, session.Domain(r.DomainID), r.AgentID, session.GetAclRoles(), auth_manager.PERMISSION_ACCESS_READ); err != nil { + return err + } else if !perm { + return c.app.MakeResourcePermissionError(session, r.AgentID, permission, auth_manager.PERMISSION_ACCESS_READ) + } + } + + return c.app.LoginAgentFromRequest(ctx, r) +} + +// DEPRECATED func (c *Controller) LoginAgent(ctx context.Context, session *auth_manager.Session, domainId, agentId int64, onDemand bool) model.AppError { permission := session.GetPermission(model.PERMISSION_SCOPE_CC_AGENT) if !permission.CanRead() { diff --git a/gen/cc/cc_agent.pb.go b/gen/cc/cc_agent.pb.go index c42eae10..f93ae848 100644 --- a/gen/cc/cc_agent.pb.go +++ b/gen/cc/cc_agent.pb.go @@ -7,6 +7,7 @@ package cc import ( + engine "github.com/webitel/engine/gen/engine" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -746,9 +747,10 @@ type OnlineRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` - OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` - DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` + Status *engine.Lookup `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` } func (x *OnlineRequest) Reset() { @@ -797,6 +799,13 @@ func (x *OnlineRequest) GetOnDemand() bool { return false } +func (x *OnlineRequest) GetStatus() *engine.Lookup { + if x != nil { + return x.Status + } + return nil +} + func (x *OnlineRequest) GetDomainId() int64 { if x != nil { return x.DomainId @@ -863,120 +872,123 @@ var File_cc_agent_proto protoreflect.FileDescriptor var file_cc_agent_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x63, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x02, 0x63, 0x63, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x42, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x2b, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x57, - 0x0a, 0x11, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, - 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x15, 0x57, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x12, 0x02, 0x63, 0x63, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x09, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, + 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x11, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x15, 0x57, 0x61, 0x69, 0x74, 0x69, + 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x22, 0x36, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x56, 0x0a, 0x07, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, + 0x41, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x56, 0x0a, - 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x0d, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x64, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, - 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, - 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, - 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, - 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x0d, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, + 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, + 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, + 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, + 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, + 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, + 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, + 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, + 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1009,29 +1021,31 @@ var file_cc_agent_proto_goTypes = []interface{}{ (*OnlineRequest)(nil), // 13: cc.OnlineRequest (*OnlineResponse)(nil), // 14: cc.OnlineResponse nil, // 15: cc.RunTriggerRequest.VariablesEntry + (*engine.Lookup)(nil), // 16: engine.Lookup } var file_cc_agent_proto_depIdxs = []int32{ 15, // 0: cc.RunTriggerRequest.variables:type_name -> cc.RunTriggerRequest.VariablesEntry - 8, // 1: cc.OnlineResponse.channel:type_name -> cc.Channel - 13, // 2: cc.AgentService.Online:input_type -> cc.OnlineRequest - 11, // 3: cc.AgentService.Offline:input_type -> cc.OfflineRequest - 9, // 4: cc.AgentService.Pause:input_type -> cc.PauseRequest - 6, // 5: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest - 2, // 6: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest - 4, // 7: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest - 0, // 8: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest - 14, // 9: cc.AgentService.Online:output_type -> cc.OnlineResponse - 12, // 10: cc.AgentService.Offline:output_type -> cc.OfflineResponse - 10, // 11: cc.AgentService.Pause:output_type -> cc.PauseResponse - 7, // 12: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse - 3, // 13: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse - 5, // 14: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse - 1, // 15: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse - 9, // [9:16] is the sub-list for method output_type - 2, // [2:9] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 16, // 1: cc.OnlineRequest.status:type_name -> engine.Lookup + 8, // 2: cc.OnlineResponse.channel:type_name -> cc.Channel + 13, // 3: cc.AgentService.Online:input_type -> cc.OnlineRequest + 11, // 4: cc.AgentService.Offline:input_type -> cc.OfflineRequest + 9, // 5: cc.AgentService.Pause:input_type -> cc.PauseRequest + 6, // 6: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest + 2, // 7: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest + 4, // 8: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest + 0, // 9: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest + 14, // 10: cc.AgentService.Online:output_type -> cc.OnlineResponse + 12, // 11: cc.AgentService.Offline:output_type -> cc.OfflineResponse + 10, // 12: cc.AgentService.Pause:output_type -> cc.PauseResponse + 7, // 13: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse + 3, // 14: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse + 5, // 15: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse + 1, // 16: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse + 10, // [10:17] is the sub-list for method output_type + 3, // [3:10] 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 } func init() { file_cc_agent_proto_init() } diff --git a/gen/cc/cc_member.pb.go b/gen/cc/cc_member.pb.go index 8ed568bc..608d847d 100644 --- a/gen/cc/cc_member.pb.go +++ b/gen/cc/cc_member.pb.go @@ -21,6 +21,164 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type IMJoinToQueueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ThreadId string `protobuf:"bytes,1,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"` + Queue *IMJoinToQueueRequest_Queue `protobuf:"bytes,2,opt,name=queue,proto3" json:"queue,omitempty"` + Timeout int32 `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` + Variables map[string]string `protobuf:"bytes,6,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BucketId int32 `protobuf:"varint,7,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` + StickyAgentId int32 `protobuf:"varint,8,opt,name=sticky_agent_id,json=stickyAgentId,proto3" json:"sticky_agent_id,omitempty"` + Thread *IMJoinToQueueRequest_ThreadInfo `protobuf:"bytes,9,opt,name=thread,proto3" json:"thread,omitempty"` + DomainId int64 `protobuf:"varint,100,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` +} + +func (x *IMJoinToQueueRequest) Reset() { + *x = IMJoinToQueueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest) ProtoMessage() {} + +func (x *IMJoinToQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[0] + 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 IMJoinToQueueRequest.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0} +} + +func (x *IMJoinToQueueRequest) GetThreadId() string { + if x != nil { + return x.ThreadId + } + return "" +} + +func (x *IMJoinToQueueRequest) GetQueue() *IMJoinToQueueRequest_Queue { + if x != nil { + return x.Queue + } + return nil +} + +func (x *IMJoinToQueueRequest) GetTimeout() int32 { + if x != nil { + return x.Timeout + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetPriority() int32 { + if x != nil { + return x.Priority + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetVariables() map[string]string { + if x != nil { + return x.Variables + } + return nil +} + +func (x *IMJoinToQueueRequest) GetBucketId() int32 { + if x != nil { + return x.BucketId + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetStickyAgentId() int32 { + if x != nil { + return x.StickyAgentId + } + return 0 +} + +func (x *IMJoinToQueueRequest) GetThread() *IMJoinToQueueRequest_ThreadInfo { + if x != nil { + return x.Thread + } + return nil +} + +func (x *IMJoinToQueueRequest) GetDomainId() int64 { + if x != nil { + return x.DomainId + } + return 0 +} + +type IMJoinToQueueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttemptId int64 `protobuf:"varint,1,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"` +} + +func (x *IMJoinToQueueResponse) Reset() { + *x = IMJoinToQueueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueResponse) ProtoMessage() {} + +func (x *IMJoinToQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[1] + 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 IMJoinToQueueResponse.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueResponse) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{1} +} + +func (x *IMJoinToQueueResponse) GetAttemptId() int64 { + if x != nil { + return x.AttemptId + } + return 0 +} + type ResumeAttemptRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -33,7 +191,7 @@ type ResumeAttemptRequest struct { func (x *ResumeAttemptRequest) Reset() { *x = ResumeAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[0] + mi := &file_cc_member_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46,7 +204,7 @@ func (x *ResumeAttemptRequest) String() string { func (*ResumeAttemptRequest) ProtoMessage() {} func (x *ResumeAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[0] + mi := &file_cc_member_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59,7 +217,7 @@ func (x *ResumeAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeAttemptRequest.ProtoReflect.Descriptor instead. func (*ResumeAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{0} + return file_cc_member_proto_rawDescGZIP(), []int{2} } func (x *ResumeAttemptRequest) GetDomainId() int64 { @@ -87,7 +245,7 @@ type ResumeAttemptResponse struct { func (x *ResumeAttemptResponse) Reset() { *x = ResumeAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[1] + mi := &file_cc_member_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100,7 +258,7 @@ func (x *ResumeAttemptResponse) String() string { func (*ResumeAttemptResponse) ProtoMessage() {} func (x *ResumeAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[1] + mi := &file_cc_member_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113,7 +271,7 @@ func (x *ResumeAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeAttemptResponse.ProtoReflect.Descriptor instead. func (*ResumeAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{1} + return file_cc_member_proto_rawDescGZIP(), []int{3} } func (x *ResumeAttemptResponse) GetOk() bool { @@ -136,7 +294,7 @@ type InterceptAttemptRequest struct { func (x *InterceptAttemptRequest) Reset() { *x = InterceptAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[2] + mi := &file_cc_member_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -149,7 +307,7 @@ func (x *InterceptAttemptRequest) String() string { func (*InterceptAttemptRequest) ProtoMessage() {} func (x *InterceptAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[2] + mi := &file_cc_member_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -162,7 +320,7 @@ func (x *InterceptAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InterceptAttemptRequest.ProtoReflect.Descriptor instead. func (*InterceptAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{2} + return file_cc_member_proto_rawDescGZIP(), []int{4} } func (x *InterceptAttemptRequest) GetDomainId() int64 { @@ -195,7 +353,7 @@ type InterceptAttemptResponse struct { func (x *InterceptAttemptResponse) Reset() { *x = InterceptAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[3] + mi := &file_cc_member_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -208,7 +366,7 @@ func (x *InterceptAttemptResponse) String() string { func (*InterceptAttemptResponse) ProtoMessage() {} func (x *InterceptAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[3] + mi := &file_cc_member_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -221,7 +379,7 @@ func (x *InterceptAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InterceptAttemptResponse.ProtoReflect.Descriptor instead. func (*InterceptAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{3} + return file_cc_member_proto_rawDescGZIP(), []int{5} } type CancelAttemptRequest struct { @@ -236,7 +394,7 @@ type CancelAttemptRequest struct { func (x *CancelAttemptRequest) Reset() { *x = CancelAttemptRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[4] + mi := &file_cc_member_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +407,7 @@ func (x *CancelAttemptRequest) String() string { func (*CancelAttemptRequest) ProtoMessage() {} func (x *CancelAttemptRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[4] + mi := &file_cc_member_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +420,7 @@ func (x *CancelAttemptRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAttemptRequest.ProtoReflect.Descriptor instead. func (*CancelAttemptRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{4} + return file_cc_member_proto_rawDescGZIP(), []int{6} } func (x *CancelAttemptRequest) GetAttemptId() int64 { @@ -288,7 +446,7 @@ type CancelAttemptResponse struct { func (x *CancelAttemptResponse) Reset() { *x = CancelAttemptResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[5] + mi := &file_cc_member_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -301,7 +459,7 @@ func (x *CancelAttemptResponse) String() string { func (*CancelAttemptResponse) ProtoMessage() {} func (x *CancelAttemptResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[5] + mi := &file_cc_member_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -314,7 +472,7 @@ func (x *CancelAttemptResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAttemptResponse.ProtoReflect.Descriptor instead. func (*CancelAttemptResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{5} + return file_cc_member_proto_rawDescGZIP(), []int{7} } type ProcessingFormActionRequest struct { @@ -333,7 +491,7 @@ type ProcessingFormActionRequest struct { func (x *ProcessingFormActionRequest) Reset() { *x = ProcessingFormActionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[6] + mi := &file_cc_member_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -346,7 +504,7 @@ func (x *ProcessingFormActionRequest) String() string { func (*ProcessingFormActionRequest) ProtoMessage() {} func (x *ProcessingFormActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[6] + mi := &file_cc_member_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -359,7 +517,7 @@ func (x *ProcessingFormActionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormActionRequest.ProtoReflect.Descriptor instead. func (*ProcessingFormActionRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{6} + return file_cc_member_proto_rawDescGZIP(), []int{8} } func (x *ProcessingFormActionRequest) GetDomainId() int64 { @@ -413,7 +571,7 @@ type ProcessingFormActionResponse struct { func (x *ProcessingFormActionResponse) Reset() { *x = ProcessingFormActionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[7] + mi := &file_cc_member_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +584,7 @@ func (x *ProcessingFormActionResponse) String() string { func (*ProcessingFormActionResponse) ProtoMessage() {} func (x *ProcessingFormActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[7] + mi := &file_cc_member_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +597,7 @@ func (x *ProcessingFormActionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormActionResponse.ProtoReflect.Descriptor instead. func (*ProcessingFormActionResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{7} + return file_cc_member_proto_rawDescGZIP(), []int{9} } type ProcessingFormSaveRequest struct { @@ -458,7 +616,7 @@ type ProcessingFormSaveRequest struct { func (x *ProcessingFormSaveRequest) Reset() { *x = ProcessingFormSaveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[8] + mi := &file_cc_member_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -471,7 +629,7 @@ func (x *ProcessingFormSaveRequest) String() string { func (*ProcessingFormSaveRequest) ProtoMessage() {} func (x *ProcessingFormSaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[8] + mi := &file_cc_member_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -484,7 +642,7 @@ func (x *ProcessingFormSaveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormSaveRequest.ProtoReflect.Descriptor instead. func (*ProcessingFormSaveRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{8} + return file_cc_member_proto_rawDescGZIP(), []int{10} } func (x *ProcessingFormSaveRequest) GetDomainId() int64 { @@ -538,7 +696,7 @@ type ProcessingFormSaveResponse struct { func (x *ProcessingFormSaveResponse) Reset() { *x = ProcessingFormSaveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[9] + mi := &file_cc_member_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +709,7 @@ func (x *ProcessingFormSaveResponse) String() string { func (*ProcessingFormSaveResponse) ProtoMessage() {} func (x *ProcessingFormSaveResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[9] + mi := &file_cc_member_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +722,7 @@ func (x *ProcessingFormSaveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingFormSaveResponse.ProtoReflect.Descriptor instead. func (*ProcessingFormSaveResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{9} + return file_cc_member_proto_rawDescGZIP(), []int{11} } type ProcessingComponentActionRequest struct { @@ -586,7 +744,7 @@ type ProcessingComponentActionRequest struct { func (x *ProcessingComponentActionRequest) Reset() { *x = ProcessingComponentActionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[10] + mi := &file_cc_member_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -599,7 +757,7 @@ func (x *ProcessingComponentActionRequest) String() string { func (*ProcessingComponentActionRequest) ProtoMessage() {} func (x *ProcessingComponentActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[10] + mi := &file_cc_member_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -612,7 +770,7 @@ func (x *ProcessingComponentActionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingComponentActionRequest.ProtoReflect.Descriptor instead. func (*ProcessingComponentActionRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{10} + return file_cc_member_proto_rawDescGZIP(), []int{12} } func (x *ProcessingComponentActionRequest) GetDomainId() int64 { @@ -687,7 +845,7 @@ type ProcessingComponentActionResponse struct { func (x *ProcessingComponentActionResponse) Reset() { *x = ProcessingComponentActionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[11] + mi := &file_cc_member_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -700,7 +858,7 @@ func (x *ProcessingComponentActionResponse) String() string { func (*ProcessingComponentActionResponse) ProtoMessage() {} func (x *ProcessingComponentActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[11] + mi := &file_cc_member_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -713,7 +871,7 @@ func (x *ProcessingComponentActionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ProcessingComponentActionResponse.ProtoReflect.Descriptor instead. func (*ProcessingComponentActionResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{11} + return file_cc_member_proto_rawDescGZIP(), []int{13} } type TransferRequest struct { @@ -731,7 +889,7 @@ type TransferRequest struct { func (x *TransferRequest) Reset() { *x = TransferRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[12] + mi := &file_cc_member_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -744,7 +902,7 @@ func (x *TransferRequest) String() string { func (*TransferRequest) ProtoMessage() {} func (x *TransferRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[12] + mi := &file_cc_member_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -757,7 +915,7 @@ func (x *TransferRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferRequest.ProtoReflect.Descriptor instead. func (*TransferRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{12} + return file_cc_member_proto_rawDescGZIP(), []int{14} } func (x *TransferRequest) GetDomainId() int64 { @@ -804,7 +962,7 @@ type TransferResponse struct { func (x *TransferResponse) Reset() { *x = TransferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[13] + mi := &file_cc_member_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -817,7 +975,7 @@ func (x *TransferResponse) String() string { func (*TransferResponse) ProtoMessage() {} func (x *TransferResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[13] + mi := &file_cc_member_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -830,7 +988,7 @@ func (x *TransferResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferResponse.ProtoReflect.Descriptor instead. func (*TransferResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{13} + return file_cc_member_proto_rawDescGZIP(), []int{15} } type CancelAgentDistributeRequest struct { @@ -844,7 +1002,7 @@ type CancelAgentDistributeRequest struct { func (x *CancelAgentDistributeRequest) Reset() { *x = CancelAgentDistributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[14] + mi := &file_cc_member_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -857,7 +1015,7 @@ func (x *CancelAgentDistributeRequest) String() string { func (*CancelAgentDistributeRequest) ProtoMessage() {} func (x *CancelAgentDistributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[14] + mi := &file_cc_member_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -870,7 +1028,7 @@ func (x *CancelAgentDistributeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAgentDistributeRequest.ProtoReflect.Descriptor instead. func (*CancelAgentDistributeRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{14} + return file_cc_member_proto_rawDescGZIP(), []int{16} } func (x *CancelAgentDistributeRequest) GetAgentId() int32 { @@ -889,7 +1047,7 @@ type CancelAgentDistributeResponse struct { func (x *CancelAgentDistributeResponse) Reset() { *x = CancelAgentDistributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[15] + mi := &file_cc_member_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1060,7 @@ func (x *CancelAgentDistributeResponse) String() string { func (*CancelAgentDistributeResponse) ProtoMessage() {} func (x *CancelAgentDistributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[15] + mi := &file_cc_member_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1073,7 @@ func (x *CancelAgentDistributeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAgentDistributeResponse.ProtoReflect.Descriptor instead. func (*CancelAgentDistributeResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{15} + return file_cc_member_proto_rawDescGZIP(), []int{17} } type MemberCommunicationType struct { @@ -930,7 +1088,7 @@ type MemberCommunicationType struct { func (x *MemberCommunicationType) Reset() { *x = MemberCommunicationType{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[16] + mi := &file_cc_member_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -943,7 +1101,7 @@ func (x *MemberCommunicationType) String() string { func (*MemberCommunicationType) ProtoMessage() {} func (x *MemberCommunicationType) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[16] + mi := &file_cc_member_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -956,7 +1114,7 @@ func (x *MemberCommunicationType) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunicationType.ProtoReflect.Descriptor instead. func (*MemberCommunicationType) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{16} + return file_cc_member_proto_rawDescGZIP(), []int{18} } func (x *MemberCommunicationType) GetId() int32 { @@ -986,7 +1144,7 @@ type MemberCommunication struct { func (x *MemberCommunication) Reset() { *x = MemberCommunication{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[17] + mi := &file_cc_member_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -999,7 +1157,7 @@ func (x *MemberCommunication) String() string { func (*MemberCommunication) ProtoMessage() {} func (x *MemberCommunication) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[17] + mi := &file_cc_member_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1012,7 +1170,7 @@ func (x *MemberCommunication) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunication.ProtoReflect.Descriptor instead. func (*MemberCommunication) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{17} + return file_cc_member_proto_rawDescGZIP(), []int{19} } func (x *MemberCommunication) GetDestination() string { @@ -1047,7 +1205,7 @@ type QueueFormSchema struct { func (x *QueueFormSchema) Reset() { *x = QueueFormSchema{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[18] + mi := &file_cc_member_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1060,7 +1218,7 @@ func (x *QueueFormSchema) String() string { func (*QueueFormSchema) ProtoMessage() {} func (x *QueueFormSchema) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[18] + mi := &file_cc_member_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1073,7 +1231,7 @@ func (x *QueueFormSchema) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueFormSchema.ProtoReflect.Descriptor instead. func (*QueueFormSchema) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{18} + return file_cc_member_proto_rawDescGZIP(), []int{20} } func (x *QueueFormSchema) GetId() int32 { @@ -1097,7 +1255,7 @@ type ProcessingProlongation struct { func (x *ProcessingProlongation) Reset() { *x = ProcessingProlongation{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[19] + mi := &file_cc_member_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1110,7 +1268,7 @@ func (x *ProcessingProlongation) String() string { func (*ProcessingProlongation) ProtoMessage() {} func (x *ProcessingProlongation) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[19] + mi := &file_cc_member_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1123,7 +1281,7 @@ func (x *ProcessingProlongation) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessingProlongation.ProtoReflect.Descriptor instead. func (*ProcessingProlongation) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{19} + return file_cc_member_proto_rawDescGZIP(), []int{21} } func (x *ProcessingProlongation) GetEnabled() bool { @@ -1172,7 +1330,7 @@ type TaskJoinToAgentRequest struct { func (x *TaskJoinToAgentRequest) Reset() { *x = TaskJoinToAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[20] + mi := &file_cc_member_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1185,7 +1343,7 @@ func (x *TaskJoinToAgentRequest) String() string { func (*TaskJoinToAgentRequest) ProtoMessage() {} func (x *TaskJoinToAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[20] + mi := &file_cc_member_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1198,7 +1356,7 @@ func (x *TaskJoinToAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskJoinToAgentRequest.ProtoReflect.Descriptor instead. func (*TaskJoinToAgentRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{20} + return file_cc_member_proto_rawDescGZIP(), []int{22} } func (x *TaskJoinToAgentRequest) GetAgentId() int32 { @@ -1275,7 +1433,7 @@ type OutboundCallRequest struct { func (x *OutboundCallRequest) Reset() { *x = OutboundCallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[21] + mi := &file_cc_member_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1288,7 +1446,7 @@ func (x *OutboundCallRequest) String() string { func (*OutboundCallRequest) ProtoMessage() {} func (x *OutboundCallRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[21] + mi := &file_cc_member_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1301,7 +1459,7 @@ func (x *OutboundCallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallRequest.ProtoReflect.Descriptor instead. func (*OutboundCallRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{21} + return file_cc_member_proto_rawDescGZIP(), []int{23} } func (x *OutboundCallRequest) GetUserId() int64 { @@ -1372,7 +1530,7 @@ type OutboundCallResponse struct { func (x *OutboundCallResponse) Reset() { *x = OutboundCallResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[22] + mi := &file_cc_member_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1385,7 +1543,7 @@ func (x *OutboundCallResponse) String() string { func (*OutboundCallResponse) ProtoMessage() {} func (x *OutboundCallResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[22] + mi := &file_cc_member_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1398,7 +1556,7 @@ func (x *OutboundCallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallResponse.ProtoReflect.Descriptor instead. func (*OutboundCallResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{22} + return file_cc_member_proto_rawDescGZIP(), []int{24} } func (x *OutboundCallResponse) GetAttemptId() int64 { @@ -1435,7 +1593,7 @@ type CallJoinToAgentRequest struct { func (x *CallJoinToAgentRequest) Reset() { *x = CallJoinToAgentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[23] + mi := &file_cc_member_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1448,7 +1606,7 @@ func (x *CallJoinToAgentRequest) String() string { func (*CallJoinToAgentRequest) ProtoMessage() {} func (x *CallJoinToAgentRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[23] + mi := &file_cc_member_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1461,7 +1619,7 @@ func (x *CallJoinToAgentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToAgentRequest.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23} + return file_cc_member_proto_rawDescGZIP(), []int{25} } func (x *CallJoinToAgentRequest) GetMemberCallId() string { @@ -1547,7 +1705,7 @@ type AttemptRenewalResultRequest struct { func (x *AttemptRenewalResultRequest) Reset() { *x = AttemptRenewalResultRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[24] + mi := &file_cc_member_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1560,7 +1718,7 @@ func (x *AttemptRenewalResultRequest) String() string { func (*AttemptRenewalResultRequest) ProtoMessage() {} func (x *AttemptRenewalResultRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[24] + mi := &file_cc_member_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1573,7 +1731,7 @@ func (x *AttemptRenewalResultRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptRenewalResultRequest.ProtoReflect.Descriptor instead. func (*AttemptRenewalResultRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{24} + return file_cc_member_proto_rawDescGZIP(), []int{26} } func (x *AttemptRenewalResultRequest) GetDomainId() int64 { @@ -1606,7 +1764,7 @@ type AttemptRenewalResultResponse struct { func (x *AttemptRenewalResultResponse) Reset() { *x = AttemptRenewalResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[25] + mi := &file_cc_member_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1619,7 +1777,7 @@ func (x *AttemptRenewalResultResponse) String() string { func (*AttemptRenewalResultResponse) ProtoMessage() {} func (x *AttemptRenewalResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[25] + mi := &file_cc_member_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1632,7 +1790,7 @@ func (x *AttemptRenewalResultResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptRenewalResultResponse.ProtoReflect.Descriptor instead. func (*AttemptRenewalResultResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{25} + return file_cc_member_proto_rawDescGZIP(), []int{27} } type QueueEvent struct { @@ -1654,7 +1812,7 @@ type QueueEvent struct { func (x *QueueEvent) Reset() { *x = QueueEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[26] + mi := &file_cc_member_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1667,7 +1825,7 @@ func (x *QueueEvent) String() string { func (*QueueEvent) ProtoMessage() {} func (x *QueueEvent) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[26] + mi := &file_cc_member_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1680,7 +1838,7 @@ func (x *QueueEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent.ProtoReflect.Descriptor instead. func (*QueueEvent) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26} + return file_cc_member_proto_rawDescGZIP(), []int{28} } func (x *QueueEvent) GetName() string { @@ -1777,7 +1935,7 @@ type AnswerConversationRequest struct { func (x *AnswerConversationRequest) Reset() { *x = AnswerConversationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[27] + mi := &file_cc_member_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1790,7 +1948,7 @@ func (x *AnswerConversationRequest) String() string { func (*AnswerConversationRequest) ProtoMessage() {} func (x *AnswerConversationRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[27] + mi := &file_cc_member_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1803,7 +1961,7 @@ func (x *AnswerConversationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerConversationRequest.ProtoReflect.Descriptor instead. func (*AnswerConversationRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{27} + return file_cc_member_proto_rawDescGZIP(), []int{29} } func (x *AnswerConversationRequest) GetChannelId() string { @@ -1822,7 +1980,7 @@ type AnswerConversationResponse struct { func (x *AnswerConversationResponse) Reset() { *x = AnswerConversationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[28] + mi := &file_cc_member_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1835,7 +1993,7 @@ func (x *AnswerConversationResponse) String() string { func (*AnswerConversationResponse) ProtoMessage() {} func (x *AnswerConversationResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[28] + mi := &file_cc_member_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1848,7 +2006,7 @@ func (x *AnswerConversationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerConversationResponse.ProtoReflect.Descriptor instead. func (*AnswerConversationResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{28} + return file_cc_member_proto_rawDescGZIP(), []int{30} } type ChatJoinToQueueRequest struct { @@ -1863,13 +2021,14 @@ type ChatJoinToQueueRequest struct { Variables map[string]string `protobuf:"bytes,6,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` BucketId int32 `protobuf:"varint,7,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"` StickyAgentId int32 `protobuf:"varint,8,opt,name=sticky_agent_id,json=stickyAgentId,proto3" json:"sticky_agent_id,omitempty"` + ExtraChatCount bool `protobuf:"varint,9,opt,name=extra_chat_count,json=extraChatCount,proto3" json:"extra_chat_count,omitempty"` DomainId int64 `protobuf:"varint,100,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` } func (x *ChatJoinToQueueRequest) Reset() { *x = ChatJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[29] + mi := &file_cc_member_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1882,7 +2041,7 @@ func (x *ChatJoinToQueueRequest) String() string { func (*ChatJoinToQueueRequest) ProtoMessage() {} func (x *ChatJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[29] + mi := &file_cc_member_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1895,7 +2054,7 @@ func (x *ChatJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*ChatJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{29} + return file_cc_member_proto_rawDescGZIP(), []int{31} } func (x *ChatJoinToQueueRequest) GetConversationId() string { @@ -1947,6 +2106,13 @@ func (x *ChatJoinToQueueRequest) GetStickyAgentId() int32 { return 0 } +func (x *ChatJoinToQueueRequest) GetExtraChatCount() bool { + if x != nil { + return x.ExtraChatCount + } + return false +} + func (x *ChatJoinToQueueRequest) GetDomainId() int64 { if x != nil { return x.DomainId @@ -1967,7 +2133,7 @@ type EmailJoinToQueueRequest struct { func (x *EmailJoinToQueueRequest) Reset() { *x = EmailJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[30] + mi := &file_cc_member_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1980,7 +2146,7 @@ func (x *EmailJoinToQueueRequest) String() string { func (*EmailJoinToQueueRequest) ProtoMessage() {} func (x *EmailJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[30] + mi := &file_cc_member_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1993,7 +2159,7 @@ func (x *EmailJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EmailJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*EmailJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{30} + return file_cc_member_proto_rawDescGZIP(), []int{32} } func (x *EmailJoinToQueueRequest) GetEmailId() string { @@ -2028,7 +2194,7 @@ type EmailJoinToQueueResponse struct { func (x *EmailJoinToQueueResponse) Reset() { *x = EmailJoinToQueueResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[31] + mi := &file_cc_member_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2041,7 +2207,7 @@ func (x *EmailJoinToQueueResponse) String() string { func (*EmailJoinToQueueResponse) ProtoMessage() {} func (x *EmailJoinToQueueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[31] + mi := &file_cc_member_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2054,7 +2220,7 @@ func (x *EmailJoinToQueueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EmailJoinToQueueResponse.ProtoReflect.Descriptor instead. func (*EmailJoinToQueueResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{31} + return file_cc_member_proto_rawDescGZIP(), []int{33} } func (x *EmailJoinToQueueResponse) GetStatus() string { @@ -2078,7 +2244,7 @@ type DirectAgentToMemberRequest struct { func (x *DirectAgentToMemberRequest) Reset() { *x = DirectAgentToMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[32] + mi := &file_cc_member_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2091,7 +2257,7 @@ func (x *DirectAgentToMemberRequest) String() string { func (*DirectAgentToMemberRequest) ProtoMessage() {} func (x *DirectAgentToMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[32] + mi := &file_cc_member_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2104,7 +2270,7 @@ func (x *DirectAgentToMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DirectAgentToMemberRequest.ProtoReflect.Descriptor instead. func (*DirectAgentToMemberRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{32} + return file_cc_member_proto_rawDescGZIP(), []int{34} } func (x *DirectAgentToMemberRequest) GetMemberId() int64 { @@ -2146,7 +2312,7 @@ type DirectAgentToMemberResponse struct { func (x *DirectAgentToMemberResponse) Reset() { *x = DirectAgentToMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[33] + mi := &file_cc_member_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2159,7 +2325,7 @@ func (x *DirectAgentToMemberResponse) String() string { func (*DirectAgentToMemberResponse) ProtoMessage() {} func (x *DirectAgentToMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[33] + mi := &file_cc_member_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2172,7 +2338,7 @@ func (x *DirectAgentToMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DirectAgentToMemberResponse.ProtoReflect.Descriptor instead. func (*DirectAgentToMemberResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{33} + return file_cc_member_proto_rawDescGZIP(), []int{35} } func (x *DirectAgentToMemberResponse) GetAttemptId() int64 { @@ -2202,7 +2368,7 @@ type CallJoinToQueueRequest struct { func (x *CallJoinToQueueRequest) Reset() { *x = CallJoinToQueueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[34] + mi := &file_cc_member_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2215,7 +2381,7 @@ func (x *CallJoinToQueueRequest) String() string { func (*CallJoinToQueueRequest) ProtoMessage() {} func (x *CallJoinToQueueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[34] + mi := &file_cc_member_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,7 +2394,7 @@ func (x *CallJoinToQueueRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueRequest.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34} + return file_cc_member_proto_rawDescGZIP(), []int{36} } func (x *CallJoinToQueueRequest) GetMemberCallId() string { @@ -2312,7 +2478,7 @@ type CallJoinToQueueResponse struct { func (x *CallJoinToQueueResponse) Reset() { *x = CallJoinToQueueResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[35] + mi := &file_cc_member_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2325,7 +2491,7 @@ func (x *CallJoinToQueueResponse) String() string { func (*CallJoinToQueueResponse) ProtoMessage() {} func (x *CallJoinToQueueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[35] + mi := &file_cc_member_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2338,7 +2504,7 @@ func (x *CallJoinToQueueResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueResponse.ProtoReflect.Descriptor instead. func (*CallJoinToQueueResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{35} + return file_cc_member_proto_rawDescGZIP(), []int{37} } func (x *CallJoinToQueueResponse) GetStatus() string { @@ -2366,7 +2532,7 @@ type MemberCommunicationCreateRequest struct { func (x *MemberCommunicationCreateRequest) Reset() { *x = MemberCommunicationCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[36] + mi := &file_cc_member_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2545,7 @@ func (x *MemberCommunicationCreateRequest) String() string { func (*MemberCommunicationCreateRequest) ProtoMessage() {} func (x *MemberCommunicationCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[36] + mi := &file_cc_member_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2558,7 @@ func (x *MemberCommunicationCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemberCommunicationCreateRequest.ProtoReflect.Descriptor instead. func (*MemberCommunicationCreateRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{36} + return file_cc_member_proto_rawDescGZIP(), []int{38} } func (x *MemberCommunicationCreateRequest) GetDestination() string { @@ -2475,7 +2641,7 @@ type AttemptResultRequest struct { func (x *AttemptResultRequest) Reset() { *x = AttemptResultRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[37] + mi := &file_cc_member_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2488,7 +2654,7 @@ func (x *AttemptResultRequest) String() string { func (*AttemptResultRequest) ProtoMessage() {} func (x *AttemptResultRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[37] + mi := &file_cc_member_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2501,7 +2667,7 @@ func (x *AttemptResultRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptResultRequest.ProtoReflect.Descriptor instead. func (*AttemptResultRequest) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{37} + return file_cc_member_proto_rawDescGZIP(), []int{39} } func (x *AttemptResultRequest) GetAttemptId() int64 { @@ -2613,7 +2779,7 @@ type AttemptResultResponse struct { func (x *AttemptResultResponse) Reset() { *x = AttemptResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[38] + mi := &file_cc_member_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2626,7 +2792,7 @@ func (x *AttemptResultResponse) String() string { func (*AttemptResultResponse) ProtoMessage() {} func (x *AttemptResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[38] + mi := &file_cc_member_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2639,12 +2805,296 @@ func (x *AttemptResultResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AttemptResultResponse.ProtoReflect.Descriptor instead. func (*AttemptResultResponse) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{38} + return file_cc_member_proto_rawDescGZIP(), []int{40} +} + +func (x *AttemptResultResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type IMJoinToQueueRequest_Queue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *IMJoinToQueueRequest_Queue) Reset() { + *x = IMJoinToQueueRequest_Queue{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_Queue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_Queue) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[41] + 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 IMJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *IMJoinToQueueRequest_Queue) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *IMJoinToQueueRequest_Queue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type IMJoinToQueueRequest_Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Sub string `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"` + MemberId string `protobuf:"bytes,3,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` +} + +func (x *IMJoinToQueueRequest_Endpoint) Reset() { + *x = IMJoinToQueueRequest_Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_Endpoint) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[43] + 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 IMJoinToQueueRequest_Endpoint.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_Endpoint) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *IMJoinToQueueRequest_Endpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IMJoinToQueueRequest_Endpoint) GetSub() string { + if x != nil { + return x.Sub + } + return "" +} + +func (x *IMJoinToQueueRequest_Endpoint) GetMemberId() string { + if x != nil { + return x.MemberId + } + return "" +} + +type IMJoinToQueueRequest_MemberInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Iss string `protobuf:"bytes,3,opt,name=iss,proto3" json:"iss,omitempty"` + Sub string `protobuf:"bytes,4,opt,name=sub,proto3" json:"sub,omitempty"` + Role int32 `protobuf:"varint,5,opt,name=role,proto3" json:"role,omitempty"` + MemberId string `protobuf:"bytes,6,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` +} + +func (x *IMJoinToQueueRequest_MemberInfo) Reset() { + *x = IMJoinToQueueRequest_MemberInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_MemberInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_MemberInfo) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_MemberInfo) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[44] + 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 IMJoinToQueueRequest_MemberInfo.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_MemberInfo) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetIss() string { + if x != nil { + return x.Iss + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetSub() string { + if x != nil { + return x.Sub + } + return "" +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetRole() int32 { + if x != nil { + return x.Role + } + return 0 +} + +func (x *IMJoinToQueueRequest_MemberInfo) GetMemberId() string { + if x != nil { + return x.MemberId + } + return "" +} + +type IMJoinToQueueRequest_ThreadInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + From *IMJoinToQueueRequest_Endpoint `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` + To *IMJoinToQueueRequest_Endpoint `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` + Members []*IMJoinToQueueRequest_MemberInfo `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` + LastMessage string `protobuf:"bytes,5,opt,name=last_message,json=lastMessage,proto3" json:"last_message,omitempty"` +} + +func (x *IMJoinToQueueRequest_ThreadInfo) Reset() { + *x = IMJoinToQueueRequest_ThreadInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_member_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IMJoinToQueueRequest_ThreadInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IMJoinToQueueRequest_ThreadInfo) ProtoMessage() {} + +func (x *IMJoinToQueueRequest_ThreadInfo) ProtoReflect() protoreflect.Message { + mi := &file_cc_member_proto_msgTypes[45] + 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 IMJoinToQueueRequest_ThreadInfo.ProtoReflect.Descriptor instead. +func (*IMJoinToQueueRequest_ThreadInfo) Descriptor() ([]byte, []int) { + return file_cc_member_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetFrom() *IMJoinToQueueRequest_Endpoint { + if x != nil { + return x.From + } + return nil +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetTo() *IMJoinToQueueRequest_Endpoint { + if x != nil { + return x.To + } + return nil +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *IMJoinToQueueRequest_ThreadInfo) GetMembers() []*IMJoinToQueueRequest_MemberInfo { + if x != nil { + return x.Members + } + return nil } -func (x *AttemptResultResponse) GetStatus() string { +func (x *IMJoinToQueueRequest_ThreadInfo) GetLastMessage() string { if x != nil { - return x.Status + return x.LastMessage } return "" } @@ -2659,12 +3109,13 @@ type TaskJoinToAgentRequest_Processing struct { Sec uint32 `protobuf:"varint,3,opt,name=sec,proto3" json:"sec,omitempty"` Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,5,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,6,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *TaskJoinToAgentRequest_Processing) Reset() { *x = TaskJoinToAgentRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[43] + mi := &file_cc_member_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2677,7 +3128,7 @@ func (x *TaskJoinToAgentRequest_Processing) String() string { func (*TaskJoinToAgentRequest_Processing) ProtoMessage() {} func (x *TaskJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[43] + mi := &file_cc_member_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2690,7 +3141,7 @@ func (x *TaskJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message // Deprecated: Use TaskJoinToAgentRequest_Processing.ProtoReflect.Descriptor instead. func (*TaskJoinToAgentRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{20, 0} + return file_cc_member_proto_rawDescGZIP(), []int{22, 0} } func (x *TaskJoinToAgentRequest_Processing) GetEnabled() bool { @@ -2728,6 +3179,13 @@ func (x *TaskJoinToAgentRequest_Processing) GetProcessingProlongation() *Process return nil } +func (x *TaskJoinToAgentRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type OutboundCallRequest_Processing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2739,12 +3197,13 @@ type OutboundCallRequest_Processing struct { Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` WithoutAnswer bool `protobuf:"varint,5,opt,name=without_answer,json=withoutAnswer,proto3" json:"without_answer,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,6,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,7,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *OutboundCallRequest_Processing) Reset() { *x = OutboundCallRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[45] + mi := &file_cc_member_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2757,7 +3216,7 @@ func (x *OutboundCallRequest_Processing) String() string { func (*OutboundCallRequest_Processing) ProtoMessage() {} func (x *OutboundCallRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[45] + mi := &file_cc_member_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2770,7 +3229,7 @@ func (x *OutboundCallRequest_Processing) ProtoReflect() protoreflect.Message { // Deprecated: Use OutboundCallRequest_Processing.ProtoReflect.Descriptor instead. func (*OutboundCallRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{21, 0} + return file_cc_member_proto_rawDescGZIP(), []int{23, 0} } func (x *OutboundCallRequest_Processing) GetEnabled() bool { @@ -2815,6 +3274,13 @@ func (x *OutboundCallRequest_Processing) GetProcessingProlongation() *Processing return nil } +func (x *OutboundCallRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type CallJoinToAgentRequest_WaitingMusic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2828,7 +3294,7 @@ type CallJoinToAgentRequest_WaitingMusic struct { func (x *CallJoinToAgentRequest_WaitingMusic) Reset() { *x = CallJoinToAgentRequest_WaitingMusic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[47] + mi := &file_cc_member_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2841,7 +3307,7 @@ func (x *CallJoinToAgentRequest_WaitingMusic) String() string { func (*CallJoinToAgentRequest_WaitingMusic) ProtoMessage() {} func (x *CallJoinToAgentRequest_WaitingMusic) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[47] + mi := &file_cc_member_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2854,7 +3320,7 @@ func (x *CallJoinToAgentRequest_WaitingMusic) ProtoReflect() protoreflect.Messag // Deprecated: Use CallJoinToAgentRequest_WaitingMusic.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest_WaitingMusic) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23, 0} + return file_cc_member_proto_rawDescGZIP(), []int{25, 0} } func (x *CallJoinToAgentRequest_WaitingMusic) GetId() int32 { @@ -2888,12 +3354,13 @@ type CallJoinToAgentRequest_Processing struct { Sec uint32 `protobuf:"varint,3,opt,name=sec,proto3" json:"sec,omitempty"` Form *QueueFormSchema `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"` ProcessingProlongation *ProcessingProlongation `protobuf:"bytes,5,opt,name=processing_prolongation,json=processingProlongation,proto3" json:"processing_prolongation,omitempty"` + Autosave bool `protobuf:"varint,6,opt,name=autosave,proto3" json:"autosave,omitempty"` } func (x *CallJoinToAgentRequest_Processing) Reset() { *x = CallJoinToAgentRequest_Processing{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[48] + mi := &file_cc_member_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2906,7 +3373,7 @@ func (x *CallJoinToAgentRequest_Processing) String() string { func (*CallJoinToAgentRequest_Processing) ProtoMessage() {} func (x *CallJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[48] + mi := &file_cc_member_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2919,7 +3386,7 @@ func (x *CallJoinToAgentRequest_Processing) ProtoReflect() protoreflect.Message // Deprecated: Use CallJoinToAgentRequest_Processing.ProtoReflect.Descriptor instead. func (*CallJoinToAgentRequest_Processing) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{23, 1} + return file_cc_member_proto_rawDescGZIP(), []int{25, 1} } func (x *CallJoinToAgentRequest_Processing) GetEnabled() bool { @@ -2957,6 +3424,13 @@ func (x *CallJoinToAgentRequest_Processing) GetProcessingProlongation() *Process return nil } +func (x *CallJoinToAgentRequest_Processing) GetAutosave() bool { + if x != nil { + return x.Autosave + } + return false +} + type QueueEvent_JoinedData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2969,7 +3443,7 @@ type QueueEvent_JoinedData struct { func (x *QueueEvent_JoinedData) Reset() { *x = QueueEvent_JoinedData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[50] + mi := &file_cc_member_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2982,7 +3456,7 @@ func (x *QueueEvent_JoinedData) String() string { func (*QueueEvent_JoinedData) ProtoMessage() {} func (x *QueueEvent_JoinedData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[50] + mi := &file_cc_member_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2995,7 +3469,7 @@ func (x *QueueEvent_JoinedData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_JoinedData.ProtoReflect.Descriptor instead. func (*QueueEvent_JoinedData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 0} + return file_cc_member_proto_rawDescGZIP(), []int{28, 0} } func (x *QueueEvent_JoinedData) GetAttemptId() int64 { @@ -3025,7 +3499,7 @@ type QueueEvent_OfferingData struct { func (x *QueueEvent_OfferingData) Reset() { *x = QueueEvent_OfferingData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[51] + mi := &file_cc_member_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3038,7 +3512,7 @@ func (x *QueueEvent_OfferingData) String() string { func (*QueueEvent_OfferingData) ProtoMessage() {} func (x *QueueEvent_OfferingData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[51] + mi := &file_cc_member_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3051,7 +3525,7 @@ func (x *QueueEvent_OfferingData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_OfferingData.ProtoReflect.Descriptor instead. func (*QueueEvent_OfferingData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 1} + return file_cc_member_proto_rawDescGZIP(), []int{28, 1} } func (x *QueueEvent_OfferingData) GetAgentId() int32 { @@ -3086,7 +3560,7 @@ type QueueEvent_MissedAgent struct { func (x *QueueEvent_MissedAgent) Reset() { *x = QueueEvent_MissedAgent{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[52] + mi := &file_cc_member_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3099,7 +3573,7 @@ func (x *QueueEvent_MissedAgent) String() string { func (*QueueEvent_MissedAgent) ProtoMessage() {} func (x *QueueEvent_MissedAgent) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[52] + mi := &file_cc_member_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3112,7 +3586,7 @@ func (x *QueueEvent_MissedAgent) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_MissedAgent.ProtoReflect.Descriptor instead. func (*QueueEvent_MissedAgent) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 2} + return file_cc_member_proto_rawDescGZIP(), []int{28, 2} } func (x *QueueEvent_MissedAgent) GetTimeout() int64 { @@ -3133,7 +3607,7 @@ type QueueEvent_BridgedData struct { func (x *QueueEvent_BridgedData) Reset() { *x = QueueEvent_BridgedData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[53] + mi := &file_cc_member_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3146,7 +3620,7 @@ func (x *QueueEvent_BridgedData) String() string { func (*QueueEvent_BridgedData) ProtoMessage() {} func (x *QueueEvent_BridgedData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[53] + mi := &file_cc_member_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3159,7 +3633,7 @@ func (x *QueueEvent_BridgedData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_BridgedData.ProtoReflect.Descriptor instead. func (*QueueEvent_BridgedData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 3} + return file_cc_member_proto_rawDescGZIP(), []int{28, 3} } func (x *QueueEvent_BridgedData) GetAgentId() int32 { @@ -3180,7 +3654,7 @@ type QueueEvent_LeavingData struct { func (x *QueueEvent_LeavingData) Reset() { *x = QueueEvent_LeavingData{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[54] + mi := &file_cc_member_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3193,7 +3667,7 @@ func (x *QueueEvent_LeavingData) String() string { func (*QueueEvent_LeavingData) ProtoMessage() {} func (x *QueueEvent_LeavingData) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[54] + mi := &file_cc_member_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3206,7 +3680,7 @@ func (x *QueueEvent_LeavingData) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueEvent_LeavingData.ProtoReflect.Descriptor instead. func (*QueueEvent_LeavingData) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{26, 4} + return file_cc_member_proto_rawDescGZIP(), []int{28, 4} } func (x *QueueEvent_LeavingData) GetResult() string { @@ -3228,7 +3702,7 @@ type ChatJoinToQueueRequest_Queue struct { func (x *ChatJoinToQueueRequest_Queue) Reset() { *x = ChatJoinToQueueRequest_Queue{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[55] + mi := &file_cc_member_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3241,7 +3715,7 @@ func (x *ChatJoinToQueueRequest_Queue) String() string { func (*ChatJoinToQueueRequest_Queue) ProtoMessage() {} func (x *ChatJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[55] + mi := &file_cc_member_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3254,7 +3728,7 @@ func (x *ChatJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. func (*ChatJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{29, 0} + return file_cc_member_proto_rawDescGZIP(), []int{31, 0} } func (x *ChatJoinToQueueRequest_Queue) GetId() int32 { @@ -3283,7 +3757,7 @@ type CallJoinToQueueRequest_Queue struct { func (x *CallJoinToQueueRequest_Queue) Reset() { *x = CallJoinToQueueRequest_Queue{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[57] + mi := &file_cc_member_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3296,7 +3770,7 @@ func (x *CallJoinToQueueRequest_Queue) String() string { func (*CallJoinToQueueRequest_Queue) ProtoMessage() {} func (x *CallJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[57] + mi := &file_cc_member_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3309,7 +3783,7 @@ func (x *CallJoinToQueueRequest_Queue) ProtoReflect() protoreflect.Message { // Deprecated: Use CallJoinToQueueRequest_Queue.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest_Queue) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34, 0} + return file_cc_member_proto_rawDescGZIP(), []int{36, 0} } func (x *CallJoinToQueueRequest_Queue) GetId() int32 { @@ -3339,7 +3813,7 @@ type CallJoinToQueueRequest_WaitingMusic struct { func (x *CallJoinToQueueRequest_WaitingMusic) Reset() { *x = CallJoinToQueueRequest_WaitingMusic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_member_proto_msgTypes[58] + mi := &file_cc_member_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3352,7 +3826,7 @@ func (x *CallJoinToQueueRequest_WaitingMusic) String() string { func (*CallJoinToQueueRequest_WaitingMusic) ProtoMessage() {} func (x *CallJoinToQueueRequest_WaitingMusic) ProtoReflect() protoreflect.Message { - mi := &file_cc_member_proto_msgTypes[58] + mi := &file_cc_member_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3365,7 +3839,7 @@ func (x *CallJoinToQueueRequest_WaitingMusic) ProtoReflect() protoreflect.Messag // Deprecated: Use CallJoinToQueueRequest_WaitingMusic.ProtoReflect.Descriptor instead. func (*CallJoinToQueueRequest_WaitingMusic) Descriptor() ([]byte, []int) { - return file_cc_member_proto_rawDescGZIP(), []int{34, 1} + return file_cc_member_proto_rawDescGZIP(), []int{36, 1} } func (x *CallJoinToQueueRequest_WaitingMusic) GetId() int32 { @@ -3394,592 +3868,668 @@ var File_cc_member_proto protoreflect.FileDescriptor var file_cc_member_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x63, 0x63, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x63, 0x63, 0x1a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, - 0x70, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, - 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x15, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x74, 0x6f, 0x22, 0xc0, 0x07, 0x0a, 0x14, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, + 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x73, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x75, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, + 0x1a, 0xf2, 0x01, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x35, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x31, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x36, 0x0a, 0x15, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0x52, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, + 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x70, 0x0a, 0x17, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, - 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x19, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, - 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, + 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, + 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x41, + 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, + 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, + 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x09, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x79, 0x6e, + 0x63, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, - 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x51, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, - 0x44, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 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, - 0x22, 0x21, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x32, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x53, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, - 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0x99, 0x05, - 0x0a, 0x16, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, - 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, - 0x64, 0x1a, 0xd7, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, - 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, - 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, - 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, - 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, - 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x05, 0x0a, 0x13, 0x4f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x1a, 0xfe, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, - 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, - 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, - 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, - 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x17, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, - 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, - 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, + 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x1a, 0x3d, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x50, 0x0a, 0x14, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0xba, 0x06, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, - 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, - 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x46, - 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xd7, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, - 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, - 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, - 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x12, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1f, + 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3d, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, + 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 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, 0x22, 0x21, 0x0a, 0x0f, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb7, + 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, + 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, + 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x6c, 0x6f, + 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x28, + 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0xb5, 0x05, 0x0a, 0x16, 0x54, 0x61, 0x73, + 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0xf3, 0x01, 0x0a, + 0x0a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, + 0x77, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, + 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, + 0x76, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xaf, 0x05, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x12, 0x44, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, + 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x1a, 0x9a, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x53, 0x65, + 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x25, 0x0a, 0x0e, + 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, - 0x0a, 0x1b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6e, - 0x65, 0x77, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x6e, 0x65, - 0x77, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, - 0x36, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, - 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x1a, 0x42, 0x0a, 0x0a, - 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, - 0x1a, 0x6c, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x27, - 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x28, 0x0a, 0x0b, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x1a, 0x25, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x3a, 0x0a, 0x19, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x16, 0x43, - 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, + 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x61, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x61, 0x76, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x17, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd6, 0x06, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, + 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, + 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x1a, 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xf3, 0x01, 0x0a, 0x0a, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x53, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x46, 0x6f, + 0x72, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, + 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, + 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, 0x76, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x61, 0x76, 0x65, 0x1a, + 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, 0x0a, + 0x1b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6e, 0x65, + 0x77, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x6e, 0x65, 0x77, + 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x36, 0x0a, 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, 0x36, + 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x6c, + 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x06, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x1a, 0x42, 0x0a, 0x0a, 0x4a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x1a, + 0x6c, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x27, 0x0a, + 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x28, 0x0a, 0x0b, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x1a, 0x25, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x3a, 0x0a, 0x19, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x03, 0x0a, 0x16, 0x43, 0x68, + 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, + 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, + 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, - 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, - 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, - 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, - 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, - 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, - 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, - 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, + 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x17, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, - 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x3c, - 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x17, - 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x99, 0x02, 0x0a, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x22, 0xc1, 0x05, 0x0a, 0x14, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x61, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x42, 0x0a, 0x1d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x12, - 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, - 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, - 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x12, 0x77, 0x61, 0x69, 0x74, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x2f, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x32, 0xca, 0x0a, 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, - 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, + 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x18, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9c, 0x01, + 0x0a, 0x1a, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x16, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x68, - 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, - 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, - 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, - 0x12, 0x43, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, - 0x12, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x4f, - 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x63, - 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, + 0x73, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, + 0x69, 0x63, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x49, 0x64, 0x1a, 0x2b, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, + 0x46, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x20, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x74, 0x6d, 0x66, 0x22, 0xc1, 0x05, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, + 0x45, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x1d, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x64, 0x69, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, + 0x65, 0x64, 0x69, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, + 0x69, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x42, 0x65, + 0x74, 0x77, 0x65, 0x65, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1a, + 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x92, 0x0b, 0x0a, 0x0d, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x41, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x2e, 0x63, + 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, + 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x2e, 0x63, 0x63, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, + 0x63, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x74, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x43, 0x0a, 0x0c, 0x4f, 0x75, 0x74, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x2e, 0x63, 0x63, 0x2e, 0x4f, + 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, + 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x63, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, + 0x63, 0x2e, 0x49, 0x4d, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x5e, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x63, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x58, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x19, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x63, - 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x63, 0x2e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x63, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, + 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x53, 0x61, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x08, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, - 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, - 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5d, 0x0a, - 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0d, 0x43, 0x63, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, - 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x08, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x63, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, + 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x63, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x65, 0x70, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5d, + 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0d, 0x43, 0x63, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, + 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3994,144 +4544,159 @@ func file_cc_member_proto_rawDescGZIP() []byte { return file_cc_member_proto_rawDescData } -var file_cc_member_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_cc_member_proto_msgTypes = make([]protoimpl.MessageInfo, 68) var file_cc_member_proto_goTypes = []interface{}{ - (*ResumeAttemptRequest)(nil), // 0: cc.ResumeAttemptRequest - (*ResumeAttemptResponse)(nil), // 1: cc.ResumeAttemptResponse - (*InterceptAttemptRequest)(nil), // 2: cc.InterceptAttemptRequest - (*InterceptAttemptResponse)(nil), // 3: cc.InterceptAttemptResponse - (*CancelAttemptRequest)(nil), // 4: cc.CancelAttemptRequest - (*CancelAttemptResponse)(nil), // 5: cc.CancelAttemptResponse - (*ProcessingFormActionRequest)(nil), // 6: cc.ProcessingFormActionRequest - (*ProcessingFormActionResponse)(nil), // 7: cc.ProcessingFormActionResponse - (*ProcessingFormSaveRequest)(nil), // 8: cc.ProcessingFormSaveRequest - (*ProcessingFormSaveResponse)(nil), // 9: cc.ProcessingFormSaveResponse - (*ProcessingComponentActionRequest)(nil), // 10: cc.ProcessingComponentActionRequest - (*ProcessingComponentActionResponse)(nil), // 11: cc.ProcessingComponentActionResponse - (*TransferRequest)(nil), // 12: cc.TransferRequest - (*TransferResponse)(nil), // 13: cc.TransferResponse - (*CancelAgentDistributeRequest)(nil), // 14: cc.CancelAgentDistributeRequest - (*CancelAgentDistributeResponse)(nil), // 15: cc.CancelAgentDistributeResponse - (*MemberCommunicationType)(nil), // 16: cc.MemberCommunicationType - (*MemberCommunication)(nil), // 17: cc.MemberCommunication - (*QueueFormSchema)(nil), // 18: cc.QueueFormSchema - (*ProcessingProlongation)(nil), // 19: cc.ProcessingProlongation - (*TaskJoinToAgentRequest)(nil), // 20: cc.TaskJoinToAgentRequest - (*OutboundCallRequest)(nil), // 21: cc.OutboundCallRequest - (*OutboundCallResponse)(nil), // 22: cc.OutboundCallResponse - (*CallJoinToAgentRequest)(nil), // 23: cc.CallJoinToAgentRequest - (*AttemptRenewalResultRequest)(nil), // 24: cc.AttemptRenewalResultRequest - (*AttemptRenewalResultResponse)(nil), // 25: cc.AttemptRenewalResultResponse - (*QueueEvent)(nil), // 26: cc.QueueEvent - (*AnswerConversationRequest)(nil), // 27: cc.AnswerConversationRequest - (*AnswerConversationResponse)(nil), // 28: cc.AnswerConversationResponse - (*ChatJoinToQueueRequest)(nil), // 29: cc.ChatJoinToQueueRequest - (*EmailJoinToQueueRequest)(nil), // 30: cc.EmailJoinToQueueRequest - (*EmailJoinToQueueResponse)(nil), // 31: cc.EmailJoinToQueueResponse - (*DirectAgentToMemberRequest)(nil), // 32: cc.DirectAgentToMemberRequest - (*DirectAgentToMemberResponse)(nil), // 33: cc.DirectAgentToMemberResponse - (*CallJoinToQueueRequest)(nil), // 34: cc.CallJoinToQueueRequest - (*CallJoinToQueueResponse)(nil), // 35: cc.CallJoinToQueueResponse - (*MemberCommunicationCreateRequest)(nil), // 36: cc.MemberCommunicationCreateRequest - (*AttemptResultRequest)(nil), // 37: cc.AttemptResultRequest - (*AttemptResultResponse)(nil), // 38: cc.AttemptResultResponse - nil, // 39: cc.ProcessingFormActionRequest.FieldsEntry - nil, // 40: cc.ProcessingFormSaveRequest.FieldsEntry - nil, // 41: cc.ProcessingComponentActionRequest.VariablesEntry - nil, // 42: cc.TransferRequest.FormFieldsEntry - (*TaskJoinToAgentRequest_Processing)(nil), // 43: cc.TaskJoinToAgentRequest.Processing - nil, // 44: cc.TaskJoinToAgentRequest.VariablesEntry - (*OutboundCallRequest_Processing)(nil), // 45: cc.OutboundCallRequest.Processing - nil, // 46: cc.OutboundCallRequest.VariablesEntry - (*CallJoinToAgentRequest_WaitingMusic)(nil), // 47: cc.CallJoinToAgentRequest.WaitingMusic - (*CallJoinToAgentRequest_Processing)(nil), // 48: cc.CallJoinToAgentRequest.Processing - nil, // 49: cc.CallJoinToAgentRequest.VariablesEntry - (*QueueEvent_JoinedData)(nil), // 50: cc.QueueEvent.JoinedData - (*QueueEvent_OfferingData)(nil), // 51: cc.QueueEvent.OfferingData - (*QueueEvent_MissedAgent)(nil), // 52: cc.QueueEvent.MissedAgent - (*QueueEvent_BridgedData)(nil), // 53: cc.QueueEvent.BridgedData - (*QueueEvent_LeavingData)(nil), // 54: cc.QueueEvent.LeavingData - (*ChatJoinToQueueRequest_Queue)(nil), // 55: cc.ChatJoinToQueueRequest.Queue - nil, // 56: cc.ChatJoinToQueueRequest.VariablesEntry - (*CallJoinToQueueRequest_Queue)(nil), // 57: cc.CallJoinToQueueRequest.Queue - (*CallJoinToQueueRequest_WaitingMusic)(nil), // 58: cc.CallJoinToQueueRequest.WaitingMusic - nil, // 59: cc.CallJoinToQueueRequest.VariablesEntry - nil, // 60: cc.AttemptResultRequest.VariablesEntry - (*engine.Lookup)(nil), // 61: engine.Lookup + (*IMJoinToQueueRequest)(nil), // 0: cc.IMJoinToQueueRequest + (*IMJoinToQueueResponse)(nil), // 1: cc.IMJoinToQueueResponse + (*ResumeAttemptRequest)(nil), // 2: cc.ResumeAttemptRequest + (*ResumeAttemptResponse)(nil), // 3: cc.ResumeAttemptResponse + (*InterceptAttemptRequest)(nil), // 4: cc.InterceptAttemptRequest + (*InterceptAttemptResponse)(nil), // 5: cc.InterceptAttemptResponse + (*CancelAttemptRequest)(nil), // 6: cc.CancelAttemptRequest + (*CancelAttemptResponse)(nil), // 7: cc.CancelAttemptResponse + (*ProcessingFormActionRequest)(nil), // 8: cc.ProcessingFormActionRequest + (*ProcessingFormActionResponse)(nil), // 9: cc.ProcessingFormActionResponse + (*ProcessingFormSaveRequest)(nil), // 10: cc.ProcessingFormSaveRequest + (*ProcessingFormSaveResponse)(nil), // 11: cc.ProcessingFormSaveResponse + (*ProcessingComponentActionRequest)(nil), // 12: cc.ProcessingComponentActionRequest + (*ProcessingComponentActionResponse)(nil), // 13: cc.ProcessingComponentActionResponse + (*TransferRequest)(nil), // 14: cc.TransferRequest + (*TransferResponse)(nil), // 15: cc.TransferResponse + (*CancelAgentDistributeRequest)(nil), // 16: cc.CancelAgentDistributeRequest + (*CancelAgentDistributeResponse)(nil), // 17: cc.CancelAgentDistributeResponse + (*MemberCommunicationType)(nil), // 18: cc.MemberCommunicationType + (*MemberCommunication)(nil), // 19: cc.MemberCommunication + (*QueueFormSchema)(nil), // 20: cc.QueueFormSchema + (*ProcessingProlongation)(nil), // 21: cc.ProcessingProlongation + (*TaskJoinToAgentRequest)(nil), // 22: cc.TaskJoinToAgentRequest + (*OutboundCallRequest)(nil), // 23: cc.OutboundCallRequest + (*OutboundCallResponse)(nil), // 24: cc.OutboundCallResponse + (*CallJoinToAgentRequest)(nil), // 25: cc.CallJoinToAgentRequest + (*AttemptRenewalResultRequest)(nil), // 26: cc.AttemptRenewalResultRequest + (*AttemptRenewalResultResponse)(nil), // 27: cc.AttemptRenewalResultResponse + (*QueueEvent)(nil), // 28: cc.QueueEvent + (*AnswerConversationRequest)(nil), // 29: cc.AnswerConversationRequest + (*AnswerConversationResponse)(nil), // 30: cc.AnswerConversationResponse + (*ChatJoinToQueueRequest)(nil), // 31: cc.ChatJoinToQueueRequest + (*EmailJoinToQueueRequest)(nil), // 32: cc.EmailJoinToQueueRequest + (*EmailJoinToQueueResponse)(nil), // 33: cc.EmailJoinToQueueResponse + (*DirectAgentToMemberRequest)(nil), // 34: cc.DirectAgentToMemberRequest + (*DirectAgentToMemberResponse)(nil), // 35: cc.DirectAgentToMemberResponse + (*CallJoinToQueueRequest)(nil), // 36: cc.CallJoinToQueueRequest + (*CallJoinToQueueResponse)(nil), // 37: cc.CallJoinToQueueResponse + (*MemberCommunicationCreateRequest)(nil), // 38: cc.MemberCommunicationCreateRequest + (*AttemptResultRequest)(nil), // 39: cc.AttemptResultRequest + (*AttemptResultResponse)(nil), // 40: cc.AttemptResultResponse + (*IMJoinToQueueRequest_Queue)(nil), // 41: cc.IMJoinToQueueRequest.Queue + nil, // 42: cc.IMJoinToQueueRequest.VariablesEntry + (*IMJoinToQueueRequest_Endpoint)(nil), // 43: cc.IMJoinToQueueRequest.Endpoint + (*IMJoinToQueueRequest_MemberInfo)(nil), // 44: cc.IMJoinToQueueRequest.MemberInfo + (*IMJoinToQueueRequest_ThreadInfo)(nil), // 45: cc.IMJoinToQueueRequest.ThreadInfo + nil, // 46: cc.ProcessingFormActionRequest.FieldsEntry + nil, // 47: cc.ProcessingFormSaveRequest.FieldsEntry + nil, // 48: cc.ProcessingComponentActionRequest.VariablesEntry + nil, // 49: cc.TransferRequest.FormFieldsEntry + (*TaskJoinToAgentRequest_Processing)(nil), // 50: cc.TaskJoinToAgentRequest.Processing + nil, // 51: cc.TaskJoinToAgentRequest.VariablesEntry + (*OutboundCallRequest_Processing)(nil), // 52: cc.OutboundCallRequest.Processing + nil, // 53: cc.OutboundCallRequest.VariablesEntry + (*CallJoinToAgentRequest_WaitingMusic)(nil), // 54: cc.CallJoinToAgentRequest.WaitingMusic + (*CallJoinToAgentRequest_Processing)(nil), // 55: cc.CallJoinToAgentRequest.Processing + nil, // 56: cc.CallJoinToAgentRequest.VariablesEntry + (*QueueEvent_JoinedData)(nil), // 57: cc.QueueEvent.JoinedData + (*QueueEvent_OfferingData)(nil), // 58: cc.QueueEvent.OfferingData + (*QueueEvent_MissedAgent)(nil), // 59: cc.QueueEvent.MissedAgent + (*QueueEvent_BridgedData)(nil), // 60: cc.QueueEvent.BridgedData + (*QueueEvent_LeavingData)(nil), // 61: cc.QueueEvent.LeavingData + (*ChatJoinToQueueRequest_Queue)(nil), // 62: cc.ChatJoinToQueueRequest.Queue + nil, // 63: cc.ChatJoinToQueueRequest.VariablesEntry + (*CallJoinToQueueRequest_Queue)(nil), // 64: cc.CallJoinToQueueRequest.Queue + (*CallJoinToQueueRequest_WaitingMusic)(nil), // 65: cc.CallJoinToQueueRequest.WaitingMusic + nil, // 66: cc.CallJoinToQueueRequest.VariablesEntry + nil, // 67: cc.AttemptResultRequest.VariablesEntry + (*engine.Lookup)(nil), // 68: engine.Lookup } var file_cc_member_proto_depIdxs = []int32{ - 39, // 0: cc.ProcessingFormActionRequest.fields:type_name -> cc.ProcessingFormActionRequest.FieldsEntry - 40, // 1: cc.ProcessingFormSaveRequest.fields:type_name -> cc.ProcessingFormSaveRequest.FieldsEntry - 41, // 2: cc.ProcessingComponentActionRequest.variables:type_name -> cc.ProcessingComponentActionRequest.VariablesEntry - 42, // 3: cc.TransferRequest.form_fields:type_name -> cc.TransferRequest.FormFieldsEntry - 16, // 4: cc.MemberCommunication.type:type_name -> cc.MemberCommunicationType - 44, // 5: cc.TaskJoinToAgentRequest.variables:type_name -> cc.TaskJoinToAgentRequest.VariablesEntry - 43, // 6: cc.TaskJoinToAgentRequest.processing:type_name -> cc.TaskJoinToAgentRequest.Processing - 17, // 7: cc.TaskJoinToAgentRequest.destination:type_name -> cc.MemberCommunication - 46, // 8: cc.OutboundCallRequest.variables:type_name -> cc.OutboundCallRequest.VariablesEntry - 45, // 9: cc.OutboundCallRequest.processing:type_name -> cc.OutboundCallRequest.Processing - 47, // 10: cc.CallJoinToAgentRequest.waitingMusic:type_name -> cc.CallJoinToAgentRequest.WaitingMusic - 49, // 11: cc.CallJoinToAgentRequest.variables:type_name -> cc.CallJoinToAgentRequest.VariablesEntry - 48, // 12: cc.CallJoinToAgentRequest.processing:type_name -> cc.CallJoinToAgentRequest.Processing - 51, // 13: cc.QueueEvent.offering:type_name -> cc.QueueEvent.OfferingData - 53, // 14: cc.QueueEvent.bridged:type_name -> cc.QueueEvent.BridgedData - 52, // 15: cc.QueueEvent.missed:type_name -> cc.QueueEvent.MissedAgent - 54, // 16: cc.QueueEvent.leaving:type_name -> cc.QueueEvent.LeavingData - 50, // 17: cc.QueueEvent.joined:type_name -> cc.QueueEvent.JoinedData - 55, // 18: cc.ChatJoinToQueueRequest.queue:type_name -> cc.ChatJoinToQueueRequest.Queue - 56, // 19: cc.ChatJoinToQueueRequest.variables:type_name -> cc.ChatJoinToQueueRequest.VariablesEntry - 57, // 20: cc.CallJoinToQueueRequest.queue:type_name -> cc.CallJoinToQueueRequest.Queue - 58, // 21: cc.CallJoinToQueueRequest.waitingMusic:type_name -> cc.CallJoinToQueueRequest.WaitingMusic - 59, // 22: cc.CallJoinToQueueRequest.variables:type_name -> cc.CallJoinToQueueRequest.VariablesEntry - 61, // 23: cc.MemberCommunicationCreateRequest.type:type_name -> engine.Lookup - 61, // 24: cc.MemberCommunicationCreateRequest.resource:type_name -> engine.Lookup - 60, // 25: cc.AttemptResultRequest.variables:type_name -> cc.AttemptResultRequest.VariablesEntry - 36, // 26: cc.AttemptResultRequest.add_communications:type_name -> cc.MemberCommunicationCreateRequest - 18, // 27: cc.TaskJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 28: cc.TaskJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 18, // 29: cc.OutboundCallRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 30: cc.OutboundCallRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 18, // 31: cc.CallJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema - 19, // 32: cc.CallJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation - 37, // 33: cc.MemberService.AttemptResult:input_type -> cc.AttemptResultRequest - 24, // 34: cc.MemberService.AttemptRenewalResult:input_type -> cc.AttemptRenewalResultRequest - 34, // 35: cc.MemberService.CallJoinToQueue:input_type -> cc.CallJoinToQueueRequest - 29, // 36: cc.MemberService.ChatJoinToQueue:input_type -> cc.ChatJoinToQueueRequest - 23, // 37: cc.MemberService.CallJoinToAgent:input_type -> cc.CallJoinToAgentRequest - 21, // 38: cc.MemberService.OutboundCall:input_type -> cc.OutboundCallRequest - 20, // 39: cc.MemberService.TaskJoinToAgent:input_type -> cc.TaskJoinToAgentRequest - 4, // 40: cc.MemberService.CancelAttempt:input_type -> cc.CancelAttemptRequest - 14, // 41: cc.MemberService.CancelAgentDistribute:input_type -> cc.CancelAgentDistributeRequest - 30, // 42: cc.MemberService.EmailJoinToQueue:input_type -> cc.EmailJoinToQueueRequest - 32, // 43: cc.MemberService.DirectAgentToMember:input_type -> cc.DirectAgentToMemberRequest - 6, // 44: cc.MemberService.ProcessingFormAction:input_type -> cc.ProcessingFormActionRequest - 10, // 45: cc.MemberService.ProcessingComponentAction:input_type -> cc.ProcessingComponentActionRequest - 8, // 46: cc.MemberService.ProcessingFormSave:input_type -> cc.ProcessingFormSaveRequest - 12, // 47: cc.MemberService.Transfer:input_type -> cc.TransferRequest - 2, // 48: cc.MemberService.InterceptAttempt:input_type -> cc.InterceptAttemptRequest - 0, // 49: cc.MemberService.ResumeAttempt:input_type -> cc.ResumeAttemptRequest - 38, // 50: cc.MemberService.AttemptResult:output_type -> cc.AttemptResultResponse - 25, // 51: cc.MemberService.AttemptRenewalResult:output_type -> cc.AttemptRenewalResultResponse - 26, // 52: cc.MemberService.CallJoinToQueue:output_type -> cc.QueueEvent - 26, // 53: cc.MemberService.ChatJoinToQueue:output_type -> cc.QueueEvent - 26, // 54: cc.MemberService.CallJoinToAgent:output_type -> cc.QueueEvent - 22, // 55: cc.MemberService.OutboundCall:output_type -> cc.OutboundCallResponse - 26, // 56: cc.MemberService.TaskJoinToAgent:output_type -> cc.QueueEvent - 5, // 57: cc.MemberService.CancelAttempt:output_type -> cc.CancelAttemptResponse - 15, // 58: cc.MemberService.CancelAgentDistribute:output_type -> cc.CancelAgentDistributeResponse - 31, // 59: cc.MemberService.EmailJoinToQueue:output_type -> cc.EmailJoinToQueueResponse - 33, // 60: cc.MemberService.DirectAgentToMember:output_type -> cc.DirectAgentToMemberResponse - 7, // 61: cc.MemberService.ProcessingFormAction:output_type -> cc.ProcessingFormActionResponse - 11, // 62: cc.MemberService.ProcessingComponentAction:output_type -> cc.ProcessingComponentActionResponse - 9, // 63: cc.MemberService.ProcessingFormSave:output_type -> cc.ProcessingFormSaveResponse - 13, // 64: cc.MemberService.Transfer:output_type -> cc.TransferResponse - 3, // 65: cc.MemberService.InterceptAttempt:output_type -> cc.InterceptAttemptResponse - 1, // 66: cc.MemberService.ResumeAttempt:output_type -> cc.ResumeAttemptResponse - 50, // [50:67] is the sub-list for method output_type - 33, // [33:50] is the sub-list for method input_type - 33, // [33:33] is the sub-list for extension type_name - 33, // [33:33] is the sub-list for extension extendee - 0, // [0:33] is the sub-list for field type_name + 41, // 0: cc.IMJoinToQueueRequest.queue:type_name -> cc.IMJoinToQueueRequest.Queue + 42, // 1: cc.IMJoinToQueueRequest.variables:type_name -> cc.IMJoinToQueueRequest.VariablesEntry + 45, // 2: cc.IMJoinToQueueRequest.thread:type_name -> cc.IMJoinToQueueRequest.ThreadInfo + 46, // 3: cc.ProcessingFormActionRequest.fields:type_name -> cc.ProcessingFormActionRequest.FieldsEntry + 47, // 4: cc.ProcessingFormSaveRequest.fields:type_name -> cc.ProcessingFormSaveRequest.FieldsEntry + 48, // 5: cc.ProcessingComponentActionRequest.variables:type_name -> cc.ProcessingComponentActionRequest.VariablesEntry + 49, // 6: cc.TransferRequest.form_fields:type_name -> cc.TransferRequest.FormFieldsEntry + 18, // 7: cc.MemberCommunication.type:type_name -> cc.MemberCommunicationType + 51, // 8: cc.TaskJoinToAgentRequest.variables:type_name -> cc.TaskJoinToAgentRequest.VariablesEntry + 50, // 9: cc.TaskJoinToAgentRequest.processing:type_name -> cc.TaskJoinToAgentRequest.Processing + 19, // 10: cc.TaskJoinToAgentRequest.destination:type_name -> cc.MemberCommunication + 53, // 11: cc.OutboundCallRequest.variables:type_name -> cc.OutboundCallRequest.VariablesEntry + 52, // 12: cc.OutboundCallRequest.processing:type_name -> cc.OutboundCallRequest.Processing + 54, // 13: cc.CallJoinToAgentRequest.waitingMusic:type_name -> cc.CallJoinToAgentRequest.WaitingMusic + 56, // 14: cc.CallJoinToAgentRequest.variables:type_name -> cc.CallJoinToAgentRequest.VariablesEntry + 55, // 15: cc.CallJoinToAgentRequest.processing:type_name -> cc.CallJoinToAgentRequest.Processing + 58, // 16: cc.QueueEvent.offering:type_name -> cc.QueueEvent.OfferingData + 60, // 17: cc.QueueEvent.bridged:type_name -> cc.QueueEvent.BridgedData + 59, // 18: cc.QueueEvent.missed:type_name -> cc.QueueEvent.MissedAgent + 61, // 19: cc.QueueEvent.leaving:type_name -> cc.QueueEvent.LeavingData + 57, // 20: cc.QueueEvent.joined:type_name -> cc.QueueEvent.JoinedData + 62, // 21: cc.ChatJoinToQueueRequest.queue:type_name -> cc.ChatJoinToQueueRequest.Queue + 63, // 22: cc.ChatJoinToQueueRequest.variables:type_name -> cc.ChatJoinToQueueRequest.VariablesEntry + 64, // 23: cc.CallJoinToQueueRequest.queue:type_name -> cc.CallJoinToQueueRequest.Queue + 65, // 24: cc.CallJoinToQueueRequest.waitingMusic:type_name -> cc.CallJoinToQueueRequest.WaitingMusic + 66, // 25: cc.CallJoinToQueueRequest.variables:type_name -> cc.CallJoinToQueueRequest.VariablesEntry + 68, // 26: cc.MemberCommunicationCreateRequest.type:type_name -> engine.Lookup + 68, // 27: cc.MemberCommunicationCreateRequest.resource:type_name -> engine.Lookup + 67, // 28: cc.AttemptResultRequest.variables:type_name -> cc.AttemptResultRequest.VariablesEntry + 38, // 29: cc.AttemptResultRequest.add_communications:type_name -> cc.MemberCommunicationCreateRequest + 43, // 30: cc.IMJoinToQueueRequest.ThreadInfo.from:type_name -> cc.IMJoinToQueueRequest.Endpoint + 43, // 31: cc.IMJoinToQueueRequest.ThreadInfo.to:type_name -> cc.IMJoinToQueueRequest.Endpoint + 44, // 32: cc.IMJoinToQueueRequest.ThreadInfo.members:type_name -> cc.IMJoinToQueueRequest.MemberInfo + 20, // 33: cc.TaskJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 34: cc.TaskJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 20, // 35: cc.OutboundCallRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 36: cc.OutboundCallRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 20, // 37: cc.CallJoinToAgentRequest.Processing.form:type_name -> cc.QueueFormSchema + 21, // 38: cc.CallJoinToAgentRequest.Processing.processing_prolongation:type_name -> cc.ProcessingProlongation + 39, // 39: cc.MemberService.AttemptResult:input_type -> cc.AttemptResultRequest + 26, // 40: cc.MemberService.AttemptRenewalResult:input_type -> cc.AttemptRenewalResultRequest + 36, // 41: cc.MemberService.CallJoinToQueue:input_type -> cc.CallJoinToQueueRequest + 31, // 42: cc.MemberService.ChatJoinToQueue:input_type -> cc.ChatJoinToQueueRequest + 25, // 43: cc.MemberService.CallJoinToAgent:input_type -> cc.CallJoinToAgentRequest + 23, // 44: cc.MemberService.OutboundCall:input_type -> cc.OutboundCallRequest + 22, // 45: cc.MemberService.TaskJoinToAgent:input_type -> cc.TaskJoinToAgentRequest + 0, // 46: cc.MemberService.IMJoinToQueue:input_type -> cc.IMJoinToQueueRequest + 6, // 47: cc.MemberService.CancelAttempt:input_type -> cc.CancelAttemptRequest + 16, // 48: cc.MemberService.CancelAgentDistribute:input_type -> cc.CancelAgentDistributeRequest + 32, // 49: cc.MemberService.EmailJoinToQueue:input_type -> cc.EmailJoinToQueueRequest + 34, // 50: cc.MemberService.DirectAgentToMember:input_type -> cc.DirectAgentToMemberRequest + 8, // 51: cc.MemberService.ProcessingFormAction:input_type -> cc.ProcessingFormActionRequest + 12, // 52: cc.MemberService.ProcessingComponentAction:input_type -> cc.ProcessingComponentActionRequest + 10, // 53: cc.MemberService.ProcessingFormSave:input_type -> cc.ProcessingFormSaveRequest + 14, // 54: cc.MemberService.Transfer:input_type -> cc.TransferRequest + 4, // 55: cc.MemberService.InterceptAttempt:input_type -> cc.InterceptAttemptRequest + 2, // 56: cc.MemberService.ResumeAttempt:input_type -> cc.ResumeAttemptRequest + 40, // 57: cc.MemberService.AttemptResult:output_type -> cc.AttemptResultResponse + 27, // 58: cc.MemberService.AttemptRenewalResult:output_type -> cc.AttemptRenewalResultResponse + 28, // 59: cc.MemberService.CallJoinToQueue:output_type -> cc.QueueEvent + 28, // 60: cc.MemberService.ChatJoinToQueue:output_type -> cc.QueueEvent + 28, // 61: cc.MemberService.CallJoinToAgent:output_type -> cc.QueueEvent + 24, // 62: cc.MemberService.OutboundCall:output_type -> cc.OutboundCallResponse + 28, // 63: cc.MemberService.TaskJoinToAgent:output_type -> cc.QueueEvent + 1, // 64: cc.MemberService.IMJoinToQueue:output_type -> cc.IMJoinToQueueResponse + 7, // 65: cc.MemberService.CancelAttempt:output_type -> cc.CancelAttemptResponse + 17, // 66: cc.MemberService.CancelAgentDistribute:output_type -> cc.CancelAgentDistributeResponse + 33, // 67: cc.MemberService.EmailJoinToQueue:output_type -> cc.EmailJoinToQueueResponse + 35, // 68: cc.MemberService.DirectAgentToMember:output_type -> cc.DirectAgentToMemberResponse + 9, // 69: cc.MemberService.ProcessingFormAction:output_type -> cc.ProcessingFormActionResponse + 13, // 70: cc.MemberService.ProcessingComponentAction:output_type -> cc.ProcessingComponentActionResponse + 11, // 71: cc.MemberService.ProcessingFormSave:output_type -> cc.ProcessingFormSaveResponse + 15, // 72: cc.MemberService.Transfer:output_type -> cc.TransferResponse + 5, // 73: cc.MemberService.InterceptAttempt:output_type -> cc.InterceptAttemptResponse + 3, // 74: cc.MemberService.ResumeAttempt:output_type -> cc.ResumeAttemptResponse + 57, // [57:75] is the sub-list for method output_type + 39, // [39:57] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_cc_member_proto_init() } @@ -4141,7 +4706,7 @@ func file_cc_member_proto_init() { } if !protoimpl.UnsafeEnabled { file_cc_member_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeAttemptRequest); i { + switch v := v.(*IMJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4153,7 +4718,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeAttemptResponse); i { + switch v := v.(*IMJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4165,7 +4730,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterceptAttemptRequest); i { + switch v := v.(*ResumeAttemptRequest); i { case 0: return &v.state case 1: @@ -4177,7 +4742,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterceptAttemptResponse); i { + switch v := v.(*ResumeAttemptResponse); i { case 0: return &v.state case 1: @@ -4189,7 +4754,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAttemptRequest); i { + switch v := v.(*InterceptAttemptRequest); i { case 0: return &v.state case 1: @@ -4201,7 +4766,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAttemptResponse); i { + switch v := v.(*InterceptAttemptResponse); i { case 0: return &v.state case 1: @@ -4213,7 +4778,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormActionRequest); i { + switch v := v.(*CancelAttemptRequest); i { case 0: return &v.state case 1: @@ -4225,7 +4790,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormActionResponse); i { + switch v := v.(*CancelAttemptResponse); i { case 0: return &v.state case 1: @@ -4237,7 +4802,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormSaveRequest); i { + switch v := v.(*ProcessingFormActionRequest); i { case 0: return &v.state case 1: @@ -4249,7 +4814,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingFormSaveResponse); i { + switch v := v.(*ProcessingFormActionResponse); i { case 0: return &v.state case 1: @@ -4261,7 +4826,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingComponentActionRequest); i { + switch v := v.(*ProcessingFormSaveRequest); i { case 0: return &v.state case 1: @@ -4273,7 +4838,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingComponentActionResponse); i { + switch v := v.(*ProcessingFormSaveResponse); i { case 0: return &v.state case 1: @@ -4285,7 +4850,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferRequest); i { + switch v := v.(*ProcessingComponentActionRequest); i { case 0: return &v.state case 1: @@ -4297,7 +4862,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferResponse); i { + switch v := v.(*ProcessingComponentActionResponse); i { case 0: return &v.state case 1: @@ -4309,7 +4874,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAgentDistributeRequest); i { + switch v := v.(*TransferRequest); i { case 0: return &v.state case 1: @@ -4321,7 +4886,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAgentDistributeResponse); i { + switch v := v.(*TransferResponse); i { case 0: return &v.state case 1: @@ -4333,7 +4898,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunicationType); i { + switch v := v.(*CancelAgentDistributeRequest); i { case 0: return &v.state case 1: @@ -4345,7 +4910,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunication); i { + switch v := v.(*CancelAgentDistributeResponse); i { case 0: return &v.state case 1: @@ -4357,7 +4922,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueFormSchema); i { + switch v := v.(*MemberCommunicationType); i { case 0: return &v.state case 1: @@ -4369,7 +4934,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessingProlongation); i { + switch v := v.(*MemberCommunication); i { case 0: return &v.state case 1: @@ -4381,7 +4946,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskJoinToAgentRequest); i { + switch v := v.(*QueueFormSchema); i { case 0: return &v.state case 1: @@ -4393,7 +4958,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutboundCallRequest); i { + switch v := v.(*ProcessingProlongation); i { case 0: return &v.state case 1: @@ -4405,7 +4970,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutboundCallResponse); i { + switch v := v.(*TaskJoinToAgentRequest); i { case 0: return &v.state case 1: @@ -4417,7 +4982,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToAgentRequest); i { + switch v := v.(*OutboundCallRequest); i { case 0: return &v.state case 1: @@ -4429,7 +4994,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptRenewalResultRequest); i { + switch v := v.(*OutboundCallResponse); i { case 0: return &v.state case 1: @@ -4441,7 +5006,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptRenewalResultResponse); i { + switch v := v.(*CallJoinToAgentRequest); i { case 0: return &v.state case 1: @@ -4453,7 +5018,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueEvent); i { + switch v := v.(*AttemptRenewalResultRequest); i { case 0: return &v.state case 1: @@ -4465,7 +5030,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerConversationRequest); i { + switch v := v.(*AttemptRenewalResultResponse); i { case 0: return &v.state case 1: @@ -4477,7 +5042,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnswerConversationResponse); i { + switch v := v.(*QueueEvent); i { case 0: return &v.state case 1: @@ -4489,7 +5054,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatJoinToQueueRequest); i { + switch v := v.(*AnswerConversationRequest); i { case 0: return &v.state case 1: @@ -4501,7 +5066,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmailJoinToQueueRequest); i { + switch v := v.(*AnswerConversationResponse); i { case 0: return &v.state case 1: @@ -4513,7 +5078,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmailJoinToQueueResponse); i { + switch v := v.(*ChatJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4525,7 +5090,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DirectAgentToMemberRequest); i { + switch v := v.(*EmailJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4537,7 +5102,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DirectAgentToMemberResponse); i { + switch v := v.(*EmailJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4549,7 +5114,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToQueueRequest); i { + switch v := v.(*DirectAgentToMemberRequest); i { case 0: return &v.state case 1: @@ -4561,7 +5126,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallJoinToQueueResponse); i { + switch v := v.(*DirectAgentToMemberResponse); i { case 0: return &v.state case 1: @@ -4573,7 +5138,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemberCommunicationCreateRequest); i { + switch v := v.(*CallJoinToQueueRequest); i { case 0: return &v.state case 1: @@ -4585,7 +5150,7 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttemptResultRequest); i { + switch v := v.(*CallJoinToQueueResponse); i { case 0: return &v.state case 1: @@ -4597,6 +5162,30 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MemberCommunicationCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttemptResultRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AttemptResultResponse); i { case 0: return &v.state @@ -4608,8 +5197,32 @@ func file_cc_member_proto_init() { return nil } } + file_cc_member_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_Queue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_cc_member_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskJoinToAgentRequest_Processing); i { + switch v := v.(*IMJoinToQueueRequest_Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_MemberInfo); i { case 0: return &v.state case 1: @@ -4621,6 +5234,30 @@ func file_cc_member_proto_init() { } } file_cc_member_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IMJoinToQueueRequest_ThreadInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskJoinToAgentRequest_Processing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_member_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutboundCallRequest_Processing); i { case 0: return &v.state @@ -4632,7 +5269,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToAgentRequest_WaitingMusic); i { case 0: return &v.state @@ -4644,7 +5281,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToAgentRequest_Processing); i { case 0: return &v.state @@ -4656,7 +5293,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_JoinedData); i { case 0: return &v.state @@ -4668,7 +5305,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_OfferingData); i { case 0: return &v.state @@ -4680,7 +5317,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_MissedAgent); i { case 0: return &v.state @@ -4692,7 +5329,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_BridgedData); i { case 0: return &v.state @@ -4704,7 +5341,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueEvent_LeavingData); i { case 0: return &v.state @@ -4716,7 +5353,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatJoinToQueueRequest_Queue); i { case 0: return &v.state @@ -4728,7 +5365,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToQueueRequest_Queue); i { case 0: return &v.state @@ -4740,7 +5377,7 @@ func file_cc_member_proto_init() { return nil } } - file_cc_member_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_cc_member_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallJoinToQueueRequest_WaitingMusic); i { case 0: return &v.state @@ -4753,7 +5390,7 @@ func file_cc_member_proto_init() { } } } - file_cc_member_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_cc_member_proto_msgTypes[28].OneofWrappers = []interface{}{ (*QueueEvent_Offering)(nil), (*QueueEvent_Bridged)(nil), (*QueueEvent_Missed)(nil), @@ -4766,7 +5403,7 @@ func file_cc_member_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_member_proto_rawDesc, NumEnums: 0, - NumMessages: 61, + NumMessages: 68, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/cc/cc_member_grpc.pb.go b/gen/cc/cc_member_grpc.pb.go index be62268f..fb397915 100644 --- a/gen/cc/cc_member_grpc.pb.go +++ b/gen/cc/cc_member_grpc.pb.go @@ -26,6 +26,7 @@ const ( MemberService_CallJoinToAgent_FullMethodName = "/cc.MemberService/CallJoinToAgent" MemberService_OutboundCall_FullMethodName = "/cc.MemberService/OutboundCall" MemberService_TaskJoinToAgent_FullMethodName = "/cc.MemberService/TaskJoinToAgent" + MemberService_IMJoinToQueue_FullMethodName = "/cc.MemberService/IMJoinToQueue" MemberService_CancelAttempt_FullMethodName = "/cc.MemberService/CancelAttempt" MemberService_CancelAgentDistribute_FullMethodName = "/cc.MemberService/CancelAgentDistribute" MemberService_EmailJoinToQueue_FullMethodName = "/cc.MemberService/EmailJoinToQueue" @@ -49,6 +50,7 @@ type MemberServiceClient interface { CallJoinToAgent(ctx context.Context, in *CallJoinToAgentRequest, opts ...grpc.CallOption) (MemberService_CallJoinToAgentClient, error) OutboundCall(ctx context.Context, in *OutboundCallRequest, opts ...grpc.CallOption) (*OutboundCallResponse, error) TaskJoinToAgent(ctx context.Context, in *TaskJoinToAgentRequest, opts ...grpc.CallOption) (MemberService_TaskJoinToAgentClient, error) + IMJoinToQueue(ctx context.Context, in *IMJoinToQueueRequest, opts ...grpc.CallOption) (*IMJoinToQueueResponse, error) CancelAttempt(ctx context.Context, in *CancelAttemptRequest, opts ...grpc.CallOption) (*CancelAttemptResponse, error) CancelAgentDistribute(ctx context.Context, in *CancelAgentDistributeRequest, opts ...grpc.CallOption) (*CancelAgentDistributeResponse, error) EmailJoinToQueue(ctx context.Context, in *EmailJoinToQueueRequest, opts ...grpc.CallOption) (*EmailJoinToQueueResponse, error) @@ -224,6 +226,15 @@ func (x *memberServiceTaskJoinToAgentClient) Recv() (*QueueEvent, error) { return m, nil } +func (c *memberServiceClient) IMJoinToQueue(ctx context.Context, in *IMJoinToQueueRequest, opts ...grpc.CallOption) (*IMJoinToQueueResponse, error) { + out := new(IMJoinToQueueResponse) + err := c.cc.Invoke(ctx, MemberService_IMJoinToQueue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *memberServiceClient) CancelAttempt(ctx context.Context, in *CancelAttemptRequest, opts ...grpc.CallOption) (*CancelAttemptResponse, error) { out := new(CancelAttemptResponse) err := c.cc.Invoke(ctx, MemberService_CancelAttempt_FullMethodName, in, out, opts...) @@ -325,6 +336,7 @@ type MemberServiceServer interface { CallJoinToAgent(*CallJoinToAgentRequest, MemberService_CallJoinToAgentServer) error OutboundCall(context.Context, *OutboundCallRequest) (*OutboundCallResponse, error) TaskJoinToAgent(*TaskJoinToAgentRequest, MemberService_TaskJoinToAgentServer) error + IMJoinToQueue(context.Context, *IMJoinToQueueRequest) (*IMJoinToQueueResponse, error) CancelAttempt(context.Context, *CancelAttemptRequest) (*CancelAttemptResponse, error) CancelAgentDistribute(context.Context, *CancelAgentDistributeRequest) (*CancelAgentDistributeResponse, error) EmailJoinToQueue(context.Context, *EmailJoinToQueueRequest) (*EmailJoinToQueueResponse, error) @@ -363,6 +375,9 @@ func (UnimplementedMemberServiceServer) OutboundCall(context.Context, *OutboundC func (UnimplementedMemberServiceServer) TaskJoinToAgent(*TaskJoinToAgentRequest, MemberService_TaskJoinToAgentServer) error { return status.Errorf(codes.Unimplemented, "method TaskJoinToAgent not implemented") } +func (UnimplementedMemberServiceServer) IMJoinToQueue(context.Context, *IMJoinToQueueRequest) (*IMJoinToQueueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method IMJoinToQueue not implemented") +} func (UnimplementedMemberServiceServer) CancelAttempt(context.Context, *CancelAttemptRequest) (*CancelAttemptResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CancelAttempt not implemented") } @@ -544,6 +559,24 @@ func (x *memberServiceTaskJoinToAgentServer) Send(m *QueueEvent) error { return x.ServerStream.SendMsg(m) } +func _MemberService_IMJoinToQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IMJoinToQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MemberServiceServer).IMJoinToQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MemberService_IMJoinToQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MemberServiceServer).IMJoinToQueue(ctx, req.(*IMJoinToQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _MemberService_CancelAttempt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CancelAttemptRequest) if err := dec(in); err != nil { @@ -743,6 +776,10 @@ var MemberService_ServiceDesc = grpc.ServiceDesc{ MethodName: "OutboundCall", Handler: _MemberService_OutboundCall_Handler, }, + { + MethodName: "IMJoinToQueue", + Handler: _MemberService_IMJoinToQueue_Handler, + }, { MethodName: "CancelAttempt", Handler: _MemberService_CancelAttempt_Handler, diff --git a/gen/engine/agent.pb.go b/gen/engine/agent.pb.go index eb425d4d..15abc961 100644 --- a/gen/engine/agent.pb.go +++ b/gen/engine/agent.pb.go @@ -3946,6 +3946,7 @@ type AgentStatusRequest struct { Payload string `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` DomainId int64 `protobuf:"varint,6,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` StatusComment string `protobuf:"bytes,7,opt,name=status_comment,json=statusComment,proto3" json:"status_comment,omitempty"` + StatusPreset *Lookup `protobuf:"bytes,8,opt,name=status_preset,json=statusPreset,proto3" json:"status_preset,omitempty"` } func (x *AgentStatusRequest) Reset() { @@ -4029,6 +4030,13 @@ func (x *AgentStatusRequest) GetStatusComment() string { return "" } +func (x *AgentStatusRequest) GetStatusPreset() *Lookup { + if x != nil { + return x.StatusPreset + } + return nil +} + type AgentChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5315,7 +5323,7 @@ var file_agent_proto_rawDesc = []byte{ 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x74, 0x79, 0x22, 0x88, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, @@ -5328,244 +5336,247 @@ var file_agent_proto_rawDesc = []byte{ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x75, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, - 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, - 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x0a, - 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, - 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, - 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x74, 0x53, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x4c, 0x0a, 0x14, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x68, 0x61, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x09, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x1e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x59, 0x0a, - 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x1b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, - 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, - 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, - 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5a, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, - 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, + 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x75, 0x0a, + 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x22, 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, + 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, + 0x72, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, + 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, + 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x53, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, + 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, + 0x09, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, + 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0x5a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, + 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, + 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x26, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, - 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, - 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x8c, - 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x76, 0x0a, - 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x26, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, + 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x76, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, + 0x61, 0x6d, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x21, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, - 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, - 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x27, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, - 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, - 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0xa9, 0x01, 0x0a, - 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x2b, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x38, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x14, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, - 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, + 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, - 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, + 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, + 0x0a, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x2f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, - 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2e, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, - 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, - 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, 0x5a, 0x20, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, + 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x93, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, + 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, + 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, + 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5691,64 +5702,65 @@ var file_agent_proto_depIdxs = []int32{ 50, // 51: engine.SkillAgent.skill:type_name -> engine.Lookup 50, // 52: engine.SkillAgent.agent:type_name -> engine.Lookup 51, // 53: engine.SkillAgent.capacity:type_name -> google.protobuf.Int32Value - 50, // 54: engine.Agent.user:type_name -> engine.Lookup - 42, // 55: engine.Agent.channel:type_name -> engine.AgentChannel - 50, // 56: engine.Agent.greeting_media:type_name -> engine.Lookup - 50, // 57: engine.Agent.supervisor:type_name -> engine.Lookup - 50, // 58: engine.Agent.team:type_name -> engine.Lookup - 50, // 59: engine.Agent.region:type_name -> engine.Lookup - 50, // 60: engine.Agent.auditor:type_name -> engine.Lookup - 50, // 61: engine.Agent.skills:type_name -> engine.Lookup - 48, // 62: engine.Agent.user_presence_status:type_name -> engine.Agent.UserPresence - 43, // 63: engine.ListAgent.items:type_name -> engine.Agent - 50, // 64: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.bucket:type_name -> engine.Lookup - 50, // 65: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.skill:type_name -> engine.Lookup - 51, // 66: engine.AgentInQueue.AgentsInQueue.allow_pause:type_name -> google.protobuf.Int32Value - 39, // 67: engine.AgentService.CreateAgent:input_type -> engine.CreateAgentRequest - 38, // 68: engine.AgentService.SearchAgent:input_type -> engine.SearchAgentRequest - 36, // 69: engine.AgentService.ReadAgent:input_type -> engine.ReadAgentRequest - 34, // 70: engine.AgentService.UpdateAgent:input_type -> engine.UpdateAgentRequest - 35, // 71: engine.AgentService.PatchAgent:input_type -> engine.PatchAgentRequest - 37, // 72: engine.AgentService.DeleteAgent:input_type -> engine.DeleteAgentRequest - 41, // 73: engine.AgentService.UpdateAgentStatus:input_type -> engine.AgentStatusRequest - 10, // 74: engine.AgentService.AgentSetState:input_type -> engine.AgentSetStateRequest - 25, // 75: engine.AgentService.AgentStateHistory:input_type -> engine.AgentStateHistoryRequest - 15, // 76: engine.AgentService.SearchAgentStateHistory:input_type -> engine.SearchAgentStateHistoryRequest - 31, // 77: engine.AgentService.SearchAgentInTeam:input_type -> engine.SearchAgentInTeamRequest - 30, // 78: engine.AgentService.SearchAgentInQueue:input_type -> engine.SearchAgentInQueueRequest - 7, // 79: engine.AgentService.SearchPauseCauseForAgent:input_type -> engine.SearchPauseCauseForAgentRequest - 19, // 80: engine.AgentService.SearchAgentInQueueStatistics:input_type -> engine.SearchAgentInQueueStatisticsRequest - 3, // 81: engine.AgentService.AgentTodayStatistics:input_type -> engine.AgentTodayStatisticsRequest - 17, // 82: engine.AgentService.SearchAgentCallStatistics:input_type -> engine.SearchAgentCallStatisticsRequest - 14, // 83: engine.AgentService.SearchAgentStatusStatistic:input_type -> engine.SearchAgentStatusStatisticRequest - 5, // 84: engine.AgentService.SearchAgentStatusStatisticItem:input_type -> engine.SearchAgentStatusStatisticItemRequest - 24, // 85: engine.AgentService.SearchLookupUsersAgentNotExists:input_type -> engine.SearchLookupUsersAgentNotExistsRequest - 1, // 86: engine.AgentService.SearchUserStatus:input_type -> engine.SearchUserStatusRequest - 43, // 87: engine.AgentService.CreateAgent:output_type -> engine.Agent - 44, // 88: engine.AgentService.SearchAgent:output_type -> engine.ListAgent - 43, // 89: engine.AgentService.ReadAgent:output_type -> engine.Agent - 43, // 90: engine.AgentService.UpdateAgent:output_type -> engine.Agent - 43, // 91: engine.AgentService.PatchAgent:output_type -> engine.Agent - 43, // 92: engine.AgentService.DeleteAgent:output_type -> engine.Agent - 52, // 93: engine.AgentService.UpdateAgentStatus:output_type -> engine.Response - 11, // 94: engine.AgentService.AgentSetState:output_type -> engine.AgentSetStateResponse - 27, // 95: engine.AgentService.AgentStateHistory:output_type -> engine.ListAgentStateHistory - 27, // 96: engine.AgentService.SearchAgentStateHistory:output_type -> engine.ListAgentStateHistory - 33, // 97: engine.AgentService.SearchAgentInTeam:output_type -> engine.ListAgentInTeam - 29, // 98: engine.AgentService.SearchAgentInQueue:output_type -> engine.ListAgentInQueue - 9, // 99: engine.AgentService.SearchPauseCauseForAgent:output_type -> engine.ForAgentPauseCauseList - 21, // 100: engine.AgentService.SearchAgentInQueueStatistics:output_type -> engine.AgentInQueueStatisticsList - 4, // 101: engine.AgentService.AgentTodayStatistics:output_type -> engine.AgentTodayStatisticsResponse - 18, // 102: engine.AgentService.SearchAgentCallStatistics:output_type -> engine.AgentCallStatisticsList - 13, // 103: engine.AgentService.SearchAgentStatusStatistic:output_type -> engine.ListAgentStatsStatistic - 6, // 104: engine.AgentService.SearchAgentStatusStatisticItem:output_type -> engine.AgentStatusStatisticItem - 22, // 105: engine.AgentService.SearchLookupUsersAgentNotExists:output_type -> engine.ListAgentUser - 2, // 106: engine.AgentService.SearchUserStatus:output_type -> engine.ListUserStatus - 87, // [87:107] is the sub-list for method output_type - 67, // [67:87] is the sub-list for method input_type - 67, // [67:67] is the sub-list for extension type_name - 67, // [67:67] is the sub-list for extension extendee - 0, // [0:67] is the sub-list for field type_name + 50, // 54: engine.AgentStatusRequest.status_preset:type_name -> engine.Lookup + 50, // 55: engine.Agent.user:type_name -> engine.Lookup + 42, // 56: engine.Agent.channel:type_name -> engine.AgentChannel + 50, // 57: engine.Agent.greeting_media:type_name -> engine.Lookup + 50, // 58: engine.Agent.supervisor:type_name -> engine.Lookup + 50, // 59: engine.Agent.team:type_name -> engine.Lookup + 50, // 60: engine.Agent.region:type_name -> engine.Lookup + 50, // 61: engine.Agent.auditor:type_name -> engine.Lookup + 50, // 62: engine.Agent.skills:type_name -> engine.Lookup + 48, // 63: engine.Agent.user_presence_status:type_name -> engine.Agent.UserPresence + 43, // 64: engine.ListAgent.items:type_name -> engine.Agent + 50, // 65: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.bucket:type_name -> engine.Lookup + 50, // 66: engine.AgentInQueueStatistics.AgentInQueueStatisticsItem.skill:type_name -> engine.Lookup + 51, // 67: engine.AgentInQueue.AgentsInQueue.allow_pause:type_name -> google.protobuf.Int32Value + 39, // 68: engine.AgentService.CreateAgent:input_type -> engine.CreateAgentRequest + 38, // 69: engine.AgentService.SearchAgent:input_type -> engine.SearchAgentRequest + 36, // 70: engine.AgentService.ReadAgent:input_type -> engine.ReadAgentRequest + 34, // 71: engine.AgentService.UpdateAgent:input_type -> engine.UpdateAgentRequest + 35, // 72: engine.AgentService.PatchAgent:input_type -> engine.PatchAgentRequest + 37, // 73: engine.AgentService.DeleteAgent:input_type -> engine.DeleteAgentRequest + 41, // 74: engine.AgentService.UpdateAgentStatus:input_type -> engine.AgentStatusRequest + 10, // 75: engine.AgentService.AgentSetState:input_type -> engine.AgentSetStateRequest + 25, // 76: engine.AgentService.AgentStateHistory:input_type -> engine.AgentStateHistoryRequest + 15, // 77: engine.AgentService.SearchAgentStateHistory:input_type -> engine.SearchAgentStateHistoryRequest + 31, // 78: engine.AgentService.SearchAgentInTeam:input_type -> engine.SearchAgentInTeamRequest + 30, // 79: engine.AgentService.SearchAgentInQueue:input_type -> engine.SearchAgentInQueueRequest + 7, // 80: engine.AgentService.SearchPauseCauseForAgent:input_type -> engine.SearchPauseCauseForAgentRequest + 19, // 81: engine.AgentService.SearchAgentInQueueStatistics:input_type -> engine.SearchAgentInQueueStatisticsRequest + 3, // 82: engine.AgentService.AgentTodayStatistics:input_type -> engine.AgentTodayStatisticsRequest + 17, // 83: engine.AgentService.SearchAgentCallStatistics:input_type -> engine.SearchAgentCallStatisticsRequest + 14, // 84: engine.AgentService.SearchAgentStatusStatistic:input_type -> engine.SearchAgentStatusStatisticRequest + 5, // 85: engine.AgentService.SearchAgentStatusStatisticItem:input_type -> engine.SearchAgentStatusStatisticItemRequest + 24, // 86: engine.AgentService.SearchLookupUsersAgentNotExists:input_type -> engine.SearchLookupUsersAgentNotExistsRequest + 1, // 87: engine.AgentService.SearchUserStatus:input_type -> engine.SearchUserStatusRequest + 43, // 88: engine.AgentService.CreateAgent:output_type -> engine.Agent + 44, // 89: engine.AgentService.SearchAgent:output_type -> engine.ListAgent + 43, // 90: engine.AgentService.ReadAgent:output_type -> engine.Agent + 43, // 91: engine.AgentService.UpdateAgent:output_type -> engine.Agent + 43, // 92: engine.AgentService.PatchAgent:output_type -> engine.Agent + 43, // 93: engine.AgentService.DeleteAgent:output_type -> engine.Agent + 52, // 94: engine.AgentService.UpdateAgentStatus:output_type -> engine.Response + 11, // 95: engine.AgentService.AgentSetState:output_type -> engine.AgentSetStateResponse + 27, // 96: engine.AgentService.AgentStateHistory:output_type -> engine.ListAgentStateHistory + 27, // 97: engine.AgentService.SearchAgentStateHistory:output_type -> engine.ListAgentStateHistory + 33, // 98: engine.AgentService.SearchAgentInTeam:output_type -> engine.ListAgentInTeam + 29, // 99: engine.AgentService.SearchAgentInQueue:output_type -> engine.ListAgentInQueue + 9, // 100: engine.AgentService.SearchPauseCauseForAgent:output_type -> engine.ForAgentPauseCauseList + 21, // 101: engine.AgentService.SearchAgentInQueueStatistics:output_type -> engine.AgentInQueueStatisticsList + 4, // 102: engine.AgentService.AgentTodayStatistics:output_type -> engine.AgentTodayStatisticsResponse + 18, // 103: engine.AgentService.SearchAgentCallStatistics:output_type -> engine.AgentCallStatisticsList + 13, // 104: engine.AgentService.SearchAgentStatusStatistic:output_type -> engine.ListAgentStatsStatistic + 6, // 105: engine.AgentService.SearchAgentStatusStatisticItem:output_type -> engine.AgentStatusStatisticItem + 22, // 106: engine.AgentService.SearchLookupUsersAgentNotExists:output_type -> engine.ListAgentUser + 2, // 107: engine.AgentService.SearchUserStatus:output_type -> engine.ListUserStatus + 88, // [88:108] is the sub-list for method output_type + 68, // [68:88] is the sub-list for method input_type + 68, // [68:68] is the sub-list for extension type_name + 68, // [68:68] is the sub-list for extension extendee + 0, // [0:68] is the sub-list for field type_name } func init() { file_agent_proto_init() } diff --git a/grpc_api/cc_agent.go b/grpc_api/cc_agent.go index 6b02281b..d83fc159 100644 --- a/grpc_api/cc_agent.go +++ b/grpc_api/cc_agent.go @@ -410,7 +410,16 @@ func (api *agent) UpdateAgentStatus(ctx context.Context, in *engine.AgentStatusR switch in.Status { case model.AgentStatusOnline: - err = api.ctrl.LoginAgent(ctx, session, session.Domain(in.GetDomainId()), in.GetId(), in.OnDemand) + var onlineStatus *model.Lookup + if p := in.GetStatusPreset(); p != nil { + onlineStatus = &model.Lookup{Id: int(p.GetId()), Name: p.GetName()} + } + + err = api.ctrl.LoginAgentFromRequest(ctx, session, &model.AgentLoginRequest{ + AgentID: agentId, + OnDemand: in.GetOnDemand(), + OnlineStatus: onlineStatus, + }) case model.AgentStatusPause: err = api.ctrl.PauseAgent(ctx, session, session.Domain(in.GetDomainId()), in.GetId(), in.GetPayload(), in.GetStatusComment(), 0) case model.AgentStatusOffline: diff --git a/model/cc_agent.go b/model/cc_agent.go index d57a1222..efa5de1b 100644 --- a/model/cc_agent.go +++ b/model/cc_agent.go @@ -1,6 +1,7 @@ package model import ( + "cmp" "encoding/json" "fmt" "time" @@ -513,3 +514,61 @@ func NewWebSocketCallCenterEvent(ev *CallCenterEvent) (*WebSocketEvent, AppError return e, nil } + +type AgentLoginRequest struct { + AgentID int64 `json:"agent_id"` + DomainID int64 `json:"domain_id"` + OnDemand bool `json:"on_demand"` + OnlineStatus *Lookup `json:"online_status"` +} + +func (r *AgentLoginRequest) Validate() AppError { + if r == nil { + return NewBadRequestError("model.cc_agent.validate.nil_pointer", "Empty agent login request") + } + + if r.AgentID <= 0 { + return NewBadRequestError("model.cc_agent.validate.invalid_agent_login_id", "Agent login require agent id") + } + + if r.DomainID <= 0 { + return NewBadRequestError("model.cc_agent.validate.invalid_agent_domain", "Agent login require domain id") + } + + return nil +} + +func NewAgentLoginRequestFromSocketRequest(r *WebSocketRequest, sessionDomainID int64) *AgentLoginRequest { + req := new(AgentLoginRequest) + + if val, ok := r.Get("agent_id").(float64); ok { + req.AgentID = int64(val) + } + + if val, ok := r.Get("domain_id").(float64); ok { + req.DomainID = int64(val) + } + + req.DomainID = cmp.Or(req.DomainID, sessionDomainID) + + if val, ok := r.Get("on_demand").(bool); ok { + req.OnDemand = val + } + + if statusVal := r.Get("status_preset"); statusVal != nil { + if status, ok := statusVal.(*Lookup); ok { + req.OnlineStatus = status + } else if rawMap, ok := statusVal.(map[string]any); ok { + status := new(Lookup) + if id, ok := rawMap["id"].(float64); ok { + status.Id = int(id) + } + if name, ok := rawMap["name"].(string); ok { + status.Name = name + } + req.OnlineStatus = status + } + } + + return req +} diff --git a/model/websocket_request.go b/model/websocket_request.go index a8ccfc65..61780671 100644 --- a/model/websocket_request.go +++ b/model/websocket_request.go @@ -3,15 +3,16 @@ package model import ( "encoding/json" "fmt" - "github.com/webitel/engine/pkg/wbt/auth_manager" "io" + + "github.com/webitel/engine/pkg/wbt/auth_manager" ) type WebSocketRequest struct { // Client-provided fields - Seq int64 `json:"seq"` - Action string `json:"action"` - Data map[string]interface{} `json:"data"` + Seq int64 `json:"seq"` + Action string `json:"action"` + Data map[string]any `json:"data"` Session auth_manager.Session `json:"-"` Locale string `json:"-"` @@ -29,6 +30,8 @@ func (o *WebSocketRequest) GetFieldString(name string) string { return "" } +func (o *WebSocketRequest) Get(key string) any { return o.Data[key] } + func WebSocketRequestFromJson(data io.Reader) *WebSocketRequest { var o *WebSocketRequest json.NewDecoder(data).Decode(&o) diff --git a/wsapi/agent.go b/wsapi/agent.go index 18cf7db7..62863c81 100644 --- a/wsapi/agent.go +++ b/wsapi/agent.go @@ -55,28 +55,14 @@ func (api *API) getAgentSession(ctx context.Context, conn *app.WebConn, req *mod return sess.ToMap(), nil } -func (api *API) onlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]interface{}, model.AppError) { - var agentId float64 - var domainId float64 - var onDemand bool - var ok bool - - if agentId, ok = req.Data["agent_id"].(float64); !ok { - return nil, NewInvalidWebSocketParamError(req.Action, "agent_id") - } +func (api *API) onlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]any, model.AppError) { + r := model.NewAgentLoginRequestFromSocketRequest(req, conn.DomainId) - if domainId, ok = req.Data["domain_id"].(float64); !ok { - domainId = float64(conn.DomainId) - } - - onDemand, _ = req.Data["on_demand"].(bool) - err := api.ctrl.LoginAgent(ctx, conn.GetSession(), int64(domainId), int64(agentId), onDemand) - if err != nil { + if err := api.ctrl.LoginAgentFromRequest(ctx, conn.GetSession(), r); err != nil { return nil, err } - res := make(map[string]interface{}) - return res, nil + return make(map[string]any), nil } func (api *API) offlineAgent(ctx context.Context, conn *app.WebConn, req *model.WebSocketRequest) (map[string]interface{}, model.AppError) { From 2e06b17f97adb6500581e22137f85be9f648ffff Mon Sep 17 00:00:00 2001 From: suifri Date: Thu, 6 Aug 2026 12:11:31 +0300 Subject: [PATCH 7/8] [WTEL-10048]refactor(cc): change skill_preset naming to online_skill in WS --- app/cc/agent.go | 8 +- gen/cc/cc_agent.pb.go | 159 +++++++------- gen/engine/agent.pb.go | 480 ++++++++++++++++++++--------------------- grpc_api/cc_agent.go | 2 +- model/cc_agent.go | 2 +- 5 files changed, 332 insertions(+), 319 deletions(-) diff --git a/app/cc/agent.go b/app/cc/agent.go index 66d50aeb..62f56a98 100644 --- a/app/cc/agent.go +++ b/app/cc/agent.go @@ -40,10 +40,10 @@ func (api *agentApi) OnlineWithStatus(ctx context.Context, r *model.AgentLoginRe if _, err := api.Api.Online( ctx, &cc.OnlineRequest{ - AgentId: r.AgentID, - OnDemand: r.OnDemand, - DomainId: r.DomainID, - Status: onlineStatus, + AgentId: r.AgentID, + OnDemand: r.OnDemand, + DomainId: r.DomainID, + OnlineSkill: onlineStatus, }, ); err != nil { return err diff --git a/gen/cc/cc_agent.pb.go b/gen/cc/cc_agent.pb.go index f93ae848..3e0c59de 100644 --- a/gen/cc/cc_agent.pb.go +++ b/gen/cc/cc_agent.pb.go @@ -747,10 +747,10 @@ type OnlineRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` - OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` - Status *engine.Lookup `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` - DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + AgentId int64 `protobuf:"varint,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` + OnlineSkill *engine.Lookup `protobuf:"bytes,3,opt,name=online_skill,json=onlineSkill,proto3" json:"online_skill,omitempty"` + DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` } func (x *OnlineRequest) Reset() { @@ -799,9 +799,9 @@ func (x *OnlineRequest) GetOnDemand() bool { return false } -func (x *OnlineRequest) GetStatus() *engine.Lookup { +func (x *OnlineRequest) GetOnlineSkill() *engine.Lookup { if x != nil { - return x.Status + return x.OnlineSkill } return nil } @@ -818,8 +818,9 @@ type OnlineResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Channel []*Channel `protobuf:"bytes,2,rep,name=channel,proto3" json:"channel,omitempty"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Channel []*Channel `protobuf:"bytes,2,rep,name=channel,proto3" json:"channel,omitempty"` + OnlineSkill *engine.Lookup `protobuf:"bytes,3,opt,name=online_skill,json=onlineSkill,proto3" json:"online_skill,omitempty"` } func (x *OnlineResponse) Reset() { @@ -868,6 +869,13 @@ func (x *OnlineResponse) GetChannel() []*Channel { return nil } +func (x *OnlineResponse) GetOnlineSkill() *engine.Lookup { + if x != nil { + return x.OnlineSkill + } + return nil +} + var File_cc_agent_proto protoreflect.FileDescriptor var file_cc_agent_proto_rawDesc = []byte{ @@ -941,54 +949,58 @@ var file_cc_agent_proto_rawDesc = []byte{ 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x22, 0x97, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, - 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, - 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, - 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, - 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, - 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, - 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, - 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, - 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, + 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, 0x66, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x2e, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, 0x2e, + 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x49, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, + 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, + 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, + 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, 0x0c, + 0x43, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1c, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, + 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, 0x43, + 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, + 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, + 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1025,27 +1037,28 @@ var file_cc_agent_proto_goTypes = []interface{}{ } var file_cc_agent_proto_depIdxs = []int32{ 15, // 0: cc.RunTriggerRequest.variables:type_name -> cc.RunTriggerRequest.VariablesEntry - 16, // 1: cc.OnlineRequest.status:type_name -> engine.Lookup + 16, // 1: cc.OnlineRequest.online_skill:type_name -> engine.Lookup 8, // 2: cc.OnlineResponse.channel:type_name -> cc.Channel - 13, // 3: cc.AgentService.Online:input_type -> cc.OnlineRequest - 11, // 4: cc.AgentService.Offline:input_type -> cc.OfflineRequest - 9, // 5: cc.AgentService.Pause:input_type -> cc.PauseRequest - 6, // 6: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest - 2, // 7: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest - 4, // 8: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest - 0, // 9: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest - 14, // 10: cc.AgentService.Online:output_type -> cc.OnlineResponse - 12, // 11: cc.AgentService.Offline:output_type -> cc.OfflineResponse - 10, // 12: cc.AgentService.Pause:output_type -> cc.PauseResponse - 7, // 13: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse - 3, // 14: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse - 5, // 15: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse - 1, // 16: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] 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 + 16, // 3: cc.OnlineResponse.online_skill:type_name -> engine.Lookup + 13, // 4: cc.AgentService.Online:input_type -> cc.OnlineRequest + 11, // 5: cc.AgentService.Offline:input_type -> cc.OfflineRequest + 9, // 6: cc.AgentService.Pause:input_type -> cc.PauseRequest + 6, // 7: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest + 2, // 8: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest + 4, // 9: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest + 0, // 10: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest + 14, // 11: cc.AgentService.Online:output_type -> cc.OnlineResponse + 12, // 12: cc.AgentService.Offline:output_type -> cc.OfflineResponse + 10, // 13: cc.AgentService.Pause:output_type -> cc.PauseResponse + 7, // 14: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse + 3, // 15: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse + 5, // 16: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse + 1, // 17: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse + 11, // [11:18] is the sub-list for method output_type + 4, // [4:11] 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_cc_agent_proto_init() } diff --git a/gen/engine/agent.pb.go b/gen/engine/agent.pb.go index 15abc961..986ab27e 100644 --- a/gen/engine/agent.pb.go +++ b/gen/engine/agent.pb.go @@ -3946,7 +3946,7 @@ type AgentStatusRequest struct { Payload string `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` DomainId int64 `protobuf:"varint,6,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` StatusComment string `protobuf:"bytes,7,opt,name=status_comment,json=statusComment,proto3" json:"status_comment,omitempty"` - StatusPreset *Lookup `protobuf:"bytes,8,opt,name=status_preset,json=statusPreset,proto3" json:"status_preset,omitempty"` + OnlineSkill *Lookup `protobuf:"bytes,8,opt,name=online_skill,json=onlineSkill,proto3" json:"online_skill,omitempty"` } func (x *AgentStatusRequest) Reset() { @@ -4030,9 +4030,9 @@ func (x *AgentStatusRequest) GetStatusComment() string { return "" } -func (x *AgentStatusRequest) GetStatusPreset() *Lookup { +func (x *AgentStatusRequest) GetOnlineSkill() *Lookup { if x != nil { - return x.StatusPreset + return x.OnlineSkill } return nil } @@ -5323,7 +5323,7 @@ var file_agent_proto_rawDesc = []byte{ 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x22, 0x88, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x74, 0x79, 0x22, 0x86, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, @@ -5336,247 +5336,247 @@ var file_agent_proto_rawDesc = []byte{ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, - 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x75, 0x0a, - 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, - 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, - 0x72, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, - 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, - 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x53, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, - 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, - 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, - 0x09, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, - 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0x5a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, + 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0b, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x22, 0x75, 0x0a, 0x0c, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x22, 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, 0x65, 0x65, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2e, 0x0a, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, + 0x22, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x65, + 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, + 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, + 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, + 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, + 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x68, + 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, + 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, - 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, + 0x12, 0x59, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, + 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x1b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x09, 0x52, + 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, + 0x5a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1a, 0x2a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x26, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, - 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x76, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x76, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, + 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x21, + 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, - 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, - 0x0a, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x75, 0x73, + 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, + 0xa9, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x2f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, - 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x93, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, - 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, - 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x69, 0x63, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x14, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x2f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x1a, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, + 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, + 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x93, 0x01, + 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, + 0x12, 0x21, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x6c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, 0x5a, 0x20, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, + 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5702,7 +5702,7 @@ var file_agent_proto_depIdxs = []int32{ 50, // 51: engine.SkillAgent.skill:type_name -> engine.Lookup 50, // 52: engine.SkillAgent.agent:type_name -> engine.Lookup 51, // 53: engine.SkillAgent.capacity:type_name -> google.protobuf.Int32Value - 50, // 54: engine.AgentStatusRequest.status_preset:type_name -> engine.Lookup + 50, // 54: engine.AgentStatusRequest.online_skill:type_name -> engine.Lookup 50, // 55: engine.Agent.user:type_name -> engine.Lookup 42, // 56: engine.Agent.channel:type_name -> engine.AgentChannel 50, // 57: engine.Agent.greeting_media:type_name -> engine.Lookup diff --git a/grpc_api/cc_agent.go b/grpc_api/cc_agent.go index d83fc159..4be52574 100644 --- a/grpc_api/cc_agent.go +++ b/grpc_api/cc_agent.go @@ -411,7 +411,7 @@ func (api *agent) UpdateAgentStatus(ctx context.Context, in *engine.AgentStatusR switch in.Status { case model.AgentStatusOnline: var onlineStatus *model.Lookup - if p := in.GetStatusPreset(); p != nil { + if p := in.GetOnlineSkill(); p != nil { onlineStatus = &model.Lookup{Id: int(p.GetId()), Name: p.GetName()} } diff --git a/model/cc_agent.go b/model/cc_agent.go index efa5de1b..25ff30d4 100644 --- a/model/cc_agent.go +++ b/model/cc_agent.go @@ -555,7 +555,7 @@ func NewAgentLoginRequestFromSocketRequest(r *WebSocketRequest, sessionDomainID req.OnDemand = val } - if statusVal := r.Get("status_preset"); statusVal != nil { + if statusVal := r.Get("online_skill"); statusVal != nil { if status, ok := statusVal.(*Lookup); ok { req.OnlineStatus = status } else if rawMap, ok := statusVal.(map[string]any); ok { From 494dd7b35b954ce1dd06215cd92a670ffadf930a Mon Sep 17 00:00:00 2001 From: suifri Date: Thu, 6 Aug 2026 12:15:11 +0300 Subject: [PATCH 8/8] chore: regen proto contracts --- gen/cc/cc_agent.pb.go | 82 ------------- gen/engine/agent.pb.go | 262 ----------------------------------------- 2 files changed, 344 deletions(-) diff --git a/gen/cc/cc_agent.pb.go b/gen/cc/cc_agent.pb.go index 1ad49d77..3e0c59de 100644 --- a/gen/cc/cc_agent.pb.go +++ b/gen/cc/cc_agent.pb.go @@ -751,7 +751,6 @@ type OnlineRequest struct { OnDemand bool `protobuf:"varint,2,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"` OnlineSkill *engine.Lookup `protobuf:"bytes,3,opt,name=online_skill,json=onlineSkill,proto3" json:"online_skill,omitempty"` DomainId int64 `protobuf:"varint,5,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` - } func (x *OnlineRequest) Reset() { @@ -800,15 +799,9 @@ func (x *OnlineRequest) GetOnDemand() bool { return false } -<<<<<<< HEAD func (x *OnlineRequest) GetOnlineSkill() *engine.Lookup { if x != nil { return x.OnlineSkill -======= -func (x *OnlineRequest) GetStatus() *engine.Lookup { - if x != nil { - return x.Status ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } return nil } @@ -956,7 +949,6 @@ var file_cc_agent_proto_rawDesc = []byte{ 0x2f, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, -<<<<<<< HEAD 0x22, 0x97, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, @@ -1009,56 +1001,6 @@ var file_cc_agent_proto_rawDesc = []byte{ 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -======= - 0x22, 0x8c, 0x01, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, - 0x55, 0x0a, 0x0e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0xac, 0x03, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x11, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x07, 0x4f, 0x66, - 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x63, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x63, 0x2e, 0x4f, - 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x2e, 0x0a, 0x05, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x2e, 0x63, 0x63, 0x2e, 0x50, - 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x63, - 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x49, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x63, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x09, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x2e, 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x63, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x63, - 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x5c, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x63, 0x42, - 0x0c, 0x43, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x1c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, - 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x63, 0xa2, 0x02, 0x03, - 0x43, 0x58, 0x58, 0xaa, 0x02, 0x02, 0x43, 0x63, 0xca, 0x02, 0x02, 0x43, 0x63, 0xe2, 0x02, 0x0e, - 0x43, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x02, 0x43, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } var ( @@ -1095,7 +1037,6 @@ var file_cc_agent_proto_goTypes = []interface{}{ } var file_cc_agent_proto_depIdxs = []int32{ 15, // 0: cc.RunTriggerRequest.variables:type_name -> cc.RunTriggerRequest.VariablesEntry -<<<<<<< HEAD 16, // 1: cc.OnlineRequest.online_skill:type_name -> engine.Lookup 8, // 2: cc.OnlineResponse.channel:type_name -> cc.Channel 16, // 3: cc.OnlineResponse.online_skill:type_name -> engine.Lookup @@ -1118,29 +1059,6 @@ var file_cc_agent_proto_depIdxs = []int32{ 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 -======= - 16, // 1: cc.OnlineRequest.status:type_name -> engine.Lookup - 8, // 2: cc.OnlineResponse.channel:type_name -> cc.Channel - 13, // 3: cc.AgentService.Online:input_type -> cc.OnlineRequest - 11, // 4: cc.AgentService.Offline:input_type -> cc.OfflineRequest - 9, // 5: cc.AgentService.Pause:input_type -> cc.PauseRequest - 6, // 6: cc.AgentService.WaitingChannel:input_type -> cc.WaitingChannelRequest - 2, // 7: cc.AgentService.AcceptTask:input_type -> cc.AcceptTaskRequest - 4, // 8: cc.AgentService.CloseTask:input_type -> cc.CloseTaskRequest - 0, // 9: cc.AgentService.RunTrigger:input_type -> cc.RunTriggerRequest - 14, // 10: cc.AgentService.Online:output_type -> cc.OnlineResponse - 12, // 11: cc.AgentService.Offline:output_type -> cc.OfflineResponse - 10, // 12: cc.AgentService.Pause:output_type -> cc.PauseResponse - 7, // 13: cc.AgentService.WaitingChannel:output_type -> cc.WaitingChannelResponse - 3, // 14: cc.AgentService.AcceptTask:output_type -> cc.AcceptTaskResponse - 5, // 15: cc.AgentService.CloseTask:output_type -> cc.CloseTaskResponse - 1, // 16: cc.AgentService.RunTrigger:output_type -> cc.RunTriggerResponse - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] 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 ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } func init() { file_cc_agent_proto_init() } diff --git a/gen/engine/agent.pb.go b/gen/engine/agent.pb.go index 2063454a..986ab27e 100644 --- a/gen/engine/agent.pb.go +++ b/gen/engine/agent.pb.go @@ -3946,11 +3946,7 @@ type AgentStatusRequest struct { Payload string `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` DomainId int64 `protobuf:"varint,6,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` StatusComment string `protobuf:"bytes,7,opt,name=status_comment,json=statusComment,proto3" json:"status_comment,omitempty"` -<<<<<<< HEAD OnlineSkill *Lookup `protobuf:"bytes,8,opt,name=online_skill,json=onlineSkill,proto3" json:"online_skill,omitempty"` -======= - StatusPreset *Lookup `protobuf:"bytes,8,opt,name=status_preset,json=statusPreset,proto3" json:"status_preset,omitempty"` ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } func (x *AgentStatusRequest) Reset() { @@ -4034,15 +4030,9 @@ func (x *AgentStatusRequest) GetStatusComment() string { return "" } -<<<<<<< HEAD func (x *AgentStatusRequest) GetOnlineSkill() *Lookup { if x != nil { return x.OnlineSkill -======= -func (x *AgentStatusRequest) GetStatusPreset() *Lookup { - if x != nil { - return x.StatusPreset ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } return nil } @@ -5333,11 +5323,7 @@ var file_agent_proto_rawDesc = []byte{ 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, -<<<<<<< HEAD 0x74, 0x79, 0x22, 0x86, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, -======= - 0x74, 0x79, 0x22, 0x88, 0x02, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, @@ -5350,7 +5336,6 @@ var file_agent_proto_rawDesc = []byte{ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, -<<<<<<< HEAD 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0b, @@ -5592,249 +5577,6 @@ var file_agent_proto_rawDesc = []byte{ 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -======= - 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, - 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x75, 0x0a, - 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0xea, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x2c, 0x0a, 0x12, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x67, 0x72, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0d, 0x67, 0x72, - 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, - 0x72, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x07, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, - 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, - 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x06, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x53, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x75, 0x73, 0x65, - 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x0c, 0x55, 0x73, 0x65, - 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xf4, 0x13, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, - 0x09, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, - 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5b, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x32, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0x5a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x32, 0x1f, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, - 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, - 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x61, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x35, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x26, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, - 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x76, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x65, - 0x61, 0x6d, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x7a, 0x0a, 0x12, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x12, 0x21, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x27, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, - 0x75, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, - 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x9a, 0x01, - 0x0a, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x2f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x94, 0x01, - 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x29, 0x2e, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x93, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x12, 0x21, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x42, 0x22, - 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x62, - 0x69, 0x74, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 } var ( @@ -5960,11 +5702,7 @@ var file_agent_proto_depIdxs = []int32{ 50, // 51: engine.SkillAgent.skill:type_name -> engine.Lookup 50, // 52: engine.SkillAgent.agent:type_name -> engine.Lookup 51, // 53: engine.SkillAgent.capacity:type_name -> google.protobuf.Int32Value -<<<<<<< HEAD 50, // 54: engine.AgentStatusRequest.online_skill:type_name -> engine.Lookup -======= - 50, // 54: engine.AgentStatusRequest.status_preset:type_name -> engine.Lookup ->>>>>>> 615d5c5517d82cbc53ad03a76186089bfb3eaa67 50, // 55: engine.Agent.user:type_name -> engine.Lookup 42, // 56: engine.Agent.channel:type_name -> engine.AgentChannel 50, // 57: engine.Agent.greeting_media:type_name -> engine.Lookup