diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go index 6bc0dfa7..fc9c8df6 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go @@ -7,7 +7,6 @@ import ( "PCM/common/tool" "context" "encoding/json" - "github.com/zeromicro/go-zero/core/logx" ) @@ -31,19 +30,25 @@ func (l *CreateNotebookLogic) CreateNotebook(in *modelarts.CreateNotebookReq) (* token := common.GetToken() + var createResp modelarts.NotebookResp + req := tool.GetACHttpRequest() res, err := req. SetHeader("x-auth-token", token). SetPathParam("project_id", in.ProjectId). SetBody(in.Param). - SetResult(resp.NotebookResp). + SetResult(&createResp). Post(createUrl) if err != nil { return nil, err } - if res.StatusCode() != 200 || res.StatusCode() != 201 { + if res.StatusCode() == 200 || res.StatusCode() == 201 { + resp.NotebookResp = &createResp + resp.Code = int32(res.StatusCode()) + resp.Msg = "Success" + } else { resp.Code = int32(res.StatusCode()) resp.Msg = "Failure" @@ -53,9 +58,6 @@ func (l *CreateNotebookLogic) CreateNotebook(in *modelarts.CreateNotebookReq) (* errMsg.ErrorMsg = "" } resp.ErrorMsg = errMsg.ErrorMsg - } else { - resp.Code = int32(res.StatusCode()) - resp.Msg = "Success" } return resp, nil diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go index eb6d72c6..7be0d3a0 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go @@ -16974,22 +16974,29 @@ type NotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ActionProgress []*JobProgress `protobuf:"bytes,1,rep,name=action_progress,json=actionProgress,proto3" json:"action_progress,omitempty"` // @gotags: copier:"ActionProgress" - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" - Endpoints []*EndpointsRes `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"Endpoints" - FailReason string `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` // @gotags: copier:"FailReason" - Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"Flavor" - Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" - Image *Image `protobuf:"bytes,7,opt,name=image,proto3" json:"image,omitempty"` // @gotags: copier:"Image" - Lease *Lease `protobuf:"bytes,8,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"Lease" - Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" - Pool *Pool `protobuf:"bytes,10,opt,name=pool,proto3" json:"pool,omitempty"` // @gotags: copier:"Pool" - Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" - Token string `protobuf:"bytes,12,opt,name=token,proto3" json:"token,omitempty"` // @gotags: copier:"Token" - Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"` // @gotags: copier:"Url" - Volume *VolumeRes `protobuf:"bytes,14,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"Volume" - WorkspaceId string `protobuf:"bytes,15,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"WorkspaceId" - Feature string `protobuf:"bytes,16,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"Feature" + ActionProgress []*ActionProgress `protobuf:"bytes,1,rep,name=action_progress,json=actionProgress,proto3" json:"action_progress,omitempty"` // @gotags: copier:"ActionProgress" + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" + Endpoints []*EndpointsRes `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"Endpoints" + FailReason string `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` // @gotags: copier:"FailReason" + Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"Flavor" + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + Image *Image `protobuf:"bytes,7,opt,name=image,proto3" json:"image,omitempty"` // @gotags: copier:"Image" + Lease *Lease `protobuf:"bytes,8,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"Lease" + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" + Pool *Pool `protobuf:"bytes,10,opt,name=pool,proto3" json:"pool,omitempty"` // @gotags: copier:"Pool" + Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + Token string `protobuf:"bytes,12,opt,name=token,proto3" json:"token,omitempty"` // @gotags: copier:"Token" + Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"` // @gotags: copier:"Url" + Volume *VolumeRes `protobuf:"bytes,14,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"Volume" + WorkspaceId string `protobuf:"bytes,15,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"WorkspaceId" + Feature string `protobuf:"bytes,16,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"Feature" + CreateAt int64 `protobuf:"varint,17,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // @gotags: copier:"CreateAt" * + Hooks *Hooks `protobuf:"bytes,18,opt,name=hooks,proto3" json:"hooks,omitempty"` // @gotags: copier:"Hooks" * + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` // @gotags: copier:"Tags" * + UpdateAt int64 `protobuf:"varint,20,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // @gotags: copier:"UpdateAt" * + User *UserNotebookResp `protobuf:"bytes,21,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"UserNotebookResp" * + UserId string `protobuf:"bytes,22,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // @gotags: copier:"UserId" * + BillingItems []string `protobuf:"bytes,23,rep,name=billing_items,json=billingItems,proto3" json:"billing_items,omitempty"` // @gotags: copier:"BillingItems" * } func (x *NotebookResp) Reset() { @@ -17024,7 +17031,7 @@ func (*NotebookResp) Descriptor() ([]byte, []int) { return file_pcm_modelarts_proto_rawDescGZIP(), []int{207} } -func (x *NotebookResp) GetActionProgress() []*JobProgress { +func (x *NotebookResp) GetActionProgress() []*ActionProgress { if x != nil { return x.ActionProgress } @@ -17136,6 +17143,464 @@ func (x *NotebookResp) GetFeature() string { return "" } +func (x *NotebookResp) GetCreateAt() int64 { + if x != nil { + return x.CreateAt + } + return 0 +} + +func (x *NotebookResp) GetHooks() *Hooks { + if x != nil { + return x.Hooks + } + return nil +} + +func (x *NotebookResp) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *NotebookResp) GetUpdateAt() int64 { + if x != nil { + return x.UpdateAt + } + return 0 +} + +func (x *NotebookResp) GetUser() *UserNotebookResp { + if x != nil { + return x.User + } + return nil +} + +func (x *NotebookResp) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *NotebookResp) GetBillingItems() []string { + if x != nil { + return x.BillingItems + } + return nil +} + +type UserNotebookResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain *UserNotebookDomain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` // @gotags: copier:"UserNotebookDomain" * + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" * + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" * +} + +func (x *UserNotebookResp) Reset() { + *x = UserNotebookResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserNotebookResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserNotebookResp) ProtoMessage() {} + +func (x *UserNotebookResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[208] + 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 UserNotebookResp.ProtoReflect.Descriptor instead. +func (*UserNotebookResp) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{208} +} + +func (x *UserNotebookResp) GetDomain() *UserNotebookDomain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *UserNotebookResp) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UserNotebookResp) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type UserNotebookDomain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" * + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" * +} + +func (x *UserNotebookDomain) Reset() { + *x = UserNotebookDomain{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserNotebookDomain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserNotebookDomain) ProtoMessage() {} + +func (x *UserNotebookDomain) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[209] + 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 UserNotebookDomain.ProtoReflect.Descriptor instead. +func (*UserNotebookDomain) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{209} +} + +func (x *UserNotebookDomain) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UserNotebookDomain) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type Hooks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContainerHooks *ContainerHooksResp `protobuf:"bytes,1,opt,name=containerHooks,proto3" json:"containerHooks,omitempty"` // @gotags: copier:"ContainerHooksResp" * +} + +func (x *Hooks) Reset() { + *x = Hooks{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hooks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hooks) ProtoMessage() {} + +func (x *Hooks) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[210] + 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 Hooks.ProtoReflect.Descriptor instead. +func (*Hooks) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{210} +} + +func (x *Hooks) GetContainerHooks() *ContainerHooksResp { + if x != nil { + return x.ContainerHooks + } + return nil +} + +type ContainerHooksResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostStart *PostStart `protobuf:"bytes,1,opt,name=postStart,proto3" json:"postStart,omitempty"` // @gotags: copier:"PostStart" * + PreStart *PreStart `protobuf:"bytes,2,opt,name=preStart,proto3" json:"preStart,omitempty"` // @gotags: copier:"PreStart" * +} + +func (x *ContainerHooksResp) Reset() { + *x = ContainerHooksResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContainerHooksResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerHooksResp) ProtoMessage() {} + +func (x *ContainerHooksResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[211] + 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 ContainerHooksResp.ProtoReflect.Descriptor instead. +func (*ContainerHooksResp) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{211} +} + +func (x *ContainerHooksResp) GetPostStart() *PostStart { + if x != nil { + return x.PostStart + } + return nil +} + +func (x *ContainerHooksResp) GetPreStart() *PreStart { + if x != nil { + return x.PreStart + } + return nil +} + +type PostStart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` // @gotags: copier:"Mode" * + Script string `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"` // @gotags: copier:"Script" * + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"Type" * +} + +func (x *PostStart) Reset() { + *x = PostStart{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostStart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostStart) ProtoMessage() {} + +func (x *PostStart) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[212] + 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 PostStart.ProtoReflect.Descriptor instead. +func (*PostStart) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{212} +} + +func (x *PostStart) GetMode() string { + if x != nil { + return x.Mode + } + return "" +} + +func (x *PostStart) GetScript() string { + if x != nil { + return x.Script + } + return "" +} + +func (x *PostStart) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type PreStart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` // @gotags: copier:"Mode" * + Script string `protobuf:"bytes,2,opt,name=script,proto3" json:"script,omitempty"` // @gotags: copier:"Script" * + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"Type" * +} + +func (x *PreStart) Reset() { + *x = PreStart{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreStart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreStart) ProtoMessage() {} + +func (x *PreStart) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[213] + 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 PreStart.ProtoReflect.Descriptor instead. +func (*PreStart) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{213} +} + +func (x *PreStart) GetMode() string { + if x != nil { + return x.Mode + } + return "" +} + +func (x *PreStart) GetScript() string { + if x != nil { + return x.Script + } + return "" +} + +func (x *PreStart) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type ActionProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"` // @gotags: copier:"Step" * + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" * + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" * +} + +func (x *ActionProgress) Reset() { + *x = ActionProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_modelarts_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActionProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActionProgress) ProtoMessage() {} + +func (x *ActionProgress) ProtoReflect() protoreflect.Message { + mi := &file_pcm_modelarts_proto_msgTypes[214] + 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 ActionProgress.ProtoReflect.Descriptor instead. +func (*ActionProgress) Descriptor() ([]byte, []int) { + return file_pcm_modelarts_proto_rawDescGZIP(), []int{214} +} + +func (x *ActionProgress) GetStep() int32 { + if x != nil { + return x.Step + } + return 0 +} + +func (x *ActionProgress) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ActionProgress) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + type JobProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -17150,7 +17615,7 @@ type JobProgress struct { func (x *JobProgress) Reset() { *x = JobProgress{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[208] + mi := &file_pcm_modelarts_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17163,7 +17628,7 @@ func (x *JobProgress) String() string { func (*JobProgress) ProtoMessage() {} func (x *JobProgress) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[208] + mi := &file_pcm_modelarts_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17176,7 +17641,7 @@ func (x *JobProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use JobProgress.ProtoReflect.Descriptor instead. func (*JobProgress) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{208} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{215} } func (x *JobProgress) GetNotebookId() string { @@ -17220,7 +17685,7 @@ type EndpointsRes struct { func (x *EndpointsRes) Reset() { *x = EndpointsRes{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[209] + mi := &file_pcm_modelarts_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17233,7 +17698,7 @@ func (x *EndpointsRes) String() string { func (*EndpointsRes) ProtoMessage() {} func (x *EndpointsRes) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[209] + mi := &file_pcm_modelarts_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17246,7 +17711,7 @@ func (x *EndpointsRes) ProtoReflect() protoreflect.Message { // Deprecated: Use EndpointsRes.ProtoReflect.Descriptor instead. func (*EndpointsRes) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{209} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{216} } func (x *EndpointsRes) GetAllowedAccessIps() []string { @@ -17300,7 +17765,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[210] + mi := &file_pcm_modelarts_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17313,7 +17778,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[210] + mi := &file_pcm_modelarts_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17326,7 +17791,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{210} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{217} } func (x *Image) GetArch() string { @@ -17484,7 +17949,7 @@ type Lease struct { func (x *Lease) Reset() { *x = Lease{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[211] + mi := &file_pcm_modelarts_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17497,7 +17962,7 @@ func (x *Lease) String() string { func (*Lease) ProtoMessage() {} func (x *Lease) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[211] + mi := &file_pcm_modelarts_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17510,7 +17975,7 @@ func (x *Lease) ProtoReflect() protoreflect.Message { // Deprecated: Use Lease.ProtoReflect.Descriptor instead. func (*Lease) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{211} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{218} } func (x *Lease) GetCreateAt() int64 { @@ -17560,7 +18025,7 @@ type Pool struct { func (x *Pool) Reset() { *x = Pool{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[212] + mi := &file_pcm_modelarts_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17573,7 +18038,7 @@ func (x *Pool) String() string { func (*Pool) ProtoMessage() {} func (x *Pool) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[212] + mi := &file_pcm_modelarts_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17586,7 +18051,7 @@ func (x *Pool) ProtoReflect() protoreflect.Message { // Deprecated: Use Pool.ProtoReflect.Descriptor instead. func (*Pool) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{212} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{219} } func (x *Pool) GetId() string { @@ -17618,7 +18083,7 @@ type VolumeRes struct { func (x *VolumeRes) Reset() { *x = VolumeRes{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[213] + mi := &file_pcm_modelarts_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17631,7 +18096,7 @@ func (x *VolumeRes) String() string { func (*VolumeRes) ProtoMessage() {} func (x *VolumeRes) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[213] + mi := &file_pcm_modelarts_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17644,7 +18109,7 @@ func (x *VolumeRes) ProtoReflect() protoreflect.Message { // Deprecated: Use VolumeRes.ProtoReflect.Descriptor instead. func (*VolumeRes) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{213} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{220} } func (x *VolumeRes) GetCapacity() int64 { @@ -17695,7 +18160,7 @@ type EndpointsReq struct { func (x *EndpointsReq) Reset() { *x = EndpointsReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[214] + mi := &file_pcm_modelarts_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17708,7 +18173,7 @@ func (x *EndpointsReq) String() string { func (*EndpointsReq) ProtoMessage() {} func (x *EndpointsReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[214] + mi := &file_pcm_modelarts_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17721,7 +18186,7 @@ func (x *EndpointsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use EndpointsReq.ProtoReflect.Descriptor instead. func (*EndpointsReq) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{214} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{221} } func (x *EndpointsReq) GetAllowedAccessIps() []string { @@ -17759,7 +18224,7 @@ type VolumeReq struct { func (x *VolumeReq) Reset() { *x = VolumeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[215] + mi := &file_pcm_modelarts_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17772,7 +18237,7 @@ func (x *VolumeReq) String() string { func (*VolumeReq) ProtoMessage() {} func (x *VolumeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[215] + mi := &file_pcm_modelarts_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17785,7 +18250,7 @@ func (x *VolumeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use VolumeReq.ProtoReflect.Descriptor instead. func (*VolumeReq) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{215} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{222} } func (x *VolumeReq) GetCapacity() int64 { @@ -17827,7 +18292,7 @@ type CustomHooks struct { func (x *CustomHooks) Reset() { *x = CustomHooks{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[216] + mi := &file_pcm_modelarts_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17840,7 +18305,7 @@ func (x *CustomHooks) String() string { func (*CustomHooks) ProtoMessage() {} func (x *CustomHooks) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[216] + mi := &file_pcm_modelarts_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17853,7 +18318,7 @@ func (x *CustomHooks) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomHooks.ProtoReflect.Descriptor instead. func (*CustomHooks) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{216} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{223} } func (x *CustomHooks) GetContainerHooks() *ContainerHooks { @@ -17875,7 +18340,7 @@ type ContainerHooks struct { func (x *ContainerHooks) Reset() { *x = ContainerHooks{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[217] + mi := &file_pcm_modelarts_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17888,7 +18353,7 @@ func (x *ContainerHooks) String() string { func (*ContainerHooks) ProtoMessage() {} func (x *ContainerHooks) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[217] + mi := &file_pcm_modelarts_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17901,7 +18366,7 @@ func (x *ContainerHooks) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerHooks.ProtoReflect.Descriptor instead. func (*ContainerHooks) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{217} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{224} } func (x *ContainerHooks) GetPostStart() *Config { @@ -17930,7 +18395,7 @@ type Config struct { func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[218] + mi := &file_pcm_modelarts_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17943,7 +18408,7 @@ func (x *Config) String() string { func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[218] + mi := &file_pcm_modelarts_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17956,7 +18421,7 @@ func (x *Config) ProtoReflect() protoreflect.Message { // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{218} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{225} } func (x *Config) GetScript() string { @@ -17985,7 +18450,7 @@ type LeaseReq struct { func (x *LeaseReq) Reset() { *x = LeaseReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[219] + mi := &file_pcm_modelarts_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17998,7 +18463,7 @@ func (x *LeaseReq) String() string { func (*LeaseReq) ProtoMessage() {} func (x *LeaseReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[219] + mi := &file_pcm_modelarts_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18011,7 +18476,7 @@ func (x *LeaseReq) ProtoReflect() protoreflect.Message { // Deprecated: Use LeaseReq.ProtoReflect.Descriptor instead. func (*LeaseReq) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{219} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{226} } func (x *LeaseReq) GetDuration() int64 { @@ -18041,7 +18506,7 @@ type GetVisualizationJobReq struct { func (x *GetVisualizationJobReq) Reset() { *x = GetVisualizationJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[220] + mi := &file_pcm_modelarts_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18054,7 +18519,7 @@ func (x *GetVisualizationJobReq) String() string { func (*GetVisualizationJobReq) ProtoMessage() {} func (x *GetVisualizationJobReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[220] + mi := &file_pcm_modelarts_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18067,7 +18532,7 @@ func (x *GetVisualizationJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVisualizationJobReq.ProtoReflect.Descriptor instead. func (*GetVisualizationJobReq) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{220} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{227} } func (x *GetVisualizationJobReq) GetProjectId() string { @@ -18101,7 +18566,7 @@ type GetVisualizationJobResp struct { func (x *GetVisualizationJobResp) Reset() { *x = GetVisualizationJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[221] + mi := &file_pcm_modelarts_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18114,7 +18579,7 @@ func (x *GetVisualizationJobResp) String() string { func (*GetVisualizationJobResp) ProtoMessage() {} func (x *GetVisualizationJobResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[221] + mi := &file_pcm_modelarts_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18127,7 +18592,7 @@ func (x *GetVisualizationJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVisualizationJobResp.ProtoReflect.Descriptor instead. func (*GetVisualizationJobResp) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{221} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{228} } func (x *GetVisualizationJobResp) GetIsSuccess() bool { @@ -18198,7 +18663,7 @@ type Jobs struct { func (x *Jobs) Reset() { *x = Jobs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[222] + mi := &file_pcm_modelarts_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18211,7 +18676,7 @@ func (x *Jobs) String() string { func (*Jobs) ProtoMessage() {} func (x *Jobs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[222] + mi := &file_pcm_modelarts_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18224,7 +18689,7 @@ func (x *Jobs) ProtoReflect() protoreflect.Message { // Deprecated: Use Jobs.ProtoReflect.Descriptor instead. func (*Jobs) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{222} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{229} } func (x *Jobs) GetJobName() string { @@ -18307,7 +18772,7 @@ type GetVisualizationJobParam struct { func (x *GetVisualizationJobParam) Reset() { *x = GetVisualizationJobParam{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[223] + mi := &file_pcm_modelarts_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18320,7 +18785,7 @@ func (x *GetVisualizationJobParam) String() string { func (*GetVisualizationJobParam) ProtoMessage() {} func (x *GetVisualizationJobParam) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[223] + mi := &file_pcm_modelarts_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18333,7 +18798,7 @@ func (x *GetVisualizationJobParam) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVisualizationJobParam.ProtoReflect.Descriptor instead. func (*GetVisualizationJobParam) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{223} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{230} } func (x *GetVisualizationJobParam) GetStatus() string { @@ -18397,7 +18862,7 @@ type CreateVisualizationJobReq struct { func (x *CreateVisualizationJobReq) Reset() { *x = CreateVisualizationJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[224] + mi := &file_pcm_modelarts_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18410,7 +18875,7 @@ func (x *CreateVisualizationJobReq) String() string { func (*CreateVisualizationJobReq) ProtoMessage() {} func (x *CreateVisualizationJobReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[224] + mi := &file_pcm_modelarts_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18423,7 +18888,7 @@ func (x *CreateVisualizationJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVisualizationJobReq.ProtoReflect.Descriptor instead. func (*CreateVisualizationJobReq) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{224} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{231} } func (x *CreateVisualizationJobReq) GetProjectId() string { @@ -18457,7 +18922,7 @@ type CreateVisualizationJobResp struct { func (x *CreateVisualizationJobResp) Reset() { *x = CreateVisualizationJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[225] + mi := &file_pcm_modelarts_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18470,7 +18935,7 @@ func (x *CreateVisualizationJobResp) String() string { func (*CreateVisualizationJobResp) ProtoMessage() {} func (x *CreateVisualizationJobResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[225] + mi := &file_pcm_modelarts_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18483,7 +18948,7 @@ func (x *CreateVisualizationJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVisualizationJobResp.ProtoReflect.Descriptor instead. func (*CreateVisualizationJobResp) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{225} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{232} } func (x *CreateVisualizationJobResp) GetErrorMessage() string { @@ -18551,7 +19016,7 @@ type CreateVisualizationJobParam struct { func (x *CreateVisualizationJobParam) Reset() { *x = CreateVisualizationJobParam{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[226] + mi := &file_pcm_modelarts_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18564,7 +19029,7 @@ func (x *CreateVisualizationJobParam) String() string { func (*CreateVisualizationJobParam) ProtoMessage() {} func (x *CreateVisualizationJobParam) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[226] + mi := &file_pcm_modelarts_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18577,7 +19042,7 @@ func (x *CreateVisualizationJobParam) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVisualizationJobParam.ProtoReflect.Descriptor instead. func (*CreateVisualizationJobParam) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{226} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{233} } func (x *CreateVisualizationJobParam) GetJobName() string { @@ -18633,7 +19098,7 @@ type Flavor struct { func (x *Flavor) Reset() { *x = Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[227] + mi := &file_pcm_modelarts_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18646,7 +19111,7 @@ func (x *Flavor) String() string { func (*Flavor) ProtoMessage() {} func (x *Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[227] + mi := &file_pcm_modelarts_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18659,7 +19124,7 @@ func (x *Flavor) ProtoReflect() protoreflect.Message { // Deprecated: Use Flavor.ProtoReflect.Descriptor instead. func (*Flavor) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{227} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{234} } func (x *Flavor) GetCode() string { @@ -18682,7 +19147,7 @@ type Schedule struct { func (x *Schedule) Reset() { *x = Schedule{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_modelarts_proto_msgTypes[228] + mi := &file_pcm_modelarts_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18695,7 +19160,7 @@ func (x *Schedule) String() string { func (*Schedule) ProtoMessage() {} func (x *Schedule) ProtoReflect() protoreflect.Message { - mi := &file_pcm_modelarts_proto_msgTypes[228] + mi := &file_pcm_modelarts_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18708,7 +19173,7 @@ func (x *Schedule) ProtoReflect() protoreflect.Message { // Deprecated: Use Schedule.ProtoReflect.Descriptor instead. func (*Schedule) Descriptor() ([]byte, []int) { - return file_pcm_modelarts_proto_rawDescGZIP(), []int{228} + return file_pcm_modelarts_proto_rawDescGZIP(), []int{235} } func (x *Schedule) GetType() string { @@ -21412,450 +21877,503 @@ var file_pcm_modelarts_proto_rawDesc = []byte{ 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xa5, 0x04, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x8d, 0x06, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 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, 0x35, 0x0a, 0x09, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x65, 0x61, - 0x73, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, - 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, - 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 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, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x74, - 0x65, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x22, - 0xd5, 0x04, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 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, 0x21, 0x0a, 0x0c, - 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x5f, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x72, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x05, 0x4c, 0x65, 0x61, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, - 0x98, 0x01, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, + 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 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, 0x35, 0x0a, 0x09, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x4c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x52, 0x06, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x26, 0x0a, + 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, + 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6d, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x4e, + 0x0a, 0x05, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x79, + 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x09, 0x70, + 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x08, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x4b, 0x0a, 0x09, 0x50, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 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, 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, 0x85, 0x01, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 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, 0x12, 0x0a, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, + 0x29, 0x0a, 0x10, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x70, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, 0x68, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0x73, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x51, 0x0a, 0x0b, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x0e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x72, 0x0a, 0x0e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x30, - 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x22, 0x34, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x08, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, - 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x69, + 0x4b, 0x65, 0x79, 0x73, 0x22, 0xd5, 0x04, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, + 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 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, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2f, + 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x77, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x77, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, + 0x05, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x98, 0x01, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x78, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, + 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x73, 0x0a, 0x09, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, + 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x51, + 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x42, 0x0a, + 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x22, 0x72, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, + 0x6f, 0x6b, 0x73, 0x12, 0x30, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x70, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x34, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x08, 0x4c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x6a, 0x6f, 0x62, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x75, - 0x6f, 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, - 0x61, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x04, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, - 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, - 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6a, - 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, - 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x39, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, + 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x89, 0x02, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, - 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x29, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x1c, 0x0a, 0x06, 0x46, - 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x57, 0x0a, 0x08, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, - 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x32, 0xe6, 0x18, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x73, - 0x12, 0x35, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x13, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x71, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, - 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x73, 0x72, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x73, 0x72, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x68, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, - 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x50, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, - 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x73, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, - 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, - 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x77, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, - 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, - 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, - 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0a, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0a, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, - 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, - 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, - 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x21, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, - 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x24, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, + 0x62, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6a, 0x6f, + 0x62, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x04, 0x4a, 0x6f, 0x62, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x78, 0x0a, + 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, + 0x2f, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x22, 0x1c, 0x0a, 0x06, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x57, + 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xe6, 0x18, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x41, 0x72, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x72, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x72, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x62, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x24, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x68, + 0x6f, 0x77, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, + 0x6f, 0x77, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, + 0x64, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, + 0x55, 0x75, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, + 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x68, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x77, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x62, 0x0a, 0x15, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x3f, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, + 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, + 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, + 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, + 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x59, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, + 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, + 0x42, 0x0c, 0x5a, 0x0a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -21870,7 +22388,7 @@ func file_pcm_modelarts_proto_rawDescGZIP() []byte { return file_pcm_modelarts_proto_rawDescData } -var file_pcm_modelarts_proto_msgTypes = make([]protoimpl.MessageInfo, 241) +var file_pcm_modelarts_proto_msgTypes = make([]protoimpl.MessageInfo, 248) var file_pcm_modelarts_proto_goTypes = []interface{}{ (*Auth)(nil), // 0: modelarts.auth (*Identity)(nil), // 1: modelarts.identity @@ -22080,39 +22598,46 @@ var file_pcm_modelarts_proto_goTypes = []interface{}{ (*MountNotebookStorageParam)(nil), // 205: modelarts.MountNotebookStorageParam (*DataVolumesRes)(nil), // 206: modelarts.DataVolumesRes (*NotebookResp)(nil), // 207: modelarts.NotebookResp - (*JobProgress)(nil), // 208: modelarts.JobProgress - (*EndpointsRes)(nil), // 209: modelarts.EndpointsRes - (*Image)(nil), // 210: modelarts.Image - (*Lease)(nil), // 211: modelarts.Lease - (*Pool)(nil), // 212: modelarts.Pool - (*VolumeRes)(nil), // 213: modelarts.VolumeRes - (*EndpointsReq)(nil), // 214: modelarts.EndpointsReq - (*VolumeReq)(nil), // 215: modelarts.VolumeReq - (*CustomHooks)(nil), // 216: modelarts.CustomHooks - (*ContainerHooks)(nil), // 217: modelarts.ContainerHooks - (*Config)(nil), // 218: modelarts.Config - (*LeaseReq)(nil), // 219: modelarts.LeaseReq - (*GetVisualizationJobReq)(nil), // 220: modelarts.GetVisualizationJobReq - (*GetVisualizationJobResp)(nil), // 221: modelarts.GetVisualizationJobResp - (*Jobs)(nil), // 222: modelarts.Jobs - (*GetVisualizationJobParam)(nil), // 223: modelarts.GetVisualizationJobParam - (*CreateVisualizationJobReq)(nil), // 224: modelarts.CreateVisualizationJobReq - (*CreateVisualizationJobResp)(nil), // 225: modelarts.CreateVisualizationJobResp - (*CreateVisualizationJobParam)(nil), // 226: modelarts.CreateVisualizationJobParam - (*Flavor)(nil), // 227: modelarts.Flavor - (*Schedule)(nil), // 228: modelarts.Schedule - nil, // 229: modelarts.JobMetadata.AnnotationsEntry - nil, // 230: modelarts.Environments.EnvironmentsEntry - nil, // 231: modelarts.FlavorResponse.AttributesEntry - nil, // 232: modelarts.attributesAlRq.AttributesEntry - nil, // 233: modelarts.TagsAlRp.TagsEntry - nil, // 234: modelarts.SearchProp.PropsEntry - nil, // 235: modelarts.ShowModelResp.LabelsMapEntry - nil, // 236: modelarts.ServiceConfig.EnvsEntry - nil, // 237: modelarts.ShowServiceResp.AdditionalPropertiesEntry - nil, // 238: modelarts.QueryServiceConfig.EnvsEntry - nil, // 239: modelarts.QueryServiceConfig.AdditionalPropertiesEntry - nil, // 240: modelarts.ListServices.AdditionalPropertiesEntry + (*UserNotebookResp)(nil), // 208: modelarts.UserNotebookResp + (*UserNotebookDomain)(nil), // 209: modelarts.UserNotebookDomain + (*Hooks)(nil), // 210: modelarts.Hooks + (*ContainerHooksResp)(nil), // 211: modelarts.ContainerHooksResp + (*PostStart)(nil), // 212: modelarts.PostStart + (*PreStart)(nil), // 213: modelarts.PreStart + (*ActionProgress)(nil), // 214: modelarts.ActionProgress + (*JobProgress)(nil), // 215: modelarts.JobProgress + (*EndpointsRes)(nil), // 216: modelarts.EndpointsRes + (*Image)(nil), // 217: modelarts.Image + (*Lease)(nil), // 218: modelarts.Lease + (*Pool)(nil), // 219: modelarts.Pool + (*VolumeRes)(nil), // 220: modelarts.VolumeRes + (*EndpointsReq)(nil), // 221: modelarts.EndpointsReq + (*VolumeReq)(nil), // 222: modelarts.VolumeReq + (*CustomHooks)(nil), // 223: modelarts.CustomHooks + (*ContainerHooks)(nil), // 224: modelarts.ContainerHooks + (*Config)(nil), // 225: modelarts.Config + (*LeaseReq)(nil), // 226: modelarts.LeaseReq + (*GetVisualizationJobReq)(nil), // 227: modelarts.GetVisualizationJobReq + (*GetVisualizationJobResp)(nil), // 228: modelarts.GetVisualizationJobResp + (*Jobs)(nil), // 229: modelarts.Jobs + (*GetVisualizationJobParam)(nil), // 230: modelarts.GetVisualizationJobParam + (*CreateVisualizationJobReq)(nil), // 231: modelarts.CreateVisualizationJobReq + (*CreateVisualizationJobResp)(nil), // 232: modelarts.CreateVisualizationJobResp + (*CreateVisualizationJobParam)(nil), // 233: modelarts.CreateVisualizationJobParam + (*Flavor)(nil), // 234: modelarts.Flavor + (*Schedule)(nil), // 235: modelarts.Schedule + nil, // 236: modelarts.JobMetadata.AnnotationsEntry + nil, // 237: modelarts.Environments.EnvironmentsEntry + nil, // 238: modelarts.FlavorResponse.AttributesEntry + nil, // 239: modelarts.attributesAlRq.AttributesEntry + nil, // 240: modelarts.TagsAlRp.TagsEntry + nil, // 241: modelarts.SearchProp.PropsEntry + nil, // 242: modelarts.ShowModelResp.LabelsMapEntry + nil, // 243: modelarts.ServiceConfig.EnvsEntry + nil, // 244: modelarts.ShowServiceResp.AdditionalPropertiesEntry + nil, // 245: modelarts.QueryServiceConfig.EnvsEntry + nil, // 246: modelarts.QueryServiceConfig.AdditionalPropertiesEntry + nil, // 247: modelarts.ListServices.AdditionalPropertiesEntry } var file_pcm_modelarts_proto_depIdxs = []int32{ 1, // 0: modelarts.auth.identity:type_name -> modelarts.identity @@ -22137,7 +22662,7 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 29, // 19: modelarts.JobResponse.algorithm:type_name -> modelarts.JobAlgorithmResponse 31, // 20: modelarts.JobResponse.tasks:type_name -> modelarts.TaskResponse 61, // 21: modelarts.JobResponse.spec:type_name -> modelarts.Spec - 229, // 22: modelarts.JobMetadata.annotations:type_name -> modelarts.JobMetadata.AnnotationsEntry + 236, // 22: modelarts.JobMetadata.annotations:type_name -> modelarts.JobMetadata.AnnotationsEntry 67, // 23: modelarts.Status.task_statuses:type_name -> modelarts.Task_statuses 58, // 24: modelarts.JobAlgorithmResponse.parameters:type_name -> modelarts.Parameter 52, // 25: modelarts.JobAlgorithmResponse.policies:type_name -> modelarts.policies @@ -22145,12 +22670,12 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 48, // 27: modelarts.JobAlgorithmResponse.outputs:type_name -> modelarts.Output 51, // 28: modelarts.JobAlgorithmResponse.engine:type_name -> modelarts.engine 30, // 29: modelarts.JobAlgorithmResponse.environments:type_name -> modelarts.Environments - 230, // 30: modelarts.Environments.environments:type_name -> modelarts.Environments.EnvironmentsEntry + 237, // 30: modelarts.Environments.environments:type_name -> modelarts.Environments.EnvironmentsEntry 40, // 31: modelarts.TaskResponse.algorithm:type_name -> modelarts.algorithm 32, // 32: modelarts.TaskResponse.task_resource:type_name -> modelarts.FlavorResponse 33, // 33: modelarts.FlavorResponse.billing:type_name -> modelarts.billing 34, // 34: modelarts.FlavorResponse.flavor_info:type_name -> modelarts.flavor_info - 231, // 35: modelarts.FlavorResponse.attributes:type_name -> modelarts.FlavorResponse.AttributesEntry + 238, // 35: modelarts.FlavorResponse.attributes:type_name -> modelarts.FlavorResponse.AttributesEntry 35, // 36: modelarts.flavor_info.cpu:type_name -> modelarts.cpu 37, // 37: modelarts.flavor_info.gpu:type_name -> modelarts.gpu 36, // 38: modelarts.flavor_info.npu:type_name -> modelarts.npu @@ -22207,7 +22732,7 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 95, // 89: modelarts.ParametersAlRq.constraint:type_name -> modelarts.ConstraintAlRq 98, // 90: modelarts.InputsAlRq.remote_constraints:type_name -> modelarts.remote_constraints 99, // 91: modelarts.remote_constraints.attributes:type_name -> modelarts.attributesAlRq - 232, // 92: modelarts.attributesAlRq.attributes:type_name -> modelarts.attributesAlRq.AttributesEntry + 239, // 92: modelarts.attributesAlRq.attributes:type_name -> modelarts.attributesAlRq.AttributesEntry 102, // 93: modelarts.CodeTree.children:type_name -> modelarts.Children 96, // 94: modelarts.JobConfigAl.parameters:type_name -> modelarts.ParametersAlRq 97, // 95: modelarts.JobConfigAl.inputs:type_name -> modelarts.InputsAlRq @@ -22220,7 +22745,7 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 93, // 102: modelarts.CreateAlgorithmResp.advanced_config:type_name -> modelarts.AdvancedConfigAl 109, // 103: modelarts.MetadataCrAl.tags:type_name -> modelarts.TagsAlRp 109, // 104: modelarts.MetadataAlRp.tags:type_name -> modelarts.TagsAlRp - 233, // 105: modelarts.TagsAlRp.tags:type_name -> modelarts.TagsAlRp.TagsEntry + 240, // 105: modelarts.TagsAlRp.tags:type_name -> modelarts.TagsAlRp.TagsEntry 59, // 106: modelarts.ParametersAlRp.i18n_description:type_name -> modelarts.i18n_description 111, // 107: modelarts.ParametersAlRp.constraint:type_name -> modelarts.ConstraintAlRp 115, // 108: modelarts.EngineAlRp.image_info:type_name -> modelarts.ImageInfo @@ -22243,7 +22768,7 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 129, // 125: modelarts.SearchCondition.label_list:type_name -> modelarts.SearchLabels 132, // 126: modelarts.SearchCondition.metadata:type_name -> modelarts.SearchProp 131, // 127: modelarts.SearchLabels.labels:type_name -> modelarts.SearchLabel - 234, // 128: modelarts.SearchProp.props:type_name -> modelarts.SearchProp.PropsEntry + 241, // 128: modelarts.SearchProp.props:type_name -> modelarts.SearchProp.PropsEntry 127, // 129: modelarts.GetExportTasksOfDatasetResp.export_params:type_name -> modelarts.ExportParams 135, // 130: modelarts.GetExportTasksOfDatasetResp.export_tasks:type_name -> modelarts.ExportTaskStatus 127, // 131: modelarts.ExportTaskStatus.export_params:type_name -> modelarts.ExportParams @@ -22275,22 +22800,22 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 166, // 157: modelarts.ShowModelResp.output_params:type_name -> modelarts.ModelParamsInfo 165, // 158: modelarts.ShowModelResp.healthy:type_name -> modelarts.ModelHealth 154, // 159: modelarts.ShowModelResp.dependencies:type_name -> modelarts.ModelDependencies - 235, // 160: modelarts.ShowModelResp.labels_map:type_name -> modelarts.ShowModelResp.LabelsMapEntry + 242, // 160: modelarts.ShowModelResp.labels_map:type_name -> modelarts.ShowModelResp.LabelsMapEntry 162, // 161: modelarts.ShowModelResp.specification:type_name -> modelarts.ModelSpecification 166, // 162: modelarts.ShowModelResp.input_params:type_name -> modelarts.ModelParamsInfo 169, // 163: modelarts.CreateServiceReq.schedule:type_name -> modelarts.Scheduler 170, // 164: modelarts.CreateServiceReq.config:type_name -> modelarts.ServiceConfig 171, // 165: modelarts.ServiceConfig.custom_spec:type_name -> modelarts.CustomSpec - 236, // 166: modelarts.ServiceConfig.envs:type_name -> modelarts.ServiceConfig.EnvsEntry + 243, // 166: modelarts.ServiceConfig.envs:type_name -> modelarts.ServiceConfig.EnvsEntry 169, // 167: modelarts.ShowServiceResp.scheduler:type_name -> modelarts.Scheduler - 237, // 168: modelarts.ShowServiceResp.additional_properties:type_name -> modelarts.ShowServiceResp.AdditionalPropertiesEntry + 244, // 168: modelarts.ShowServiceResp.additional_properties:type_name -> modelarts.ShowServiceResp.AdditionalPropertiesEntry 176, // 169: modelarts.ShowServiceResp.config:type_name -> modelarts.QueryServiceConfig 171, // 170: modelarts.QueryServiceConfig.CustomSpec:type_name -> modelarts.CustomSpec - 238, // 171: modelarts.QueryServiceConfig.envs:type_name -> modelarts.QueryServiceConfig.EnvsEntry - 239, // 172: modelarts.QueryServiceConfig.additional_properties:type_name -> modelarts.QueryServiceConfig.AdditionalPropertiesEntry + 245, // 171: modelarts.QueryServiceConfig.envs:type_name -> modelarts.QueryServiceConfig.EnvsEntry + 246, // 172: modelarts.QueryServiceConfig.additional_properties:type_name -> modelarts.QueryServiceConfig.AdditionalPropertiesEntry 179, // 173: modelarts.ListServicesResp.services:type_name -> modelarts.ListServices 169, // 174: modelarts.ListServices.scheduler:type_name -> modelarts.Scheduler - 240, // 175: modelarts.ListServices.additional_properties:type_name -> modelarts.ListServices.AdditionalPropertiesEntry + 247, // 175: modelarts.ListServices.additional_properties:type_name -> modelarts.ListServices.AdditionalPropertiesEntry 182, // 176: modelarts.ListClustersResp.resp200:type_name -> modelarts.ListClustersResp200 183, // 177: modelarts.ListClustersResp.resp400:type_name -> modelarts.ListClustersResp400 184, // 178: modelarts.ListClustersResp200.clusters:type_name -> modelarts.Cluster @@ -22300,111 +22825,117 @@ var file_pcm_modelarts_proto_depIdxs = []int32{ 207, // 182: modelarts.ListNotebookResp.data:type_name -> modelarts.NotebookResp 195, // 183: modelarts.CreateNotebookReq.param:type_name -> modelarts.CreateNotebookParam 207, // 184: modelarts.CreateNotebookResp.notebookResp:type_name -> modelarts.NotebookResp - 214, // 185: modelarts.CreateNotebookParam.endpoints:type_name -> modelarts.EndpointsReq - 215, // 186: modelarts.CreateNotebookParam.volume:type_name -> modelarts.VolumeReq - 216, // 187: modelarts.CreateNotebookParam.hooks:type_name -> modelarts.CustomHooks - 219, // 188: modelarts.CreateNotebookParam.lease:type_name -> modelarts.LeaseReq + 221, // 185: modelarts.CreateNotebookParam.endpoints:type_name -> modelarts.EndpointsReq + 222, // 186: modelarts.CreateNotebookParam.volume:type_name -> modelarts.VolumeReq + 223, // 187: modelarts.CreateNotebookParam.hooks:type_name -> modelarts.CustomHooks + 226, // 188: modelarts.CreateNotebookParam.lease:type_name -> modelarts.LeaseReq 198, // 189: modelarts.StartNotebookReq.param:type_name -> modelarts.StartNotebookParam 207, // 190: modelarts.StartNotebookResp.notebookResp:type_name -> modelarts.NotebookResp 207, // 191: modelarts.StopNotebookResp.notebookResp:type_name -> modelarts.NotebookResp 206, // 192: modelarts.GetNotebookStorageResp.data:type_name -> modelarts.DataVolumesRes 205, // 193: modelarts.MountNotebookStorageReq.param:type_name -> modelarts.MountNotebookStorageParam - 208, // 194: modelarts.NotebookResp.action_progress:type_name -> modelarts.JobProgress - 209, // 195: modelarts.NotebookResp.endpoints:type_name -> modelarts.EndpointsRes - 210, // 196: modelarts.NotebookResp.image:type_name -> modelarts.Image - 211, // 197: modelarts.NotebookResp.lease:type_name -> modelarts.Lease - 212, // 198: modelarts.NotebookResp.pool:type_name -> modelarts.Pool - 213, // 199: modelarts.NotebookResp.volume:type_name -> modelarts.VolumeRes - 217, // 200: modelarts.CustomHooks.container_hooks:type_name -> modelarts.ContainerHooks - 218, // 201: modelarts.ContainerHooks.post_start:type_name -> modelarts.Config - 218, // 202: modelarts.ContainerHooks.pre_start:type_name -> modelarts.Config - 223, // 203: modelarts.GetVisualizationJobReq.param:type_name -> modelarts.GetVisualizationJobParam - 222, // 204: modelarts.GetVisualizationJobResp.jobs:type_name -> modelarts.Jobs - 226, // 205: modelarts.CreateVisualizationJobReq.param:type_name -> modelarts.CreateVisualizationJobParam - 227, // 206: modelarts.CreateVisualizationJobParam.flavor:type_name -> modelarts.Flavor - 228, // 207: modelarts.CreateVisualizationJobParam.schedule:type_name -> modelarts.Schedule - 130, // 208: modelarts.SearchProp.PropsEntry.value:type_name -> modelarts.weigou - 8, // 209: modelarts.ModelArts.GetToken:input_type -> modelarts.TokenReq - 10, // 210: modelarts.ModelArts.GetDatasetList:input_type -> modelarts.DataSetReq - 186, // 211: modelarts.ModelArts.CreateDataSet:input_type -> modelarts.CreateDataSetReq - 188, // 212: modelarts.ModelArts.DeleteDataSet:input_type -> modelarts.DeleteDataSetReq - 14, // 213: modelarts.ModelArts.createTask:input_type -> modelarts.ImportTaskDataReq - 16, // 214: modelarts.ModelArts.GetImportTaskList:input_type -> modelarts.ListImportTasksReq - 24, // 215: modelarts.ModelArts.GetListTrainingJobs:input_type -> modelarts.ListTrainingJobsreq - 68, // 216: modelarts.ModelArts.CreateTrainingJob:input_type -> modelarts.CreateTrainingJobReq - 84, // 217: modelarts.ModelArts.DeleteTrainingJob:input_type -> modelarts.DeleteTrainingJobReq - 81, // 218: modelarts.ModelArts.CreateTrainingJobConfig:input_type -> modelarts.CreateTrainingJobConfigReq - 86, // 219: modelarts.ModelArts.DeleteTrainingJobConfig:input_type -> modelarts.DeleteTrainingJobConfigReq - 88, // 220: modelarts.ModelArts.ListTrainingJobConfig:input_type -> modelarts.ListTrainingJobConfigReq - 91, // 221: modelarts.ModelArts.CreateAlgorithm:input_type -> modelarts.CreateAlgorithmReq - 117, // 222: modelarts.ModelArts.ListAlgorithms:input_type -> modelarts.ListAlgorithmsReq - 121, // 223: modelarts.ModelArts.DeleteAlgorithms:input_type -> modelarts.DeleteAlgorithmsReq - 123, // 224: modelarts.ModelArts.ShowAlgorithmByUuid:input_type -> modelarts.ShowAlgorithmByUuidReq - 125, // 225: modelarts.ModelArts.ExportTask:input_type -> modelarts.ExportTaskReq - 133, // 226: modelarts.ModelArts.GetExportTasksOfDataset:input_type -> modelarts.GetExportTasksOfDatasetReq - 136, // 227: modelarts.ModelArts.GetExportTaskStatusOfDataset:input_type -> modelarts.GetExportTaskStatusOfDatasetReq - 138, // 228: modelarts.ModelArts.CreateProcessorTask:input_type -> modelarts.CreateProcessorTaskReq - 144, // 229: modelarts.ModelArts.DescribeProcessorTask:input_type -> modelarts.DescribeProcessorTaskReq - 146, // 230: modelarts.ModelArts.CreateModel:input_type -> modelarts.CreateModelReq - 156, // 231: modelarts.ModelArts.DeleteModel:input_type -> modelarts.DeleteModelReq - 159, // 232: modelarts.ModelArts.ListModels:input_type -> modelarts.ListModelReq - 163, // 233: modelarts.ModelArts.ShowModels:input_type -> modelarts.ShowModelReq - 167, // 234: modelarts.ModelArts.CreateService:input_type -> modelarts.CreateServiceReq - 177, // 235: modelarts.ModelArts.ListServices:input_type -> modelarts.ListServicesReq - 174, // 236: modelarts.ModelArts.ShowService:input_type -> modelarts.ShowServiceReq - 172, // 237: modelarts.ModelArts.DeleteService:input_type -> modelarts.DeleteServiceReq - 180, // 238: modelarts.ModelArts.ListClusters:input_type -> modelarts.ListClustersReq - 190, // 239: modelarts.ModelArts.ListNotebook:input_type -> modelarts.ListNotebookReq - 193, // 240: modelarts.ModelArts.CreateNotebook:input_type -> modelarts.CreateNotebookReq - 196, // 241: modelarts.ModelArts.StartNotebook:input_type -> modelarts.StartNotebookReq - 199, // 242: modelarts.ModelArts.StopNotebook:input_type -> modelarts.StopNotebookReq - 201, // 243: modelarts.ModelArts.GetNotebookStorage:input_type -> modelarts.GetNotebookStorageReq - 203, // 244: modelarts.ModelArts.MountNotebookStorage:input_type -> modelarts.MountNotebookStorageReq - 220, // 245: modelarts.ModelArts.GetVisualizationJob:input_type -> modelarts.GetVisualizationJobReq - 224, // 246: modelarts.ModelArts.CreateVisualizationJob:input_type -> modelarts.CreateVisualizationJobReq - 9, // 247: modelarts.ModelArts.GetToken:output_type -> modelarts.TokenResp - 11, // 248: modelarts.ModelArts.GetDatasetList:output_type -> modelarts.DataSetResp - 187, // 249: modelarts.ModelArts.CreateDataSet:output_type -> modelarts.CreateDataSetResq - 189, // 250: modelarts.ModelArts.DeleteDataSet:output_type -> modelarts.DeleteDataSetResq - 15, // 251: modelarts.ModelArts.createTask:output_type -> modelarts.ImportTaskDataResp - 17, // 252: modelarts.ModelArts.GetImportTaskList:output_type -> modelarts.ListImportTasksResp - 25, // 253: modelarts.ModelArts.GetListTrainingJobs:output_type -> modelarts.ListTrainingJobsresp - 69, // 254: modelarts.ModelArts.CreateTrainingJob:output_type -> modelarts.CreateTrainingJobResp - 85, // 255: modelarts.ModelArts.DeleteTrainingJob:output_type -> modelarts.DeleteTrainingJobResp - 83, // 256: modelarts.ModelArts.CreateTrainingJobConfig:output_type -> modelarts.CreateTrainingJobConfigResp - 87, // 257: modelarts.ModelArts.DeleteTrainingJobConfig:output_type -> modelarts.DeleteTrainingJobConfigResp - 89, // 258: modelarts.ModelArts.ListTrainingJobConfig:output_type -> modelarts.ListTrainingJobConfigResp - 105, // 259: modelarts.ModelArts.CreateAlgorithm:output_type -> modelarts.CreateAlgorithmResp - 118, // 260: modelarts.ModelArts.ListAlgorithms:output_type -> modelarts.ListAlgorithmsResp - 122, // 261: modelarts.ModelArts.DeleteAlgorithms:output_type -> modelarts.DeleteAlgorithmsResp - 124, // 262: modelarts.ModelArts.ShowAlgorithmByUuid:output_type -> modelarts.ShowAlgorithmByUuidResp - 126, // 263: modelarts.ModelArts.ExportTask:output_type -> modelarts.ExportTaskDataResp - 134, // 264: modelarts.ModelArts.GetExportTasksOfDataset:output_type -> modelarts.GetExportTasksOfDatasetResp - 137, // 265: modelarts.ModelArts.GetExportTaskStatusOfDataset:output_type -> modelarts.GetExportTaskStatusOfDatasetResp - 139, // 266: modelarts.ModelArts.CreateProcessorTask:output_type -> modelarts.CreateProcessorTaskResp - 145, // 267: modelarts.ModelArts.DescribeProcessorTask:output_type -> modelarts.DescribeProcessorTaskResp - 147, // 268: modelarts.ModelArts.CreateModel:output_type -> modelarts.CreateModelResp - 157, // 269: modelarts.ModelArts.DeleteModel:output_type -> modelarts.DeleteModelResp - 160, // 270: modelarts.ModelArts.ListModels:output_type -> modelarts.ListModelResp - 164, // 271: modelarts.ModelArts.ShowModels:output_type -> modelarts.ShowModelResp - 168, // 272: modelarts.ModelArts.CreateService:output_type -> modelarts.CreateServiceResp - 178, // 273: modelarts.ModelArts.ListServices:output_type -> modelarts.ListServicesResp - 175, // 274: modelarts.ModelArts.ShowService:output_type -> modelarts.ShowServiceResp - 173, // 275: modelarts.ModelArts.DeleteService:output_type -> modelarts.DeleteServiceResp - 181, // 276: modelarts.ModelArts.ListClusters:output_type -> modelarts.ListClustersResp - 191, // 277: modelarts.ModelArts.ListNotebook:output_type -> modelarts.ListNotebookResp - 194, // 278: modelarts.ModelArts.CreateNotebook:output_type -> modelarts.CreateNotebookResp - 197, // 279: modelarts.ModelArts.StartNotebook:output_type -> modelarts.StartNotebookResp - 200, // 280: modelarts.ModelArts.StopNotebook:output_type -> modelarts.StopNotebookResp - 202, // 281: modelarts.ModelArts.GetNotebookStorage:output_type -> modelarts.GetNotebookStorageResp - 204, // 282: modelarts.ModelArts.MountNotebookStorage:output_type -> modelarts.MountNotebookStorageResp - 221, // 283: modelarts.ModelArts.GetVisualizationJob:output_type -> modelarts.GetVisualizationJobResp - 225, // 284: modelarts.ModelArts.CreateVisualizationJob:output_type -> modelarts.CreateVisualizationJobResp - 247, // [247:285] is the sub-list for method output_type - 209, // [209:247] is the sub-list for method input_type - 209, // [209:209] is the sub-list for extension type_name - 209, // [209:209] is the sub-list for extension extendee - 0, // [0:209] is the sub-list for field type_name + 214, // 194: modelarts.NotebookResp.action_progress:type_name -> modelarts.ActionProgress + 216, // 195: modelarts.NotebookResp.endpoints:type_name -> modelarts.EndpointsRes + 217, // 196: modelarts.NotebookResp.image:type_name -> modelarts.Image + 218, // 197: modelarts.NotebookResp.lease:type_name -> modelarts.Lease + 219, // 198: modelarts.NotebookResp.pool:type_name -> modelarts.Pool + 220, // 199: modelarts.NotebookResp.volume:type_name -> modelarts.VolumeRes + 210, // 200: modelarts.NotebookResp.hooks:type_name -> modelarts.Hooks + 208, // 201: modelarts.NotebookResp.user:type_name -> modelarts.UserNotebookResp + 209, // 202: modelarts.UserNotebookResp.domain:type_name -> modelarts.UserNotebookDomain + 211, // 203: modelarts.Hooks.containerHooks:type_name -> modelarts.ContainerHooksResp + 212, // 204: modelarts.ContainerHooksResp.postStart:type_name -> modelarts.PostStart + 213, // 205: modelarts.ContainerHooksResp.preStart:type_name -> modelarts.PreStart + 224, // 206: modelarts.CustomHooks.container_hooks:type_name -> modelarts.ContainerHooks + 225, // 207: modelarts.ContainerHooks.post_start:type_name -> modelarts.Config + 225, // 208: modelarts.ContainerHooks.pre_start:type_name -> modelarts.Config + 230, // 209: modelarts.GetVisualizationJobReq.param:type_name -> modelarts.GetVisualizationJobParam + 229, // 210: modelarts.GetVisualizationJobResp.jobs:type_name -> modelarts.Jobs + 233, // 211: modelarts.CreateVisualizationJobReq.param:type_name -> modelarts.CreateVisualizationJobParam + 234, // 212: modelarts.CreateVisualizationJobParam.flavor:type_name -> modelarts.Flavor + 235, // 213: modelarts.CreateVisualizationJobParam.schedule:type_name -> modelarts.Schedule + 130, // 214: modelarts.SearchProp.PropsEntry.value:type_name -> modelarts.weigou + 8, // 215: modelarts.ModelArts.GetToken:input_type -> modelarts.TokenReq + 10, // 216: modelarts.ModelArts.GetDatasetList:input_type -> modelarts.DataSetReq + 186, // 217: modelarts.ModelArts.CreateDataSet:input_type -> modelarts.CreateDataSetReq + 188, // 218: modelarts.ModelArts.DeleteDataSet:input_type -> modelarts.DeleteDataSetReq + 14, // 219: modelarts.ModelArts.createTask:input_type -> modelarts.ImportTaskDataReq + 16, // 220: modelarts.ModelArts.GetImportTaskList:input_type -> modelarts.ListImportTasksReq + 24, // 221: modelarts.ModelArts.GetListTrainingJobs:input_type -> modelarts.ListTrainingJobsreq + 68, // 222: modelarts.ModelArts.CreateTrainingJob:input_type -> modelarts.CreateTrainingJobReq + 84, // 223: modelarts.ModelArts.DeleteTrainingJob:input_type -> modelarts.DeleteTrainingJobReq + 81, // 224: modelarts.ModelArts.CreateTrainingJobConfig:input_type -> modelarts.CreateTrainingJobConfigReq + 86, // 225: modelarts.ModelArts.DeleteTrainingJobConfig:input_type -> modelarts.DeleteTrainingJobConfigReq + 88, // 226: modelarts.ModelArts.ListTrainingJobConfig:input_type -> modelarts.ListTrainingJobConfigReq + 91, // 227: modelarts.ModelArts.CreateAlgorithm:input_type -> modelarts.CreateAlgorithmReq + 117, // 228: modelarts.ModelArts.ListAlgorithms:input_type -> modelarts.ListAlgorithmsReq + 121, // 229: modelarts.ModelArts.DeleteAlgorithms:input_type -> modelarts.DeleteAlgorithmsReq + 123, // 230: modelarts.ModelArts.ShowAlgorithmByUuid:input_type -> modelarts.ShowAlgorithmByUuidReq + 125, // 231: modelarts.ModelArts.ExportTask:input_type -> modelarts.ExportTaskReq + 133, // 232: modelarts.ModelArts.GetExportTasksOfDataset:input_type -> modelarts.GetExportTasksOfDatasetReq + 136, // 233: modelarts.ModelArts.GetExportTaskStatusOfDataset:input_type -> modelarts.GetExportTaskStatusOfDatasetReq + 138, // 234: modelarts.ModelArts.CreateProcessorTask:input_type -> modelarts.CreateProcessorTaskReq + 144, // 235: modelarts.ModelArts.DescribeProcessorTask:input_type -> modelarts.DescribeProcessorTaskReq + 146, // 236: modelarts.ModelArts.CreateModel:input_type -> modelarts.CreateModelReq + 156, // 237: modelarts.ModelArts.DeleteModel:input_type -> modelarts.DeleteModelReq + 159, // 238: modelarts.ModelArts.ListModels:input_type -> modelarts.ListModelReq + 163, // 239: modelarts.ModelArts.ShowModels:input_type -> modelarts.ShowModelReq + 167, // 240: modelarts.ModelArts.CreateService:input_type -> modelarts.CreateServiceReq + 177, // 241: modelarts.ModelArts.ListServices:input_type -> modelarts.ListServicesReq + 174, // 242: modelarts.ModelArts.ShowService:input_type -> modelarts.ShowServiceReq + 172, // 243: modelarts.ModelArts.DeleteService:input_type -> modelarts.DeleteServiceReq + 180, // 244: modelarts.ModelArts.ListClusters:input_type -> modelarts.ListClustersReq + 190, // 245: modelarts.ModelArts.ListNotebook:input_type -> modelarts.ListNotebookReq + 193, // 246: modelarts.ModelArts.CreateNotebook:input_type -> modelarts.CreateNotebookReq + 196, // 247: modelarts.ModelArts.StartNotebook:input_type -> modelarts.StartNotebookReq + 199, // 248: modelarts.ModelArts.StopNotebook:input_type -> modelarts.StopNotebookReq + 201, // 249: modelarts.ModelArts.GetNotebookStorage:input_type -> modelarts.GetNotebookStorageReq + 203, // 250: modelarts.ModelArts.MountNotebookStorage:input_type -> modelarts.MountNotebookStorageReq + 227, // 251: modelarts.ModelArts.GetVisualizationJob:input_type -> modelarts.GetVisualizationJobReq + 231, // 252: modelarts.ModelArts.CreateVisualizationJob:input_type -> modelarts.CreateVisualizationJobReq + 9, // 253: modelarts.ModelArts.GetToken:output_type -> modelarts.TokenResp + 11, // 254: modelarts.ModelArts.GetDatasetList:output_type -> modelarts.DataSetResp + 187, // 255: modelarts.ModelArts.CreateDataSet:output_type -> modelarts.CreateDataSetResq + 189, // 256: modelarts.ModelArts.DeleteDataSet:output_type -> modelarts.DeleteDataSetResq + 15, // 257: modelarts.ModelArts.createTask:output_type -> modelarts.ImportTaskDataResp + 17, // 258: modelarts.ModelArts.GetImportTaskList:output_type -> modelarts.ListImportTasksResp + 25, // 259: modelarts.ModelArts.GetListTrainingJobs:output_type -> modelarts.ListTrainingJobsresp + 69, // 260: modelarts.ModelArts.CreateTrainingJob:output_type -> modelarts.CreateTrainingJobResp + 85, // 261: modelarts.ModelArts.DeleteTrainingJob:output_type -> modelarts.DeleteTrainingJobResp + 83, // 262: modelarts.ModelArts.CreateTrainingJobConfig:output_type -> modelarts.CreateTrainingJobConfigResp + 87, // 263: modelarts.ModelArts.DeleteTrainingJobConfig:output_type -> modelarts.DeleteTrainingJobConfigResp + 89, // 264: modelarts.ModelArts.ListTrainingJobConfig:output_type -> modelarts.ListTrainingJobConfigResp + 105, // 265: modelarts.ModelArts.CreateAlgorithm:output_type -> modelarts.CreateAlgorithmResp + 118, // 266: modelarts.ModelArts.ListAlgorithms:output_type -> modelarts.ListAlgorithmsResp + 122, // 267: modelarts.ModelArts.DeleteAlgorithms:output_type -> modelarts.DeleteAlgorithmsResp + 124, // 268: modelarts.ModelArts.ShowAlgorithmByUuid:output_type -> modelarts.ShowAlgorithmByUuidResp + 126, // 269: modelarts.ModelArts.ExportTask:output_type -> modelarts.ExportTaskDataResp + 134, // 270: modelarts.ModelArts.GetExportTasksOfDataset:output_type -> modelarts.GetExportTasksOfDatasetResp + 137, // 271: modelarts.ModelArts.GetExportTaskStatusOfDataset:output_type -> modelarts.GetExportTaskStatusOfDatasetResp + 139, // 272: modelarts.ModelArts.CreateProcessorTask:output_type -> modelarts.CreateProcessorTaskResp + 145, // 273: modelarts.ModelArts.DescribeProcessorTask:output_type -> modelarts.DescribeProcessorTaskResp + 147, // 274: modelarts.ModelArts.CreateModel:output_type -> modelarts.CreateModelResp + 157, // 275: modelarts.ModelArts.DeleteModel:output_type -> modelarts.DeleteModelResp + 160, // 276: modelarts.ModelArts.ListModels:output_type -> modelarts.ListModelResp + 164, // 277: modelarts.ModelArts.ShowModels:output_type -> modelarts.ShowModelResp + 168, // 278: modelarts.ModelArts.CreateService:output_type -> modelarts.CreateServiceResp + 178, // 279: modelarts.ModelArts.ListServices:output_type -> modelarts.ListServicesResp + 175, // 280: modelarts.ModelArts.ShowService:output_type -> modelarts.ShowServiceResp + 173, // 281: modelarts.ModelArts.DeleteService:output_type -> modelarts.DeleteServiceResp + 181, // 282: modelarts.ModelArts.ListClusters:output_type -> modelarts.ListClustersResp + 191, // 283: modelarts.ModelArts.ListNotebook:output_type -> modelarts.ListNotebookResp + 194, // 284: modelarts.ModelArts.CreateNotebook:output_type -> modelarts.CreateNotebookResp + 197, // 285: modelarts.ModelArts.StartNotebook:output_type -> modelarts.StartNotebookResp + 200, // 286: modelarts.ModelArts.StopNotebook:output_type -> modelarts.StopNotebookResp + 202, // 287: modelarts.ModelArts.GetNotebookStorage:output_type -> modelarts.GetNotebookStorageResp + 204, // 288: modelarts.ModelArts.MountNotebookStorage:output_type -> modelarts.MountNotebookStorageResp + 228, // 289: modelarts.ModelArts.GetVisualizationJob:output_type -> modelarts.GetVisualizationJobResp + 232, // 290: modelarts.ModelArts.CreateVisualizationJob:output_type -> modelarts.CreateVisualizationJobResp + 253, // [253:291] is the sub-list for method output_type + 215, // [215:253] is the sub-list for method input_type + 215, // [215:215] is the sub-list for extension type_name + 215, // [215:215] is the sub-list for extension extendee + 0, // [0:215] is the sub-list for field type_name } func init() { file_pcm_modelarts_proto_init() } @@ -24910,7 +25441,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobProgress); i { + switch v := v.(*UserNotebookResp); i { case 0: return &v.state case 1: @@ -24922,7 +25453,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EndpointsRes); i { + switch v := v.(*UserNotebookDomain); i { case 0: return &v.state case 1: @@ -24934,7 +25465,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Image); i { + switch v := v.(*Hooks); i { case 0: return &v.state case 1: @@ -24946,7 +25477,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Lease); i { + switch v := v.(*ContainerHooksResp); i { case 0: return &v.state case 1: @@ -24958,7 +25489,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pool); i { + switch v := v.(*PostStart); i { case 0: return &v.state case 1: @@ -24970,7 +25501,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeRes); i { + switch v := v.(*PreStart); i { case 0: return &v.state case 1: @@ -24982,7 +25513,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EndpointsReq); i { + switch v := v.(*ActionProgress); i { case 0: return &v.state case 1: @@ -24994,7 +25525,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeReq); i { + switch v := v.(*JobProgress); i { case 0: return &v.state case 1: @@ -25006,7 +25537,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomHooks); i { + switch v := v.(*EndpointsRes); i { case 0: return &v.state case 1: @@ -25018,7 +25549,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerHooks); i { + switch v := v.(*Image); i { case 0: return &v.state case 1: @@ -25030,7 +25561,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { + switch v := v.(*Lease); i { case 0: return &v.state case 1: @@ -25042,7 +25573,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LeaseReq); i { + switch v := v.(*Pool); i { case 0: return &v.state case 1: @@ -25054,7 +25585,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVisualizationJobReq); i { + switch v := v.(*VolumeRes); i { case 0: return &v.state case 1: @@ -25066,7 +25597,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVisualizationJobResp); i { + switch v := v.(*EndpointsReq); i { case 0: return &v.state case 1: @@ -25078,7 +25609,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Jobs); i { + switch v := v.(*VolumeReq); i { case 0: return &v.state case 1: @@ -25090,7 +25621,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVisualizationJobParam); i { + switch v := v.(*CustomHooks); i { case 0: return &v.state case 1: @@ -25102,7 +25633,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVisualizationJobReq); i { + switch v := v.(*ContainerHooks); i { case 0: return &v.state case 1: @@ -25114,7 +25645,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVisualizationJobResp); i { + switch v := v.(*Config); i { case 0: return &v.state case 1: @@ -25126,7 +25657,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVisualizationJobParam); i { + switch v := v.(*LeaseReq); i { case 0: return &v.state case 1: @@ -25138,7 +25669,7 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Flavor); i { + switch v := v.(*GetVisualizationJobReq); i { case 0: return &v.state case 1: @@ -25150,6 +25681,90 @@ func file_pcm_modelarts_proto_init() { } } file_pcm_modelarts_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVisualizationJobResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Jobs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVisualizationJobParam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVisualizationJobReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVisualizationJobResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVisualizationJobParam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_modelarts_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Schedule); i { case 0: return &v.state @@ -25168,7 +25783,7 @@ func file_pcm_modelarts_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pcm_modelarts_proto_rawDesc, NumEnums: 0, - NumMessages: 241, + NumMessages: 248, NumExtensions: 0, NumServices: 1, }, diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient/modelarts.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient/modelarts.go index a435d722..4b879027 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient/modelarts.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient/modelarts.go @@ -13,6 +13,7 @@ import ( ) type ( + ActionProgress = modelarts.ActionProgress AdvancedConfigAl = modelarts.AdvancedConfigAl AlgoConfigs = modelarts.AlgoConfigs Algorithm = modelarts.Algorithm @@ -35,6 +36,7 @@ type ( ConstraintAlRq = modelarts.ConstraintAlRq ConstraintCreateTraining = modelarts.ConstraintCreateTraining ContainerHooks = modelarts.ContainerHooks + ContainerHooksResp = modelarts.ContainerHooksResp Cpu = modelarts.Cpu CreateAlgorithmReq = modelarts.CreateAlgorithmReq CreateAlgorithmResp = modelarts.CreateAlgorithmResp @@ -113,6 +115,7 @@ type ( GetVisualizationJobResp = modelarts.GetVisualizationJobResp Gpu = modelarts.Gpu GuideDoc = modelarts.GuideDoc + Hooks = modelarts.Hooks I18NDescription = modelarts.I18NDescription Identity = modelarts.Identity Image = modelarts.Image @@ -191,6 +194,8 @@ type ( Policies = modelarts.Policies PoliciesCreateTraining = modelarts.PoliciesCreateTraining Pool = modelarts.Pool + PostStart = modelarts.PostStart + PreStart = modelarts.PreStart ProcessorDataSource = modelarts.ProcessorDataSource Project = modelarts.Project QueryServiceConfig = modelarts.QueryServiceConfig @@ -237,6 +242,8 @@ type ( TokenReq = modelarts.TokenReq TokenResp = modelarts.TokenResp User = modelarts.User + UserNotebookDomain = modelarts.UserNotebookDomain + UserNotebookResp = modelarts.UserNotebookResp VolumeReq = modelarts.VolumeReq VolumeRes = modelarts.VolumeRes Volumes = modelarts.Volumes diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto b/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto index a3ea27b4..2b6843d4 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto @@ -1779,7 +1779,7 @@ message DataVolumesRes{ } message NotebookResp{ - repeated JobProgress action_progress = 1; // @gotags: copier:"ActionProgress" + repeated ActionProgress action_progress = 1; // @gotags: copier:"ActionProgress" string description = 2; // @gotags: copier:"Description" repeated EndpointsRes endpoints = 3; // @gotags: copier:"Endpoints" string fail_reason = 4; // @gotags: copier:"FailReason" @@ -1795,7 +1795,53 @@ message NotebookResp{ VolumeRes volume = 14; // @gotags: copier:"Volume" string workspace_id = 15; // @gotags: copier:"WorkspaceId" string feature = 16; // @gotags: copier:"Feature" + int64 create_at = 17; // @gotags: copier:"CreateAt" * + Hooks hooks = 18; // @gotags: copier:"Hooks" * + repeated string tags = 19; // @gotags: copier:"Tags" * + int64 update_at = 20; // @gotags: copier:"UpdateAt" * + UserNotebookResp user = 21; // @gotags: copier:"UserNotebookResp" * + string user_id = 22; // @gotags: copier:"UserId" * + repeated string billing_items = 23; // @gotags: copier:"BillingItems" * } + +message UserNotebookResp{ + UserNotebookDomain domain = 1; // @gotags: copier:"UserNotebookDomain" * + string id = 2; // @gotags: copier:"Id" * + string name = 3; // @gotags: copier:"Name" * +} + +message UserNotebookDomain{ + string id = 1; // @gotags: copier:"Id" * + string name = 2; // @gotags: copier:"Name" * +} + +message Hooks { + ContainerHooksResp containerHooks =1; // @gotags: copier:"ContainerHooksResp" * +} + +message ContainerHooksResp{ + PostStart postStart=1; // @gotags: copier:"PostStart" * + PreStart preStart=2; // @gotags: copier:"PreStart" * +} + +message PostStart{ + string mode=1; // @gotags: copier:"Mode" * + string script=2; // @gotags: copier:"Script" * + string type=3; // @gotags: copier:"Type" * +} + +message PreStart{ + string mode=1; // @gotags: copier:"Mode" * + string script=2; // @gotags: copier:"Script" * + string type=3; // @gotags: copier:"Type" * +} + +message ActionProgress{ + int32 step = 1; // @gotags: copier:"Step" * + string status = 2; // @gotags: copier:"Status" * + string description = 3; // @gotags: copier:"Description" * +} + message JobProgress{ string notebook_id = 1; // @gotags: copier:"NotebookId" string status = 2; // @gotags: copier:"Status" diff --git a/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api b/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api index f977b6cb..42ce94eb 100644 --- a/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api +++ b/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api @@ -1089,7 +1089,7 @@ type ( PoolId string `json:"pool_id,optional" copier:"PoolId"` Volume VolumeReq `json:"volume" copier:"Volume"` WorkspaceId string `json:"workspace_id,optional" copier:"WorkspaceId"` - Hooks CustomHooks `json:"hooks,optional" copier:"Hooks"` + Hooks CustomHooks `json:"hooks" copier:"Hooks"` Lease LeaseReq `json:"lease,optional" copier:"Lease"` } @@ -1158,73 +1158,118 @@ type ( Uri string `json:"uri" copier:"Uri"` } NotebookResp { - ActionProgress []JobProgress `json:"action_progress" copier:"ActionProgress"` - Description string `json:"description" copier:"Description"` - Endpoints []EndpointsRes `json:"endpoints" copier:"Endpoints"` - FailReason string `json:"fail_reason" copier:"FailReason"` - Flavor string `json:"flavor" copier:"Flavor"` - Id string `json:"id" copier:"Id"` - Image Image `json:"image" copier:"Image"` - Lease Lease `json:"lease" copier:"Lease"` - Name string `json:"name" copier:"Name"` - Pool Pool `json:"pool" copier:"Pool"` - Status string `json:"status" copier:"Status"` - Token string `json:"token" copier:"Token"` - Url string `json:"url" copier:"Url"` - Volume VolumeRes `json:"volume" copier:"Volume"` - WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` - Feature string `json:"feature" copier:"Feature"` + ActionProgress []ActionProgress `json:"action_progress,omitempty" copier:"ActionProgress"` + Description string `json:"description,omitempty" copier:"Description"` + Endpoints []EndpointsRes `json:"endpoints,omitempty" copier:"Endpoints"` + FailReason string `json:"fail_reason,omitempty" copier:"FailReason"` + Flavor string `json:"flavor,omitempty" copier:"Flavor"` + Id string `json:"id,omitempty" copier:"Id"` + Image Image `json:"image,omitempty" copier:"Image"` + Lease Lease `json:"lease,omitempty" copier:"Lease"` + Name string `json:"name,omitempty" copier:"Name"` + Pool Pool `json:"pool,omitempty" copier:"Pool"` + Status string `json:"status,omitempty" copier:"Status"` + Token string `json:"token,omitempty" copier:"Token"` + Url string `json:"url,omitempty" copier:"Url"` + Volume VolumeRes `json:"volume,omitempty" copier:"Volume"` + WorkspaceId string `json:"workspace_id,omitempty" copier:"WorkspaceId"` + Feature string `json:"feature,omitempty" copier:"Feature"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` // * + Hooks Hooks `json:"hooks,omitempty" copier:"Hooks"` // * + Tags []string `json:"tags,omitempty" copier:"Tags"` // * + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` // * + UserNotebookResp UserNotebookResp `json:"user,omitempty" copier:"UserNotebookResp"` // * + UserId string `json:"user_id,omitempty" copier:"UserId"` // * + BillingItems []string `json:"billing_items,omitempty" copier:"BillingItems"` // * + } + + UserNotebookResp{ + UserNotebookDomain UserNotebookDomain `json:"domain,omitempty" copier:"UserNotebookDomain"` // * + Id string `json:"id,omitempty" copier:"Id"` // * + Name string `json:"name,omitempty" copier:"Name"` // * + } + + UserNotebookDomain{ + Id string `json:"id,omitempty" copier:"Id"` // * + Name string `json:"name,omitempty" copier:"Name"` // * + } + + Hooks{ + ContainerHooksResp ContainerHooksResp `json:"containerHooks,omitempty" copier:"ContainerHooksResp"` // * + } + + ContainerHooksResp{ + PostStart PostStart `json:"postStart,omitempty" copier:"PostStart"` // * + PreStart PreStart `json:"preStart,omitempty" copier:"PreStart"` // * + } + + PostStart{ + Mode string `json:"mode,omitempty" copier:"Mode"` // * + Script string `json:"script,omitempty" copier:"Script"` // * + Type string `json:"type,omitempty" copier:"Type"` // * + } + + PreStart{ + Mode string `json:"mode,omitempty" copier:"Mode"` // * + Script string `json:"script,omitempty" copier:"Script"` // * + Type string `json:"type,omitempty" copier:"Type"` // * + } + + ActionProgress{ + Step int32 `json:"step,omitempty" copier:"Step"` // * + Status string `json:"status,omitempty" copier:"Status"` // * + Description string `json:"description,omitempty" copier:"Description"` // * } JobProgress { NotebookId string `json:"notebook_id" copier:"NotebookId"` - Status string `json:"status" copier:"Status"` - Step int32 `json:"step" copier:"Step"` - StepDescription string `json:"step_description" copier:"StepDescription"` + Status string `json:"status,omitempty" copier:"Status"` + Step int32 `json:"step,omitempty" copier:"Step"` + StepDescription string `json:"step_description,omitempty" copier:"StepDescription"` } EndpointsRes { - AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` - DevService string `json:"dev_service" copier:"DevService"` - SshKeys []string `json:"ssh_keys" copier:"SshKeys"` + AllowedAccessIps []string `json:"allowed_access_ips,omitempty" copier:"AllowedAccessIps"` + DevService string `json:"dev_service,omitempty" copier:"DevService"` + SshKeys []string `json:"ssh_keys,omitempty" copier:"SshKeys"` } Image { - Arch string `json:"arch" copier:"Arch"` - CreateAt int64 `json:"create_at" copier:"CreateAt"` - Description string `json:"description" copier:"Description"` - DevServices []string `json:"dev_services" copier:"DevServices"` - Id string `json:"id" copier:"Id"` - Name string `json:"name" copier:"Name"` - Namespace string `json:"namespace" copier:"Namespace"` - Origin string `json:"origin" copier:"Origin"` - ResourceCategories []string `json:"resource_categories" copier:"ResourceCategories"` - ServiceType string `json:"service_type" copier:"ServiceType"` - Size int64 `json:"size" copier:"Size"` - Status string `json:"status" copier:"Status"` - StatusMessage string `json:"status_message" copier:"StatusMessage"` - SupportResCategories []string `json:"support_res_categories" copier:"SupportResCategories"` - SwrPath string `json:"swr_path" copier:"SwrPath"` - Tag string `json:"tag" copier:"Tag"` - TypeImage string `json:"type" copier:"TypeImage"` - UpdateAt int64 `json:"update_at" copier:"UpdateAt"` - Visibility string `json:"visibility" copier:"Visibility"` - WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Arch string `json:"arch,omitempty" copier:"Arch"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` + Description string `json:"description,omitempty" copier:"Description"` + DevServices []string `json:"dev_services,omitempty" copier:"DevServices"` + Id string `json:"id,omitempty" copier:"Id"` + Name string `json:"name,omitempty" copier:"Name"` + Namespace string `json:"namespace,omitempty" copier:"Namespace"` + Origin string `json:"origin,omitempty" copier:"Origin"` + ResourceCategories []string `json:"resource_categories,omitempty" copier:"ResourceCategories"` + ServiceType string `json:"service_type,omitempty" copier:"ServiceType"` + Size int64 `json:"size,omitempty" copier:"Size"` + Status string `json:"status,omitempty" copier:"Status"` + StatusMessage string `json:"status_message,omitempty" copier:"StatusMessage"` + SupportResCategories []string `json:"support_res_categories,omitempty" copier:"SupportResCategories"` + SwrPath string `json:"swr_path,omitempty" copier:"SwrPath"` + Tag string `json:"tag,omitempty" copier:"Tag"` + TypeImage string `json:"type,omitempty" copier:"TypeImage"` + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` + Visibility string `json:"visibility,omitempty" copier:"Visibility"` + WorkspaceId string `json:"workspace_id,omitempty" copier:"WorkspaceId"` } Lease { - CreateAt int64 `json:"create_at" copier:"CreateAt"` - Duration int64 `json:"duration" copier:"Duration"` - Enable bool `json:"enable" copier:"Enable"` - TypeLease string `json:"type" copier:"TypeLease"` - UpdateAt int64 `json:"update_at" copier:"UpdateAt"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` + Duration int64 `json:"duration,omitempty" copier:"Duration"` + Enable bool `json:"enable,omitempty" copier:"Enable"` + TypeLease string `json:"type,omitempty" copier:"TypeLease"` + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` } Pool { - Id string `json:"id" copier:"Id"` - Name string `json:"name" copier:"Name"` + Id string `json:"id,omitempty" copier:"Id"` + Name string `json:"name,omitempty" copier:"Name"` } VolumeRes { - Capacity int64 `json:"capacity" copier:"Capacity"` - Category string `json:"category" copier:"Category"` - MountPath string `json:"mount_path" copier:"MountPath"` - Ownership string `json:"ownership" copier:"Ownership"` - Status string `json:"status" copier:"Status"` + Capacity int64 `json:"capacity,omitempty" copier:"Capacity"` + Category string `json:"category,omitempty" copier:"Category"` + MountPath string `json:"mount_path,omitempty" copier:"MountPath"` + Ownership string `json:"ownership,omitempty" copier:"Ownership"` + Status string `json:"status,omitempty" copier:"Status"` } EndpointsReq { AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` @@ -1249,8 +1294,8 @@ type ( TypeConfig string `json:"type" copier:"TypeConfig"` } LeaseReq { - Duration int64 `json:"duration" copier:"Duration"` - TypeLeaseReq string `json:"type" copier:"TypeLeaseReq"` + Duration int64 `json:"duration,omitempty" copier:"Duration"` + TypeLeaseReq string `json:"type,omitempty" copier:"TypeLeaseReq"` } ) /******************Notebook Type end*************************/ diff --git a/adaptor/PCM-CORE/api/internal/logic/ai/createnotebooklogic.go b/adaptor/PCM-CORE/api/internal/logic/ai/createnotebooklogic.go index 37d3a2cf..58cf5130 100644 --- a/adaptor/PCM-CORE/api/internal/logic/ai/createnotebooklogic.go +++ b/adaptor/PCM-CORE/api/internal/logic/ai/createnotebooklogic.go @@ -37,7 +37,7 @@ func (l *CreateNotebookLogic) CreateNotebook(req *types.CreateNotebookReq) (resp return nil, errors.Wrapf(xerr.NewErrMsg("Failed to create notebook"), "Failed to create notebook err : %v ,req:%+v", err, req) } resp = &types.CreateNotebookResp{} - err = copier.CopyWithOption(resp, createNotebookResp, copier.Option{Converters: tool.Converters}) + err = copier.CopyWithOption(resp, createNotebookResp, copier.Option{IgnoreEmpty: true, DeepCopy: true, Converters: tool.Converters}) return resp, nil } diff --git a/adaptor/PCM-CORE/api/internal/types/types.go b/adaptor/PCM-CORE/api/internal/types/types.go index d8ddef09..7a670817 100644 --- a/adaptor/PCM-CORE/api/internal/types/types.go +++ b/adaptor/PCM-CORE/api/internal/types/types.go @@ -1478,7 +1478,7 @@ type CreateNotebookParam struct { PoolId string `json:"pool_id,optional" copier:"PoolId"` Volume VolumeReq `json:"volume" copier:"Volume"` WorkspaceId string `json:"workspace_id,optional" copier:"WorkspaceId"` - Hooks CustomHooks `json:"hooks,optional" copier:"Hooks"` + Hooks CustomHooks `json:"hooks" copier:"Hooks"` Lease LeaseReq `json:"lease,optional" copier:"Lease"` } @@ -1554,79 +1554,124 @@ type DataVolumesRes struct { } type NotebookResp struct { - ActionProgress []JobProgress `json:"action_progress" copier:"ActionProgress"` - Description string `json:"description" copier:"Description"` - Endpoints []EndpointsRes `json:"endpoints" copier:"Endpoints"` - FailReason string `json:"fail_reason" copier:"FailReason"` - Flavor string `json:"flavor" copier:"Flavor"` - Id string `json:"id" copier:"Id"` - Image Image `json:"image" copier:"Image"` - Lease Lease `json:"lease" copier:"Lease"` - Name string `json:"name" copier:"Name"` - Pool Pool `json:"pool" copier:"Pool"` - Status string `json:"status" copier:"Status"` - Token string `json:"token" copier:"Token"` - Url string `json:"url" copier:"Url"` - Volume VolumeRes `json:"volume" copier:"Volume"` - WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` - Feature string `json:"feature" copier:"Feature"` + ActionProgress []ActionProgress `json:"action_progress,omitempty" copier:"ActionProgress"` + Description string `json:"description,omitempty" copier:"Description"` + Endpoints []EndpointsRes `json:"endpoints,omitempty" copier:"Endpoints"` + FailReason string `json:"fail_reason,omitempty" copier:"FailReason"` + Flavor string `json:"flavor,omitempty" copier:"Flavor"` + Id string `json:"id,omitempty" copier:"Id"` + Image Image `json:"image,omitempty" copier:"Image"` + Lease Lease `json:"lease,omitempty" copier:"Lease"` + Name string `json:"name,omitempty" copier:"Name"` + Pool Pool `json:"pool,omitempty" copier:"Pool"` + Status string `json:"status,omitempty" copier:"Status"` + Token string `json:"token,omitempty" copier:"Token"` + Url string `json:"url,omitempty" copier:"Url"` + Volume VolumeRes `json:"volume,omitempty" copier:"Volume"` + WorkspaceId string `json:"workspace_id,omitempty" copier:"WorkspaceId"` + Feature string `json:"feature,omitempty" copier:"Feature"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` // * + Hooks Hooks `json:"hooks,omitempty" copier:"Hooks"` + Tags []string `json:"tags,omitempty" copier:"Tags"` // * + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` // * + UserNotebookResp UserNotebookResp `json:"user,omitempty" copier:"UserNotebookResp"` // * + UserId string `json:"user_id,omitempty" copier:"UserId"` // * + BillingItems []string `json:"billing_items,omitempty" copier:"BillingItems"` // * +} + +type UserNotebookResp struct { + UserNotebookDomain UserNotebookDomain `json:"domain,omitempty" copier:"UserNotebookDomain"` // * + Id string `json:"id,omitempty" copier:"Id"` // * + Name string `json:"name,omitempty" copier:"Name"` // * +} + +type UserNotebookDomain struct { + Id string `json:"id,omitempty" copier:"Id"` // * + Name string `json:"name,omitempty" copier:"Name"` // * +} + +type Hooks struct { + ContainerHooksResp ContainerHooksResp `json:"containerHooks,omitempty" copier:"ContainerHooksResp"` // * +} + +type ContainerHooksResp struct { + PostStart PostStart `json:"postStart,omitempty" copier:"PostStart"` // * + PreStart PreStart `json:"preStart,omitempty" copier:"PreStart"` // * +} + +type PostStart struct { + Mode string `json:"mode,omitempty" copier:"Mode"` // * + Script string `json:"script,omitempty" copier:"Script"` // * + Type string `json:"type,omitempty" copier:"Type"` // * +} + +type PreStart struct { + Mode string `json:"mode,omitempty" copier:"Mode"` // * + Script string `json:"script,omitempty" copier:"Script"` // * + Type string `json:"type,omitempty" copier:"Type"` // * +} + +type ActionProgress struct { + Step int32 `json:"step,omitempty" copier:"Step"` // * + Status string `json:"status,omitempty" copier:"Status"` // * + Description string `json:"description,omitempty" copier:"Description"` // * } type JobProgress struct { NotebookId string `json:"notebook_id" copier:"NotebookId"` - Status string `json:"status" copier:"Status"` - Step int32 `json:"step" copier:"Step"` - StepDescription string `json:"step_description" copier:"StepDescription"` + Status string `json:"status,omitempty" copier:"Status"` + Step int32 `json:"step,omitempty" copier:"Step"` + StepDescription string `json:"step_description,omitempty" copier:"StepDescription"` } type EndpointsRes struct { - AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` - DevService string `json:"dev_service" copier:"DevService"` - SshKeys []string `json:"ssh_keys" copier:"SshKeys"` + AllowedAccessIps []string `json:"allowed_access_ips,omitempty" copier:"AllowedAccessIps"` + DevService string `json:"dev_service,omitempty" copier:"DevService"` + SshKeys []string `json:"ssh_keys,omitempty" copier:"SshKeys"` } type Image struct { - Arch string `json:"arch" copier:"Arch"` - CreateAt int64 `json:"create_at" copier:"CreateAt"` - Description string `json:"description" copier:"Description"` - DevServices []string `json:"dev_services" copier:"DevServices"` - Id string `json:"id" copier:"Id"` - Name string `json:"name" copier:"Name"` - Namespace string `json:"namespace" copier:"Namespace"` - Origin string `json:"origin" copier:"Origin"` - ResourceCategories []string `json:"resource_categories" copier:"ResourceCategories"` - ServiceType string `json:"service_type" copier:"ServiceType"` - Size int64 `json:"size" copier:"Size"` - Status string `json:"status" copier:"Status"` - StatusMessage string `json:"status_message" copier:"StatusMessage"` - SupportResCategories []string `json:"support_res_categories" copier:"SupportResCategories"` - SwrPath string `json:"swr_path" copier:"SwrPath"` - Tag string `json:"tag" copier:"Tag"` - TypeImage string `json:"type" copier:"TypeImage"` - UpdateAt int64 `json:"update_at" copier:"UpdateAt"` - Visibility string `json:"visibility" copier:"Visibility"` - WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Arch string `json:"arch,omitempty" copier:"Arch"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` + Description string `json:"description,omitempty" copier:"Description"` + DevServices []string `json:"dev_services,omitempty" copier:"DevServices"` + Id string `json:"id,omitempty" copier:"Id"` + Name string `json:"name,omitempty" copier:"Name"` + Namespace string `json:"namespace,omitempty" copier:"Namespace"` + Origin string `json:"origin,omitempty" copier:"Origin"` + ResourceCategories []string `json:"resource_categories,omitempty" copier:"ResourceCategories"` + ServiceType string `json:"service_type,omitempty" copier:"ServiceType"` + Size int64 `json:"size,omitempty" copier:"Size"` + Status string `json:"status,omitempty" copier:"Status"` + StatusMessage string `json:"status_message,omitempty" copier:"StatusMessage"` + SupportResCategories []string `json:"support_res_categories,omitempty" copier:"SupportResCategories"` + SwrPath string `json:"swr_path,omitempty" copier:"SwrPath"` + Tag string `json:"tag,omitempty" copier:"Tag"` + TypeImage string `json:"type,omitempty" copier:"TypeImage"` + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` + Visibility string `json:"visibility,omitempty" copier:"Visibility"` + WorkspaceId string `json:"workspace_id,omitempty" copier:"WorkspaceId"` } type Lease struct { - CreateAt int64 `json:"create_at" copier:"CreateAt"` - Duration int64 `json:"duration" copier:"Duration"` - Enable bool `json:"enable" copier:"Enable"` - TypeLease string `json:"type" copier:"TypeLease"` - UpdateAt int64 `json:"update_at" copier:"UpdateAt"` + CreateAt int64 `json:"create_at,omitempty" copier:"CreateAt"` + Duration int64 `json:"duration,omitempty" copier:"Duration"` + Enable bool `json:"enable,omitempty" copier:"Enable"` + TypeLease string `json:"type,omitempty" copier:"TypeLease"` + UpdateAt int64 `json:"update_at,omitempty" copier:"UpdateAt"` } type Pool struct { - Id string `json:"id" copier:"Id"` - Name string `json:"name" copier:"Name"` + Id string `json:"id,omitempty" copier:"Id"` + Name string `json:"name,omitempty" copier:"Name"` } type VolumeRes struct { - Capacity int64 `json:"capacity" copier:"Capacity"` - Category string `json:"category" copier:"Category"` - MountPath string `json:"mount_path" copier:"MountPath"` - Ownership string `json:"ownership" copier:"Ownership"` - Status string `json:"status" copier:"Status"` + Capacity int64 `json:"capacity,omitempty" copier:"Capacity"` + Category string `json:"category,omitempty" copier:"Category"` + MountPath string `json:"mount_path,omitempty" copier:"MountPath"` + Ownership string `json:"ownership,omitempty" copier:"Ownership"` + Status string `json:"status,omitempty" copier:"Status"` } type EndpointsReq struct { @@ -1657,8 +1702,8 @@ type Config struct { } type LeaseReq struct { - Duration int64 `json:"duration" copier:"Duration"` - TypeLeaseReq string `json:"type" copier:"TypeLeaseReq"` + Duration int64 `json:"duration,omitempty" copier:"Duration"` + TypeLeaseReq string `json:"type,omitempty" copier:"TypeLeaseReq"` } type GetVisualizationJobReq struct {