diff --git a/docs/index-openapi.json b/docs/index-openapi.json index 911928e..90e9c1d 100644 --- a/docs/index-openapi.json +++ b/docs/index-openapi.json @@ -729,7 +729,7 @@ }, "info": { "title": "index API", - "version": "v0.17.5" + "version": "v0.17.7" }, "openapi": "3.0.0", "paths": { diff --git a/docs/repository-openapi.json b/docs/repository-openapi.json index 31cf517..895c417 100644 --- a/docs/repository-openapi.json +++ b/docs/repository-openapi.json @@ -213,6 +213,18 @@ "elephant.repository.DeleteStatusRuleResponse": { "type": "object" }, + "elephant.repository.DeleteWorkflowRequest": { + "properties": { + "type": { + "description": "Type of the document to remove the workflow for.", + "type": "string" + } + }, + "type": "object" + }, + "elephant.repository.DeleteWorkflowResponse": { + "type": "object" + }, "elephant.repository.Deprecation": { "properties": { "enforced": { @@ -262,6 +274,14 @@ "modified": { "description": "Modified timestamp is the RFC3339 timestamp for the last change that affected the document.", "type": "string" + }, + "workflow_checkpoint": { + "description": "WorkflowCheckpoint that the document reached most recently.", + "type": "string" + }, + "workflow_state": { + "description": "WorkflowState that the document is in.", + "type": "string" } }, "type": "object" @@ -290,6 +310,30 @@ }, "type": "object" }, + "elephant.repository.DocumentWorkflow": { + "properties": { + "checkpoint": { + "description": "Checkpoint is the status that should be used as the state checkpoint.", + "type": "string" + }, + "negative_checkpoint": { + "description": "NegativeCheckpoint is the state that should be used when the checkpoint status is set using a negative version.", + "type": "string" + }, + "step_zero": { + "description": "StepZero is the step that the state begins in, or reverts to after a checkpoint.", + "type": "string" + }, + "steps": { + "description": "Steps are the names of statuses that should be used as steps between checkpoints.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "elephant.repository.EntityRef": { "properties": { "index": { @@ -379,6 +423,14 @@ "version": { "description": "Version of the document.", "type": "integer" + }, + "workflow_checkpoint": { + "description": "WorkflowCheckpoint that the document reached most recently.", + "type": "string" + }, + "workflow_state": { + "description": "WorkflowState that the document is in.", + "type": "string" } }, "type": "object" @@ -827,6 +879,23 @@ }, "type": "object" }, + "elephant.repository.GetWorkflowRequest": { + "properties": { + "type": { + "description": "Type of the document to get workflow for.", + "type": "string" + } + }, + "type": "object" + }, + "elephant.repository.GetWorkflowResponse": { + "properties": { + "workflow": { + "$ref": "#/components/schemas/elephant.repository.DocumentWorkflow" + } + }, + "type": "object" + }, "elephant.repository.ImportDirective": { "description": "ImportDirective can be used to preserve timestamps and authorship information from originating systems.", "properties": { @@ -1266,6 +1335,21 @@ "elephant.repository.SetActiveSchemaResponse": { "type": "object" }, + "elephant.repository.SetWorkflowRequest": { + "properties": { + "type": { + "description": "Type of the document that this workflow is for.", + "type": "string" + }, + "workflow": { + "$ref": "#/components/schemas/elephant.repository.DocumentWorkflow" + } + }, + "type": "object" + }, + "elephant.repository.SetWorkflowResponse": { + "type": "object" + }, "elephant.repository.Status": { "properties": { "created": { @@ -1734,7 +1818,7 @@ }, "info": { "title": "repository API", - "version": "v0.17.5" + "version": "v0.17.7" }, "openapi": "3.0.0", "paths": { @@ -3296,6 +3380,44 @@ ] } }, + "/twirp/elephant.repository.Workflows/DeleteWorkflow": { + "post": { + "description": "DeleteWorkflow removes the workflow configuration for a document type.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.DeleteWorkflowRequest" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.DeleteWorkflowResponse" + } + } + }, + "description": "Method response" + }, + "default": { + "description": "" + } + }, + "security": [ + { + "bearer": [] + } + ], + "summary": "DeleteWorkflow", + "tags": [ + "Workflows" + ] + } + }, "/twirp/elephant.repository.Workflows/GetStatusRules": { "post": { "description": "GetStatusRules returns all status rules.", @@ -3372,6 +3494,82 @@ ] } }, + "/twirp/elephant.repository.Workflows/GetWorkflow": { + "post": { + "description": "GetWorkflow for a document type.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.GetWorkflowRequest" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.GetWorkflowResponse" + } + } + }, + "description": "Method response" + }, + "default": { + "description": "" + } + }, + "security": [ + { + "bearer": [] + } + ], + "summary": "GetWorkflow", + "tags": [ + "Workflows" + ] + } + }, + "/twirp/elephant.repository.Workflows/SetWorkflow": { + "post": { + "description": "SetWorkflow configures a workflow for a document type.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.SetWorkflowRequest" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/elephant.repository.SetWorkflowResponse" + } + } + }, + "description": "Method response" + }, + "default": { + "description": "" + } + }, + "security": [ + { + "bearer": [] + } + ], + "summary": "SetWorkflow", + "tags": [ + "Workflows" + ] + } + }, "/twirp/elephant.repository.Workflows/UpdateStatus": { "post": { "description": "UpdateStatus creates or updates a status that can be used for documents.", diff --git a/docs/spell-openapi.json b/docs/spell-openapi.json index baa86a5..a7f507e 100644 --- a/docs/spell-openapi.json +++ b/docs/spell-openapi.json @@ -236,7 +236,7 @@ }, "info": { "title": "spell API", - "version": "v0.17.5" + "version": "v0.17.7" }, "openapi": "3.0.0", "paths": { diff --git a/go.mod b/go.mod index c172dd8..c7b4c07 100644 --- a/go.mod +++ b/go.mod @@ -4,10 +4,10 @@ go 1.23.2 require ( github.com/magefile/mage v1.15.0 - github.com/ttab/mage v0.7.4 + github.com/ttab/mage v0.7.5 github.com/ttab/newsdoc v0.7.0 github.com/twitchtv/twirp v8.1.3+incompatible - google.golang.org/protobuf v1.36.2 + google.golang.org/protobuf v1.36.4 ) require ( diff --git a/go.sum b/go.sum index b94291b..018726a 100644 --- a/go.sum +++ b/go.sum @@ -27,8 +27,8 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6Ng github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/ttab/mage v0.7.4 h1:UfoUUQ75b4NNn1wnAeLPIZL3HrJDYjYvlSkIifTMf5k= -github.com/ttab/mage v0.7.4/go.mod h1:Bcw/5hjVOHou89Gy182jVVUmXOdeRf1hkPXTfJsO0/E= +github.com/ttab/mage v0.7.5 h1:O31j/AODjH/OU2EZQ4bvqvuNzNv+NVB/mZJwWHPfm/M= +github.com/ttab/mage v0.7.5/go.mod h1:Bcw/5hjVOHou89Gy182jVVUmXOdeRf1hkPXTfJsO0/E= github.com/ttab/newsdoc v0.7.0 h1:mzj0VUQJ+XqrQv5MiQHODetvsHQ2lI1cwKwCkHIbPdE= github.com/ttab/newsdoc v0.7.0/go.mod h1:AXwLv9THaZTTPVOzP4dZ22FzOsVhL5662RQqfTPtvGs= github.com/twitchtv/twirp v8.1.3+incompatible h1:+F4TdErPgSUbMZMwp13Q/KgDVuI7HJXP61mNV3/7iuU= @@ -39,8 +39,8 @@ github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/ github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= -google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= -google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/repository/service.pb.go b/repository/service.pb.go index 85cad98..729b991 100644 --- a/repository/service.pb.go +++ b/repository/service.pb.go @@ -890,9 +890,13 @@ type EventlogItem struct { // SystemState is set to "restoring" if this event was generated from a // restore operation. If the event wasn't generated by a special operation it // is left empty. - SystemState string `protobuf:"bytes,14,opt,name=system_state,json=systemState,proto3" json:"system_state,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + SystemState string `protobuf:"bytes,14,opt,name=system_state,json=systemState,proto3" json:"system_state,omitempty"` + // WorkflowState that the document is in. + WorkflowState string `protobuf:"bytes,15,opt,name=workflow_state,json=workflowState,proto3" json:"workflow_state,omitempty"` + // WorkflowCheckpoint that the document reached most recently. + WorkflowCheckpoint string `protobuf:"bytes,16,opt,name=workflow_checkpoint,json=workflowCheckpoint,proto3" json:"workflow_checkpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EventlogItem) Reset() { @@ -1023,6 +1027,20 @@ func (x *EventlogItem) GetSystemState() string { return "" } +func (x *EventlogItem) GetWorkflowState() string { + if x != nil { + return x.WorkflowState + } + return "" +} + +func (x *EventlogItem) GetWorkflowCheckpoint() string { + if x != nil { + return x.WorkflowCheckpoint + } + return "" +} + type RunReportRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -1971,6 +1989,342 @@ func (*GetStatusesRequest) Descriptor() ([]byte, []int) { return file_repository_service_proto_rawDescGZIP(), []int{32} } +type SetWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of the document that this workflow is for. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Workflow declaration. + Workflow *DocumentWorkflow `protobuf:"bytes,2,opt,name=workflow,proto3" json:"workflow,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkflowRequest) Reset() { + *x = SetWorkflowRequest{} + mi := &file_repository_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkflowRequest) ProtoMessage() {} + +func (x *SetWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkflowRequest.ProtoReflect.Descriptor instead. +func (*SetWorkflowRequest) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{33} +} + +func (x *SetWorkflowRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SetWorkflowRequest) GetWorkflow() *DocumentWorkflow { + if x != nil { + return x.Workflow + } + return nil +} + +type DocumentWorkflow struct { + state protoimpl.MessageState `protogen:"open.v1"` + // StepZero is the step that the state begins in, or reverts to after a + // checkpoint. + StepZero string `protobuf:"bytes,1,opt,name=step_zero,json=stepZero,proto3" json:"step_zero,omitempty"` + // Checkpoint is the status that should be used as the state checkpoint. + Checkpoint string `protobuf:"bytes,2,opt,name=checkpoint,proto3" json:"checkpoint,omitempty"` + // NegativeCheckpoint is the state that should be used when the checkpoint + // status is set using a negative version. + NegativeCheckpoint string `protobuf:"bytes,3,opt,name=negative_checkpoint,json=negativeCheckpoint,proto3" json:"negative_checkpoint,omitempty"` + // Steps are the names of statuses that should be used as steps between + // checkpoints. + Steps []string `protobuf:"bytes,4,rep,name=steps,proto3" json:"steps,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DocumentWorkflow) Reset() { + *x = DocumentWorkflow{} + mi := &file_repository_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DocumentWorkflow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DocumentWorkflow) ProtoMessage() {} + +func (x *DocumentWorkflow) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DocumentWorkflow.ProtoReflect.Descriptor instead. +func (*DocumentWorkflow) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{34} +} + +func (x *DocumentWorkflow) GetStepZero() string { + if x != nil { + return x.StepZero + } + return "" +} + +func (x *DocumentWorkflow) GetCheckpoint() string { + if x != nil { + return x.Checkpoint + } + return "" +} + +func (x *DocumentWorkflow) GetNegativeCheckpoint() string { + if x != nil { + return x.NegativeCheckpoint + } + return "" +} + +func (x *DocumentWorkflow) GetSteps() []string { + if x != nil { + return x.Steps + } + return nil +} + +type SetWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkflowResponse) Reset() { + *x = SetWorkflowResponse{} + mi := &file_repository_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkflowResponse) ProtoMessage() {} + +func (x *SetWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkflowResponse.ProtoReflect.Descriptor instead. +func (*SetWorkflowResponse) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{35} +} + +type GetWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of the document to get workflow for. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowRequest) Reset() { + *x = GetWorkflowRequest{} + mi := &file_repository_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowRequest) ProtoMessage() {} + +func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowRequest) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{36} +} + +func (x *GetWorkflowRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type GetWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Workflow declaration. + Workflow *DocumentWorkflow `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowResponse) Reset() { + *x = GetWorkflowResponse{} + mi := &file_repository_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowResponse) ProtoMessage() {} + +func (x *GetWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowResponse) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{37} +} + +func (x *GetWorkflowResponse) GetWorkflow() *DocumentWorkflow { + if x != nil { + return x.Workflow + } + return nil +} + +type DeleteWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of the document to remove the workflow for. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowRequest) Reset() { + *x = DeleteWorkflowRequest{} + mi := &file_repository_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowRequest) ProtoMessage() {} + +func (x *DeleteWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowRequest) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{38} +} + +func (x *DeleteWorkflowRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type DeleteWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowResponse) Reset() { + *x = DeleteWorkflowResponse{} + mi := &file_repository_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowResponse) ProtoMessage() {} + +func (x *DeleteWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_repository_service_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowResponse) Descriptor() ([]byte, []int) { + return file_repository_service_proto_rawDescGZIP(), []int{39} +} + type WorkflowStatus struct { state protoimpl.MessageState `protogen:"open.v1"` Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` @@ -1981,7 +2335,7 @@ type WorkflowStatus struct { func (x *WorkflowStatus) Reset() { *x = WorkflowStatus{} - mi := &file_repository_service_proto_msgTypes[33] + mi := &file_repository_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1993,7 +2347,7 @@ func (x *WorkflowStatus) String() string { func (*WorkflowStatus) ProtoMessage() {} func (x *WorkflowStatus) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[33] + mi := &file_repository_service_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2006,7 +2360,7 @@ func (x *WorkflowStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowStatus.ProtoReflect.Descriptor instead. func (*WorkflowStatus) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{33} + return file_repository_service_proto_rawDescGZIP(), []int{40} } func (x *WorkflowStatus) GetType() string { @@ -2032,7 +2386,7 @@ type GetStatusesResponse struct { func (x *GetStatusesResponse) Reset() { *x = GetStatusesResponse{} - mi := &file_repository_service_proto_msgTypes[34] + mi := &file_repository_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2044,7 +2398,7 @@ func (x *GetStatusesResponse) String() string { func (*GetStatusesResponse) ProtoMessage() {} func (x *GetStatusesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[34] + mi := &file_repository_service_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2057,7 +2411,7 @@ func (x *GetStatusesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusesResponse.ProtoReflect.Descriptor instead. func (*GetStatusesResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{34} + return file_repository_service_proto_rawDescGZIP(), []int{41} } func (x *GetStatusesResponse) GetStatuses() []*WorkflowStatus { @@ -2082,7 +2436,7 @@ type UpdateStatusRequest struct { func (x *UpdateStatusRequest) Reset() { *x = UpdateStatusRequest{} - mi := &file_repository_service_proto_msgTypes[35] + mi := &file_repository_service_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2094,7 +2448,7 @@ func (x *UpdateStatusRequest) String() string { func (*UpdateStatusRequest) ProtoMessage() {} func (x *UpdateStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[35] + mi := &file_repository_service_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2107,7 +2461,7 @@ func (x *UpdateStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateStatusRequest.ProtoReflect.Descriptor instead. func (*UpdateStatusRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{35} + return file_repository_service_proto_rawDescGZIP(), []int{42} } func (x *UpdateStatusRequest) GetType() string { @@ -2139,7 +2493,7 @@ type UpdateStatusResponse struct { func (x *UpdateStatusResponse) Reset() { *x = UpdateStatusResponse{} - mi := &file_repository_service_proto_msgTypes[36] + mi := &file_repository_service_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2151,7 +2505,7 @@ func (x *UpdateStatusResponse) String() string { func (*UpdateStatusResponse) ProtoMessage() {} func (x *UpdateStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[36] + mi := &file_repository_service_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2164,7 +2518,7 @@ func (x *UpdateStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateStatusResponse.ProtoReflect.Descriptor instead. func (*UpdateStatusResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{36} + return file_repository_service_proto_rawDescGZIP(), []int{43} } type CreateStatusRuleRequest struct { @@ -2176,7 +2530,7 @@ type CreateStatusRuleRequest struct { func (x *CreateStatusRuleRequest) Reset() { *x = CreateStatusRuleRequest{} - mi := &file_repository_service_proto_msgTypes[37] + mi := &file_repository_service_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2188,7 +2542,7 @@ func (x *CreateStatusRuleRequest) String() string { func (*CreateStatusRuleRequest) ProtoMessage() {} func (x *CreateStatusRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[37] + mi := &file_repository_service_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2201,7 +2555,7 @@ func (x *CreateStatusRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateStatusRuleRequest.ProtoReflect.Descriptor instead. func (*CreateStatusRuleRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{37} + return file_repository_service_proto_rawDescGZIP(), []int{44} } func (x *CreateStatusRuleRequest) GetRule() *StatusRule { @@ -2231,7 +2585,7 @@ type StatusRule struct { func (x *StatusRule) Reset() { *x = StatusRule{} - mi := &file_repository_service_proto_msgTypes[38] + mi := &file_repository_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2243,7 +2597,7 @@ func (x *StatusRule) String() string { func (*StatusRule) ProtoMessage() {} func (x *StatusRule) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[38] + mi := &file_repository_service_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2256,7 +2610,7 @@ func (x *StatusRule) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusRule.ProtoReflect.Descriptor instead. func (*StatusRule) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{38} + return file_repository_service_proto_rawDescGZIP(), []int{45} } func (x *StatusRule) GetType() string { @@ -2309,7 +2663,7 @@ type CreateStatusRuleResponse struct { func (x *CreateStatusRuleResponse) Reset() { *x = CreateStatusRuleResponse{} - mi := &file_repository_service_proto_msgTypes[39] + mi := &file_repository_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2321,7 +2675,7 @@ func (x *CreateStatusRuleResponse) String() string { func (*CreateStatusRuleResponse) ProtoMessage() {} func (x *CreateStatusRuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[39] + mi := &file_repository_service_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2334,7 +2688,7 @@ func (x *CreateStatusRuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateStatusRuleResponse.ProtoReflect.Descriptor instead. func (*CreateStatusRuleResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{39} + return file_repository_service_proto_rawDescGZIP(), []int{46} } type DeleteStatusRuleRequest struct { @@ -2347,7 +2701,7 @@ type DeleteStatusRuleRequest struct { func (x *DeleteStatusRuleRequest) Reset() { *x = DeleteStatusRuleRequest{} - mi := &file_repository_service_proto_msgTypes[40] + mi := &file_repository_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2359,7 +2713,7 @@ func (x *DeleteStatusRuleRequest) String() string { func (*DeleteStatusRuleRequest) ProtoMessage() {} func (x *DeleteStatusRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[40] + mi := &file_repository_service_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2372,7 +2726,7 @@ func (x *DeleteStatusRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteStatusRuleRequest.ProtoReflect.Descriptor instead. func (*DeleteStatusRuleRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{40} + return file_repository_service_proto_rawDescGZIP(), []int{47} } func (x *DeleteStatusRuleRequest) GetType() string { @@ -2397,7 +2751,7 @@ type DeleteStatusRuleResponse struct { func (x *DeleteStatusRuleResponse) Reset() { *x = DeleteStatusRuleResponse{} - mi := &file_repository_service_proto_msgTypes[41] + mi := &file_repository_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2409,7 +2763,7 @@ func (x *DeleteStatusRuleResponse) String() string { func (*DeleteStatusRuleResponse) ProtoMessage() {} func (x *DeleteStatusRuleResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[41] + mi := &file_repository_service_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2422,7 +2776,7 @@ func (x *DeleteStatusRuleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteStatusRuleResponse.ProtoReflect.Descriptor instead. func (*DeleteStatusRuleResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{41} + return file_repository_service_proto_rawDescGZIP(), []int{48} } type GetDocumentRequest struct { @@ -2448,7 +2802,7 @@ type GetDocumentRequest struct { func (x *GetDocumentRequest) Reset() { *x = GetDocumentRequest{} - mi := &file_repository_service_proto_msgTypes[42] + mi := &file_repository_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2460,7 +2814,7 @@ func (x *GetDocumentRequest) String() string { func (*GetDocumentRequest) ProtoMessage() {} func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[42] + mi := &file_repository_service_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2473,7 +2827,7 @@ func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDocumentRequest.ProtoReflect.Descriptor instead. func (*GetDocumentRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{42} + return file_repository_service_proto_rawDescGZIP(), []int{49} } func (x *GetDocumentRequest) GetUuid() string { @@ -2531,7 +2885,7 @@ type GetDocumentResponse struct { func (x *GetDocumentResponse) Reset() { *x = GetDocumentResponse{} - mi := &file_repository_service_proto_msgTypes[43] + mi := &file_repository_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2543,7 +2897,7 @@ func (x *GetDocumentResponse) String() string { func (*GetDocumentResponse) ProtoMessage() {} func (x *GetDocumentResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[43] + mi := &file_repository_service_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2556,7 +2910,7 @@ func (x *GetDocumentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDocumentResponse.ProtoReflect.Descriptor instead. func (*GetDocumentResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{43} + return file_repository_service_proto_rawDescGZIP(), []int{50} } func (x *GetDocumentResponse) GetDocument() *newsdoc.Document { @@ -2611,7 +2965,7 @@ type BulkGetRequest struct { func (x *BulkGetRequest) Reset() { *x = BulkGetRequest{} - mi := &file_repository_service_proto_msgTypes[44] + mi := &file_repository_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2623,7 +2977,7 @@ func (x *BulkGetRequest) String() string { func (*BulkGetRequest) ProtoMessage() {} func (x *BulkGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[44] + mi := &file_repository_service_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2636,7 +2990,7 @@ func (x *BulkGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkGetRequest.ProtoReflect.Descriptor instead. func (*BulkGetRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{44} + return file_repository_service_proto_rawDescGZIP(), []int{51} } func (x *BulkGetRequest) GetDocuments() []*BulkGetReference { @@ -2658,7 +3012,7 @@ type BulkGetReference struct { func (x *BulkGetReference) Reset() { *x = BulkGetReference{} - mi := &file_repository_service_proto_msgTypes[45] + mi := &file_repository_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2670,7 +3024,7 @@ func (x *BulkGetReference) String() string { func (*BulkGetReference) ProtoMessage() {} func (x *BulkGetReference) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[45] + mi := &file_repository_service_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2683,7 +3037,7 @@ func (x *BulkGetReference) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkGetReference.ProtoReflect.Descriptor instead. func (*BulkGetReference) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{45} + return file_repository_service_proto_rawDescGZIP(), []int{52} } func (x *BulkGetReference) GetUuid() string { @@ -2709,7 +3063,7 @@ type BulkGetResponse struct { func (x *BulkGetResponse) Reset() { *x = BulkGetResponse{} - mi := &file_repository_service_proto_msgTypes[46] + mi := &file_repository_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2721,7 +3075,7 @@ func (x *BulkGetResponse) String() string { func (*BulkGetResponse) ProtoMessage() {} func (x *BulkGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[46] + mi := &file_repository_service_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2734,7 +3088,7 @@ func (x *BulkGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkGetResponse.ProtoReflect.Descriptor instead. func (*BulkGetResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{46} + return file_repository_service_proto_rawDescGZIP(), []int{53} } func (x *BulkGetResponse) GetItems() []*BulkGetItem { @@ -2756,7 +3110,7 @@ type BulkGetItem struct { func (x *BulkGetItem) Reset() { *x = BulkGetItem{} - mi := &file_repository_service_proto_msgTypes[47] + mi := &file_repository_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2768,7 +3122,7 @@ func (x *BulkGetItem) String() string { func (*BulkGetItem) ProtoMessage() {} func (x *BulkGetItem) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[47] + mi := &file_repository_service_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2781,7 +3135,7 @@ func (x *BulkGetItem) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkGetItem.ProtoReflect.Descriptor instead. func (*BulkGetItem) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{47} + return file_repository_service_proto_rawDescGZIP(), []int{54} } func (x *BulkGetItem) GetDocument() *newsdoc.Document { @@ -2810,7 +3164,7 @@ type MetaDocument struct { func (x *MetaDocument) Reset() { *x = MetaDocument{} - mi := &file_repository_service_proto_msgTypes[48] + mi := &file_repository_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2822,7 +3176,7 @@ func (x *MetaDocument) String() string { func (*MetaDocument) ProtoMessage() {} func (x *MetaDocument) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[48] + mi := &file_repository_service_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2835,7 +3189,7 @@ func (x *MetaDocument) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaDocument.ProtoReflect.Descriptor instead. func (*MetaDocument) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{48} + return file_repository_service_proto_rawDescGZIP(), []int{55} } func (x *MetaDocument) GetDocument() *newsdoc.Document { @@ -2865,7 +3219,7 @@ type GetHistoryRequest struct { func (x *GetHistoryRequest) Reset() { *x = GetHistoryRequest{} - mi := &file_repository_service_proto_msgTypes[49] + mi := &file_repository_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2877,7 +3231,7 @@ func (x *GetHistoryRequest) String() string { func (*GetHistoryRequest) ProtoMessage() {} func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[49] + mi := &file_repository_service_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2890,7 +3244,7 @@ func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHistoryRequest.ProtoReflect.Descriptor instead. func (*GetHistoryRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{49} + return file_repository_service_proto_rawDescGZIP(), []int{56} } func (x *GetHistoryRequest) GetUuid() string { @@ -2916,7 +3270,7 @@ type GetHistoryResponse struct { func (x *GetHistoryResponse) Reset() { *x = GetHistoryResponse{} - mi := &file_repository_service_proto_msgTypes[50] + mi := &file_repository_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2928,7 +3282,7 @@ func (x *GetHistoryResponse) String() string { func (*GetHistoryResponse) ProtoMessage() {} func (x *GetHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[50] + mi := &file_repository_service_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2941,7 +3295,7 @@ func (x *GetHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHistoryResponse.ProtoReflect.Descriptor instead. func (*GetHistoryResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{50} + return file_repository_service_proto_rawDescGZIP(), []int{57} } func (x *GetHistoryResponse) GetVersions() []*DocumentVersion { @@ -2968,7 +3322,7 @@ type DocumentVersion struct { func (x *DocumentVersion) Reset() { *x = DocumentVersion{} - mi := &file_repository_service_proto_msgTypes[51] + mi := &file_repository_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2980,7 +3334,7 @@ func (x *DocumentVersion) String() string { func (*DocumentVersion) ProtoMessage() {} func (x *DocumentVersion) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[51] + mi := &file_repository_service_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2993,7 +3347,7 @@ func (x *DocumentVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use DocumentVersion.ProtoReflect.Descriptor instead. func (*DocumentVersion) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{51} + return file_repository_service_proto_rawDescGZIP(), []int{58} } func (x *DocumentVersion) GetVersion() int64 { @@ -3061,7 +3415,7 @@ type UpdateRequest struct { func (x *UpdateRequest) Reset() { *x = UpdateRequest{} - mi := &file_repository_service_proto_msgTypes[52] + mi := &file_repository_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3073,7 +3427,7 @@ func (x *UpdateRequest) String() string { func (*UpdateRequest) ProtoMessage() {} func (x *UpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[52] + mi := &file_repository_service_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3086,7 +3440,7 @@ func (x *UpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead. func (*UpdateRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{52} + return file_repository_service_proto_rawDescGZIP(), []int{59} } func (x *UpdateRequest) GetUuid() string { @@ -3164,7 +3518,7 @@ type ImportDirective struct { func (x *ImportDirective) Reset() { *x = ImportDirective{} - mi := &file_repository_service_proto_msgTypes[53] + mi := &file_repository_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3176,7 +3530,7 @@ func (x *ImportDirective) String() string { func (*ImportDirective) ProtoMessage() {} func (x *ImportDirective) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[53] + mi := &file_repository_service_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3189,7 +3543,7 @@ func (x *ImportDirective) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDirective.ProtoReflect.Descriptor instead. func (*ImportDirective) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{53} + return file_repository_service_proto_rawDescGZIP(), []int{60} } func (x *ImportDirective) GetOriginallyCreated() string { @@ -3217,7 +3571,7 @@ type UpdateResponse struct { func (x *UpdateResponse) Reset() { *x = UpdateResponse{} - mi := &file_repository_service_proto_msgTypes[54] + mi := &file_repository_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3229,7 +3583,7 @@ func (x *UpdateResponse) String() string { func (*UpdateResponse) ProtoMessage() {} func (x *UpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[54] + mi := &file_repository_service_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3242,7 +3596,7 @@ func (x *UpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead. func (*UpdateResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{54} + return file_repository_service_proto_rawDescGZIP(), []int{61} } func (x *UpdateResponse) GetVersion() int64 { @@ -3268,7 +3622,7 @@ type BulkUpdateRequest struct { func (x *BulkUpdateRequest) Reset() { *x = BulkUpdateRequest{} - mi := &file_repository_service_proto_msgTypes[55] + mi := &file_repository_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3280,7 +3634,7 @@ func (x *BulkUpdateRequest) String() string { func (*BulkUpdateRequest) ProtoMessage() {} func (x *BulkUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[55] + mi := &file_repository_service_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3293,7 +3647,7 @@ func (x *BulkUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkUpdateRequest.ProtoReflect.Descriptor instead. func (*BulkUpdateRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{55} + return file_repository_service_proto_rawDescGZIP(), []int{62} } func (x *BulkUpdateRequest) GetUpdates() []*UpdateRequest { @@ -3312,7 +3666,7 @@ type BulkUpdateResponse struct { func (x *BulkUpdateResponse) Reset() { *x = BulkUpdateResponse{} - mi := &file_repository_service_proto_msgTypes[56] + mi := &file_repository_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3324,7 +3678,7 @@ func (x *BulkUpdateResponse) String() string { func (*BulkUpdateResponse) ProtoMessage() {} func (x *BulkUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[56] + mi := &file_repository_service_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3337,7 +3691,7 @@ func (x *BulkUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkUpdateResponse.ProtoReflect.Descriptor instead. func (*BulkUpdateResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{56} + return file_repository_service_proto_rawDescGZIP(), []int{63} } func (x *BulkUpdateResponse) GetUpdates() []*UpdateResponse { @@ -3356,7 +3710,7 @@ type ValidateRequest struct { func (x *ValidateRequest) Reset() { *x = ValidateRequest{} - mi := &file_repository_service_proto_msgTypes[57] + mi := &file_repository_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3368,7 +3722,7 @@ func (x *ValidateRequest) String() string { func (*ValidateRequest) ProtoMessage() {} func (x *ValidateRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[57] + mi := &file_repository_service_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3381,7 +3735,7 @@ func (x *ValidateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateRequest.ProtoReflect.Descriptor instead. func (*ValidateRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{57} + return file_repository_service_proto_rawDescGZIP(), []int{64} } func (x *ValidateRequest) GetDocument() *newsdoc.Document { @@ -3400,7 +3754,7 @@ type ValidateResponse struct { func (x *ValidateResponse) Reset() { *x = ValidateResponse{} - mi := &file_repository_service_proto_msgTypes[58] + mi := &file_repository_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3412,7 +3766,7 @@ func (x *ValidateResponse) String() string { func (*ValidateResponse) ProtoMessage() {} func (x *ValidateResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[58] + mi := &file_repository_service_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3425,7 +3779,7 @@ func (x *ValidateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateResponse.ProtoReflect.Descriptor instead. func (*ValidateResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{58} + return file_repository_service_proto_rawDescGZIP(), []int{65} } func (x *ValidateResponse) GetErrors() []*ValidationResult { @@ -3445,7 +3799,7 @@ type ValidationResult struct { func (x *ValidationResult) Reset() { *x = ValidationResult{} - mi := &file_repository_service_proto_msgTypes[59] + mi := &file_repository_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3457,7 +3811,7 @@ func (x *ValidationResult) String() string { func (*ValidationResult) ProtoMessage() {} func (x *ValidationResult) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[59] + mi := &file_repository_service_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3470,7 +3824,7 @@ func (x *ValidationResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidationResult.ProtoReflect.Descriptor instead. func (*ValidationResult) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{59} + return file_repository_service_proto_rawDescGZIP(), []int{66} } func (x *ValidationResult) GetEntity() []*EntityRef { @@ -3508,7 +3862,7 @@ type EntityRef struct { func (x *EntityRef) Reset() { *x = EntityRef{} - mi := &file_repository_service_proto_msgTypes[60] + mi := &file_repository_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3520,7 +3874,7 @@ func (x *EntityRef) String() string { func (*EntityRef) ProtoMessage() {} func (x *EntityRef) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[60] + mi := &file_repository_service_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3533,7 +3887,7 @@ func (x *EntityRef) ProtoReflect() protoreflect.Message { // Deprecated: Use EntityRef.ProtoReflect.Descriptor instead. func (*EntityRef) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{60} + return file_repository_service_proto_rawDescGZIP(), []int{67} } func (x *EntityRef) GetRefType() string { @@ -3598,7 +3952,7 @@ type StatusUpdate struct { func (x *StatusUpdate) Reset() { *x = StatusUpdate{} - mi := &file_repository_service_proto_msgTypes[61] + mi := &file_repository_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3610,7 +3964,7 @@ func (x *StatusUpdate) String() string { func (*StatusUpdate) ProtoMessage() {} func (x *StatusUpdate) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[61] + mi := &file_repository_service_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3623,7 +3977,7 @@ func (x *StatusUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusUpdate.ProtoReflect.Descriptor instead. func (*StatusUpdate) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{61} + return file_repository_service_proto_rawDescGZIP(), []int{68} } func (x *StatusUpdate) GetName() string { @@ -3666,7 +4020,7 @@ type UpdatePermissionsRequest struct { func (x *UpdatePermissionsRequest) Reset() { *x = UpdatePermissionsRequest{} - mi := &file_repository_service_proto_msgTypes[62] + mi := &file_repository_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3678,7 +4032,7 @@ func (x *UpdatePermissionsRequest) String() string { func (*UpdatePermissionsRequest) ProtoMessage() {} func (x *UpdatePermissionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[62] + mi := &file_repository_service_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3691,7 +4045,7 @@ func (x *UpdatePermissionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePermissionsRequest.ProtoReflect.Descriptor instead. func (*UpdatePermissionsRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{62} + return file_repository_service_proto_rawDescGZIP(), []int{69} } func (x *UpdatePermissionsRequest) GetUuid() string { @@ -3716,7 +4070,7 @@ type UpdatePermissionsResponse struct { func (x *UpdatePermissionsResponse) Reset() { *x = UpdatePermissionsResponse{} - mi := &file_repository_service_proto_msgTypes[63] + mi := &file_repository_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3728,7 +4082,7 @@ func (x *UpdatePermissionsResponse) String() string { func (*UpdatePermissionsResponse) ProtoMessage() {} func (x *UpdatePermissionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[63] + mi := &file_repository_service_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3741,7 +4095,7 @@ func (x *UpdatePermissionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePermissionsResponse.ProtoReflect.Descriptor instead. func (*UpdatePermissionsResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{63} + return file_repository_service_proto_rawDescGZIP(), []int{70} } type DeleteDocumentRequest struct { @@ -3761,7 +4115,7 @@ type DeleteDocumentRequest struct { func (x *DeleteDocumentRequest) Reset() { *x = DeleteDocumentRequest{} - mi := &file_repository_service_proto_msgTypes[64] + mi := &file_repository_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3773,7 +4127,7 @@ func (x *DeleteDocumentRequest) String() string { func (*DeleteDocumentRequest) ProtoMessage() {} func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[64] + mi := &file_repository_service_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3786,7 +4140,7 @@ func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteDocumentRequest.ProtoReflect.Descriptor instead. func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{64} + return file_repository_service_proto_rawDescGZIP(), []int{71} } func (x *DeleteDocumentRequest) GetUuid() string { @@ -3825,7 +4179,7 @@ type DeleteDocumentResponse struct { func (x *DeleteDocumentResponse) Reset() { *x = DeleteDocumentResponse{} - mi := &file_repository_service_proto_msgTypes[65] + mi := &file_repository_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3837,7 +4191,7 @@ func (x *DeleteDocumentResponse) String() string { func (*DeleteDocumentResponse) ProtoMessage() {} func (x *DeleteDocumentResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[65] + mi := &file_repository_service_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3850,7 +4204,7 @@ func (x *DeleteDocumentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteDocumentResponse.ProtoReflect.Descriptor instead. func (*DeleteDocumentResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{65} + return file_repository_service_proto_rawDescGZIP(), []int{72} } type RestoreRequest struct { @@ -3867,7 +4221,7 @@ type RestoreRequest struct { func (x *RestoreRequest) Reset() { *x = RestoreRequest{} - mi := &file_repository_service_proto_msgTypes[66] + mi := &file_repository_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3879,7 +4233,7 @@ func (x *RestoreRequest) String() string { func (*RestoreRequest) ProtoMessage() {} func (x *RestoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[66] + mi := &file_repository_service_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3892,7 +4246,7 @@ func (x *RestoreRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreRequest.ProtoReflect.Descriptor instead. func (*RestoreRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{66} + return file_repository_service_proto_rawDescGZIP(), []int{73} } func (x *RestoreRequest) GetUuid() string { @@ -3924,7 +4278,7 @@ type RestoreResponse struct { func (x *RestoreResponse) Reset() { *x = RestoreResponse{} - mi := &file_repository_service_proto_msgTypes[67] + mi := &file_repository_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3936,7 +4290,7 @@ func (x *RestoreResponse) String() string { func (*RestoreResponse) ProtoMessage() {} func (x *RestoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[67] + mi := &file_repository_service_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3949,7 +4303,7 @@ func (x *RestoreResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreResponse.ProtoReflect.Descriptor instead. func (*RestoreResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{67} + return file_repository_service_proto_rawDescGZIP(), []int{74} } type PurgeRequest struct { @@ -3965,7 +4319,7 @@ type PurgeRequest struct { func (x *PurgeRequest) Reset() { *x = PurgeRequest{} - mi := &file_repository_service_proto_msgTypes[68] + mi := &file_repository_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3977,7 +4331,7 @@ func (x *PurgeRequest) String() string { func (*PurgeRequest) ProtoMessage() {} func (x *PurgeRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[68] + mi := &file_repository_service_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3990,7 +4344,7 @@ func (x *PurgeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PurgeRequest.ProtoReflect.Descriptor instead. func (*PurgeRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{68} + return file_repository_service_proto_rawDescGZIP(), []int{75} } func (x *PurgeRequest) GetUuid() string { @@ -4015,7 +4369,7 @@ type PurgeResponse struct { func (x *PurgeResponse) Reset() { *x = PurgeResponse{} - mi := &file_repository_service_proto_msgTypes[69] + mi := &file_repository_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4027,7 +4381,7 @@ func (x *PurgeResponse) String() string { func (*PurgeResponse) ProtoMessage() {} func (x *PurgeResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[69] + mi := &file_repository_service_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4040,7 +4394,7 @@ func (x *PurgeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PurgeResponse.ProtoReflect.Descriptor instead. func (*PurgeResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{69} + return file_repository_service_proto_rawDescGZIP(), []int{76} } type ListDeletedRequest struct { @@ -4060,7 +4414,7 @@ type ListDeletedRequest struct { func (x *ListDeletedRequest) Reset() { *x = ListDeletedRequest{} - mi := &file_repository_service_proto_msgTypes[70] + mi := &file_repository_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4072,7 +4426,7 @@ func (x *ListDeletedRequest) String() string { func (*ListDeletedRequest) ProtoMessage() {} func (x *ListDeletedRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[70] + mi := &file_repository_service_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4085,7 +4439,7 @@ func (x *ListDeletedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeletedRequest.ProtoReflect.Descriptor instead. func (*ListDeletedRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{70} + return file_repository_service_proto_rawDescGZIP(), []int{77} } func (x *ListDeletedRequest) GetUuid() string { @@ -4126,7 +4480,7 @@ type ListDeletedResponse struct { func (x *ListDeletedResponse) Reset() { *x = ListDeletedResponse{} - mi := &file_repository_service_proto_msgTypes[71] + mi := &file_repository_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4138,7 +4492,7 @@ func (x *ListDeletedResponse) String() string { func (*ListDeletedResponse) ProtoMessage() {} func (x *ListDeletedResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[71] + mi := &file_repository_service_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4151,7 +4505,7 @@ func (x *ListDeletedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeletedResponse.ProtoReflect.Descriptor instead. func (*ListDeletedResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{71} + return file_repository_service_proto_rawDescGZIP(), []int{78} } func (x *ListDeletedResponse) GetDeletes() []*DeleteRecord { @@ -4193,7 +4547,7 @@ type DeleteRecord struct { func (x *DeleteRecord) Reset() { *x = DeleteRecord{} - mi := &file_repository_service_proto_msgTypes[72] + mi := &file_repository_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4205,7 +4559,7 @@ func (x *DeleteRecord) String() string { func (*DeleteRecord) ProtoMessage() {} func (x *DeleteRecord) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[72] + mi := &file_repository_service_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4218,7 +4572,7 @@ func (x *DeleteRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRecord.ProtoReflect.Descriptor instead. func (*DeleteRecord) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{72} + return file_repository_service_proto_rawDescGZIP(), []int{79} } func (x *DeleteRecord) GetId() int64 { @@ -4308,7 +4662,7 @@ type GetMetaRequest struct { func (x *GetMetaRequest) Reset() { *x = GetMetaRequest{} - mi := &file_repository_service_proto_msgTypes[73] + mi := &file_repository_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4320,7 +4674,7 @@ func (x *GetMetaRequest) String() string { func (*GetMetaRequest) ProtoMessage() {} func (x *GetMetaRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[73] + mi := &file_repository_service_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4333,7 +4687,7 @@ func (x *GetMetaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetaRequest.ProtoReflect.Descriptor instead. func (*GetMetaRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{73} + return file_repository_service_proto_rawDescGZIP(), []int{80} } func (x *GetMetaRequest) GetUuid() string { @@ -4352,7 +4706,7 @@ type GetMetaResponse struct { func (x *GetMetaResponse) Reset() { *x = GetMetaResponse{} - mi := &file_repository_service_proto_msgTypes[74] + mi := &file_repository_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4364,7 +4718,7 @@ func (x *GetMetaResponse) String() string { func (*GetMetaResponse) ProtoMessage() {} func (x *GetMetaResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[74] + mi := &file_repository_service_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4377,7 +4731,7 @@ func (x *GetMetaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetaResponse.ProtoReflect.Descriptor instead. func (*GetMetaResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{74} + return file_repository_service_proto_rawDescGZIP(), []int{81} } func (x *GetMetaResponse) GetMeta() *DocumentMeta { @@ -4406,14 +4760,18 @@ type DocumentMeta struct { // IsMetaDocument is true if the document is a meta document. IsMetaDocument bool `protobuf:"varint,7,opt,name=is_meta_document,json=isMetaDocument,proto3" json:"is_meta_document,omitempty"` // MainDocument is the UUID of the main document if this is a meta document. - MainDocument string `protobuf:"bytes,8,opt,name=main_document,json=mainDocument,proto3" json:"main_document,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + MainDocument string `protobuf:"bytes,8,opt,name=main_document,json=mainDocument,proto3" json:"main_document,omitempty"` + // WorkflowState that the document is in. + WorkflowState string `protobuf:"bytes,9,opt,name=workflow_state,json=workflowState,proto3" json:"workflow_state,omitempty"` + // WorkflowCheckpoint that the document reached most recently. + WorkflowCheckpoint string `protobuf:"bytes,10,opt,name=workflow_checkpoint,json=workflowCheckpoint,proto3" json:"workflow_checkpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DocumentMeta) Reset() { *x = DocumentMeta{} - mi := &file_repository_service_proto_msgTypes[75] + mi := &file_repository_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4425,7 +4783,7 @@ func (x *DocumentMeta) String() string { func (*DocumentMeta) ProtoMessage() {} func (x *DocumentMeta) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[75] + mi := &file_repository_service_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4438,7 +4796,7 @@ func (x *DocumentMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use DocumentMeta.ProtoReflect.Descriptor instead. func (*DocumentMeta) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{75} + return file_repository_service_proto_rawDescGZIP(), []int{82} } func (x *DocumentMeta) GetCreated() string { @@ -4497,6 +4855,20 @@ func (x *DocumentMeta) GetMainDocument() string { return "" } +func (x *DocumentMeta) GetWorkflowState() string { + if x != nil { + return x.WorkflowState + } + return "" +} + +func (x *DocumentMeta) GetWorkflowCheckpoint() string { + if x != nil { + return x.WorkflowCheckpoint + } + return "" +} + type Status struct { state protoimpl.MessageState `protogen:"open.v1"` // ID of the status. @@ -4518,7 +4890,7 @@ type Status struct { func (x *Status) Reset() { *x = Status{} - mi := &file_repository_service_proto_msgTypes[76] + mi := &file_repository_service_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4530,7 +4902,7 @@ func (x *Status) String() string { func (*Status) ProtoMessage() {} func (x *Status) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[76] + mi := &file_repository_service_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4543,7 +4915,7 @@ func (x *Status) ProtoReflect() protoreflect.Message { // Deprecated: Use Status.ProtoReflect.Descriptor instead. func (*Status) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{76} + return file_repository_service_proto_rawDescGZIP(), []int{83} } func (x *Status) GetId() int64 { @@ -4600,7 +4972,7 @@ type ACLEntry struct { func (x *ACLEntry) Reset() { *x = ACLEntry{} - mi := &file_repository_service_proto_msgTypes[77] + mi := &file_repository_service_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4612,7 +4984,7 @@ func (x *ACLEntry) String() string { func (*ACLEntry) ProtoMessage() {} func (x *ACLEntry) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[77] + mi := &file_repository_service_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4625,7 +4997,7 @@ func (x *ACLEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use ACLEntry.ProtoReflect.Descriptor instead. func (*ACLEntry) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{77} + return file_repository_service_proto_rawDescGZIP(), []int{84} } func (x *ACLEntry) GetUri() string { @@ -4662,7 +5034,7 @@ type Lock struct { func (x *Lock) Reset() { *x = Lock{} - mi := &file_repository_service_proto_msgTypes[78] + mi := &file_repository_service_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4674,7 +5046,7 @@ func (x *Lock) String() string { func (*Lock) ProtoMessage() {} func (x *Lock) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[78] + mi := &file_repository_service_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4687,7 +5059,7 @@ func (x *Lock) ProtoReflect() protoreflect.Message { // Deprecated: Use Lock.ProtoReflect.Descriptor instead. func (*Lock) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{78} + return file_repository_service_proto_rawDescGZIP(), []int{85} } func (x *Lock) GetToken() string { @@ -4744,7 +5116,7 @@ type RegisterMetaTypeRequest struct { func (x *RegisterMetaTypeRequest) Reset() { *x = RegisterMetaTypeRequest{} - mi := &file_repository_service_proto_msgTypes[79] + mi := &file_repository_service_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4756,7 +5128,7 @@ func (x *RegisterMetaTypeRequest) String() string { func (*RegisterMetaTypeRequest) ProtoMessage() {} func (x *RegisterMetaTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[79] + mi := &file_repository_service_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4769,7 +5141,7 @@ func (x *RegisterMetaTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetaTypeRequest.ProtoReflect.Descriptor instead. func (*RegisterMetaTypeRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{79} + return file_repository_service_proto_rawDescGZIP(), []int{86} } func (x *RegisterMetaTypeRequest) GetType() string { @@ -4794,7 +5166,7 @@ type RegisterMetaTypeResponse struct { func (x *RegisterMetaTypeResponse) Reset() { *x = RegisterMetaTypeResponse{} - mi := &file_repository_service_proto_msgTypes[80] + mi := &file_repository_service_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4806,7 +5178,7 @@ func (x *RegisterMetaTypeResponse) String() string { func (*RegisterMetaTypeResponse) ProtoMessage() {} func (x *RegisterMetaTypeResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[80] + mi := &file_repository_service_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4819,7 +5191,7 @@ func (x *RegisterMetaTypeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetaTypeResponse.ProtoReflect.Descriptor instead. func (*RegisterMetaTypeResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{80} + return file_repository_service_proto_rawDescGZIP(), []int{87} } type RegisterMetaTypeUseRequest struct { @@ -4834,7 +5206,7 @@ type RegisterMetaTypeUseRequest struct { func (x *RegisterMetaTypeUseRequest) Reset() { *x = RegisterMetaTypeUseRequest{} - mi := &file_repository_service_proto_msgTypes[81] + mi := &file_repository_service_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4846,7 +5218,7 @@ func (x *RegisterMetaTypeUseRequest) String() string { func (*RegisterMetaTypeUseRequest) ProtoMessage() {} func (x *RegisterMetaTypeUseRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[81] + mi := &file_repository_service_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4859,7 +5231,7 @@ func (x *RegisterMetaTypeUseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetaTypeUseRequest.ProtoReflect.Descriptor instead. func (*RegisterMetaTypeUseRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{81} + return file_repository_service_proto_rawDescGZIP(), []int{88} } func (x *RegisterMetaTypeUseRequest) GetMainType() string { @@ -4884,7 +5256,7 @@ type RegisterMetaTypeUseResponse struct { func (x *RegisterMetaTypeUseResponse) Reset() { *x = RegisterMetaTypeUseResponse{} - mi := &file_repository_service_proto_msgTypes[82] + mi := &file_repository_service_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4896,7 +5268,7 @@ func (x *RegisterMetaTypeUseResponse) String() string { func (*RegisterMetaTypeUseResponse) ProtoMessage() {} func (x *RegisterMetaTypeUseResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[82] + mi := &file_repository_service_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4909,7 +5281,7 @@ func (x *RegisterMetaTypeUseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetaTypeUseResponse.ProtoReflect.Descriptor instead. func (*RegisterMetaTypeUseResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{82} + return file_repository_service_proto_rawDescGZIP(), []int{89} } type RegisterSchemaRequest struct { @@ -4930,7 +5302,7 @@ type RegisterSchemaRequest struct { func (x *RegisterSchemaRequest) Reset() { *x = RegisterSchemaRequest{} - mi := &file_repository_service_proto_msgTypes[83] + mi := &file_repository_service_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4942,7 +5314,7 @@ func (x *RegisterSchemaRequest) String() string { func (*RegisterSchemaRequest) ProtoMessage() {} func (x *RegisterSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[83] + mi := &file_repository_service_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4955,7 +5327,7 @@ func (x *RegisterSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterSchemaRequest.ProtoReflect.Descriptor instead. func (*RegisterSchemaRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{83} + return file_repository_service_proto_rawDescGZIP(), []int{90} } func (x *RegisterSchemaRequest) GetSchema() *Schema { @@ -4994,7 +5366,7 @@ type RegisterSchemaResponse struct { func (x *RegisterSchemaResponse) Reset() { *x = RegisterSchemaResponse{} - mi := &file_repository_service_proto_msgTypes[84] + mi := &file_repository_service_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5006,7 +5378,7 @@ func (x *RegisterSchemaResponse) String() string { func (*RegisterSchemaResponse) ProtoMessage() {} func (x *RegisterSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[84] + mi := &file_repository_service_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5019,7 +5391,7 @@ func (x *RegisterSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterSchemaResponse.ProtoReflect.Descriptor instead. func (*RegisterSchemaResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{84} + return file_repository_service_proto_rawDescGZIP(), []int{91} } type SetActiveSchemaRequest struct { @@ -5037,7 +5409,7 @@ type SetActiveSchemaRequest struct { func (x *SetActiveSchemaRequest) Reset() { *x = SetActiveSchemaRequest{} - mi := &file_repository_service_proto_msgTypes[85] + mi := &file_repository_service_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5049,7 +5421,7 @@ func (x *SetActiveSchemaRequest) String() string { func (*SetActiveSchemaRequest) ProtoMessage() {} func (x *SetActiveSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[85] + mi := &file_repository_service_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5062,7 +5434,7 @@ func (x *SetActiveSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetActiveSchemaRequest.ProtoReflect.Descriptor instead. func (*SetActiveSchemaRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{85} + return file_repository_service_proto_rawDescGZIP(), []int{92} } func (x *SetActiveSchemaRequest) GetName() string { @@ -5094,7 +5466,7 @@ type SetActiveSchemaResponse struct { func (x *SetActiveSchemaResponse) Reset() { *x = SetActiveSchemaResponse{} - mi := &file_repository_service_proto_msgTypes[86] + mi := &file_repository_service_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5106,7 +5478,7 @@ func (x *SetActiveSchemaResponse) String() string { func (*SetActiveSchemaResponse) ProtoMessage() {} func (x *SetActiveSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[86] + mi := &file_repository_service_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5119,7 +5491,7 @@ func (x *SetActiveSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetActiveSchemaResponse.ProtoReflect.Descriptor instead. func (*SetActiveSchemaResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{86} + return file_repository_service_proto_rawDescGZIP(), []int{93} } type GetSchemaRequest struct { @@ -5135,7 +5507,7 @@ type GetSchemaRequest struct { func (x *GetSchemaRequest) Reset() { *x = GetSchemaRequest{} - mi := &file_repository_service_proto_msgTypes[87] + mi := &file_repository_service_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5147,7 +5519,7 @@ func (x *GetSchemaRequest) String() string { func (*GetSchemaRequest) ProtoMessage() {} func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[87] + mi := &file_repository_service_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5160,7 +5532,7 @@ func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. func (*GetSchemaRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{87} + return file_repository_service_proto_rawDescGZIP(), []int{94} } func (x *GetSchemaRequest) GetName() string { @@ -5187,7 +5559,7 @@ type GetSchemaResponse struct { func (x *GetSchemaResponse) Reset() { *x = GetSchemaResponse{} - mi := &file_repository_service_proto_msgTypes[88] + mi := &file_repository_service_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5199,7 +5571,7 @@ func (x *GetSchemaResponse) String() string { func (*GetSchemaResponse) ProtoMessage() {} func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[88] + mi := &file_repository_service_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5212,7 +5584,7 @@ func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. func (*GetSchemaResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{88} + return file_repository_service_proto_rawDescGZIP(), []int{95} } func (x *GetSchemaResponse) GetVersion() string { @@ -5239,7 +5611,7 @@ type GetAllActiveSchemasRequest struct { func (x *GetAllActiveSchemasRequest) Reset() { *x = GetAllActiveSchemasRequest{} - mi := &file_repository_service_proto_msgTypes[89] + mi := &file_repository_service_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5251,7 +5623,7 @@ func (x *GetAllActiveSchemasRequest) String() string { func (*GetAllActiveSchemasRequest) ProtoMessage() {} func (x *GetAllActiveSchemasRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[89] + mi := &file_repository_service_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5264,7 +5636,7 @@ func (x *GetAllActiveSchemasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllActiveSchemasRequest.ProtoReflect.Descriptor instead. func (*GetAllActiveSchemasRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{89} + return file_repository_service_proto_rawDescGZIP(), []int{96} } func (x *GetAllActiveSchemasRequest) GetWaitSeconds() int64 { @@ -5290,7 +5662,7 @@ type GetAllActiveSchemasResponse struct { func (x *GetAllActiveSchemasResponse) Reset() { *x = GetAllActiveSchemasResponse{} - mi := &file_repository_service_proto_msgTypes[90] + mi := &file_repository_service_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5302,7 +5674,7 @@ func (x *GetAllActiveSchemasResponse) String() string { func (*GetAllActiveSchemasResponse) ProtoMessage() {} func (x *GetAllActiveSchemasResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[90] + mi := &file_repository_service_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5315,7 +5687,7 @@ func (x *GetAllActiveSchemasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllActiveSchemasResponse.ProtoReflect.Descriptor instead. func (*GetAllActiveSchemasResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{90} + return file_repository_service_proto_rawDescGZIP(), []int{97} } func (x *GetAllActiveSchemasResponse) GetSchemas() []*Schema { @@ -5336,7 +5708,7 @@ type Schema struct { func (x *Schema) Reset() { *x = Schema{} - mi := &file_repository_service_proto_msgTypes[91] + mi := &file_repository_service_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5348,7 +5720,7 @@ func (x *Schema) String() string { func (*Schema) ProtoMessage() {} func (x *Schema) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[91] + mi := &file_repository_service_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5361,7 +5733,7 @@ func (x *Schema) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema.ProtoReflect.Descriptor instead. func (*Schema) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{91} + return file_repository_service_proto_rawDescGZIP(), []int{98} } func (x *Schema) GetName() string { @@ -5393,7 +5765,7 @@ type GetDeprecationsRequest struct { func (x *GetDeprecationsRequest) Reset() { *x = GetDeprecationsRequest{} - mi := &file_repository_service_proto_msgTypes[92] + mi := &file_repository_service_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5405,7 +5777,7 @@ func (x *GetDeprecationsRequest) String() string { func (*GetDeprecationsRequest) ProtoMessage() {} func (x *GetDeprecationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[92] + mi := &file_repository_service_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5418,7 +5790,7 @@ func (x *GetDeprecationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeprecationsRequest.ProtoReflect.Descriptor instead. func (*GetDeprecationsRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{92} + return file_repository_service_proto_rawDescGZIP(), []int{99} } type Deprecation struct { @@ -5431,7 +5803,7 @@ type Deprecation struct { func (x *Deprecation) Reset() { *x = Deprecation{} - mi := &file_repository_service_proto_msgTypes[93] + mi := &file_repository_service_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5443,7 +5815,7 @@ func (x *Deprecation) String() string { func (*Deprecation) ProtoMessage() {} func (x *Deprecation) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[93] + mi := &file_repository_service_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5456,7 +5828,7 @@ func (x *Deprecation) ProtoReflect() protoreflect.Message { // Deprecated: Use Deprecation.ProtoReflect.Descriptor instead. func (*Deprecation) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{93} + return file_repository_service_proto_rawDescGZIP(), []int{100} } func (x *Deprecation) GetLabel() string { @@ -5482,7 +5854,7 @@ type GetDeprecationsResponse struct { func (x *GetDeprecationsResponse) Reset() { *x = GetDeprecationsResponse{} - mi := &file_repository_service_proto_msgTypes[94] + mi := &file_repository_service_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5494,7 +5866,7 @@ func (x *GetDeprecationsResponse) String() string { func (*GetDeprecationsResponse) ProtoMessage() {} func (x *GetDeprecationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[94] + mi := &file_repository_service_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5507,7 +5879,7 @@ func (x *GetDeprecationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeprecationsResponse.ProtoReflect.Descriptor instead. func (*GetDeprecationsResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{94} + return file_repository_service_proto_rawDescGZIP(), []int{101} } func (x *GetDeprecationsResponse) GetDeprecations() []*Deprecation { @@ -5526,7 +5898,7 @@ type UpdateDeprecationRequest struct { func (x *UpdateDeprecationRequest) Reset() { *x = UpdateDeprecationRequest{} - mi := &file_repository_service_proto_msgTypes[95] + mi := &file_repository_service_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5538,7 +5910,7 @@ func (x *UpdateDeprecationRequest) String() string { func (*UpdateDeprecationRequest) ProtoMessage() {} func (x *UpdateDeprecationRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[95] + mi := &file_repository_service_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5551,7 +5923,7 @@ func (x *UpdateDeprecationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDeprecationRequest.ProtoReflect.Descriptor instead. func (*UpdateDeprecationRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{95} + return file_repository_service_proto_rawDescGZIP(), []int{102} } func (x *UpdateDeprecationRequest) GetDeprecation() *Deprecation { @@ -5569,7 +5941,7 @@ type UpdateDeprecationResponse struct { func (x *UpdateDeprecationResponse) Reset() { *x = UpdateDeprecationResponse{} - mi := &file_repository_service_proto_msgTypes[96] + mi := &file_repository_service_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5581,7 +5953,7 @@ func (x *UpdateDeprecationResponse) String() string { func (*UpdateDeprecationResponse) ProtoMessage() {} func (x *UpdateDeprecationResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[96] + mi := &file_repository_service_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5594,7 +5966,7 @@ func (x *UpdateDeprecationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDeprecationResponse.ProtoReflect.Descriptor instead. func (*UpdateDeprecationResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{96} + return file_repository_service_proto_rawDescGZIP(), []int{103} } type RegisterMetricKindRequest struct { @@ -5607,7 +5979,7 @@ type RegisterMetricKindRequest struct { func (x *RegisterMetricKindRequest) Reset() { *x = RegisterMetricKindRequest{} - mi := &file_repository_service_proto_msgTypes[97] + mi := &file_repository_service_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5619,7 +5991,7 @@ func (x *RegisterMetricKindRequest) String() string { func (*RegisterMetricKindRequest) ProtoMessage() {} func (x *RegisterMetricKindRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[97] + mi := &file_repository_service_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5632,7 +6004,7 @@ func (x *RegisterMetricKindRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetricKindRequest.ProtoReflect.Descriptor instead. func (*RegisterMetricKindRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{97} + return file_repository_service_proto_rawDescGZIP(), []int{104} } func (x *RegisterMetricKindRequest) GetName() string { @@ -5657,7 +6029,7 @@ type RegisterMetricKindResponse struct { func (x *RegisterMetricKindResponse) Reset() { *x = RegisterMetricKindResponse{} - mi := &file_repository_service_proto_msgTypes[98] + mi := &file_repository_service_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5669,7 +6041,7 @@ func (x *RegisterMetricKindResponse) String() string { func (*RegisterMetricKindResponse) ProtoMessage() {} func (x *RegisterMetricKindResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[98] + mi := &file_repository_service_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5682,7 +6054,7 @@ func (x *RegisterMetricKindResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetricKindResponse.ProtoReflect.Descriptor instead. func (*RegisterMetricKindResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{98} + return file_repository_service_proto_rawDescGZIP(), []int{105} } type DeleteMetricKindRequest struct { @@ -5694,7 +6066,7 @@ type DeleteMetricKindRequest struct { func (x *DeleteMetricKindRequest) Reset() { *x = DeleteMetricKindRequest{} - mi := &file_repository_service_proto_msgTypes[99] + mi := &file_repository_service_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5706,7 +6078,7 @@ func (x *DeleteMetricKindRequest) String() string { func (*DeleteMetricKindRequest) ProtoMessage() {} func (x *DeleteMetricKindRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[99] + mi := &file_repository_service_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5719,7 +6091,7 @@ func (x *DeleteMetricKindRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMetricKindRequest.ProtoReflect.Descriptor instead. func (*DeleteMetricKindRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{99} + return file_repository_service_proto_rawDescGZIP(), []int{106} } func (x *DeleteMetricKindRequest) GetName() string { @@ -5737,7 +6109,7 @@ type DeleteMetricKindResponse struct { func (x *DeleteMetricKindResponse) Reset() { *x = DeleteMetricKindResponse{} - mi := &file_repository_service_proto_msgTypes[100] + mi := &file_repository_service_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5749,7 +6121,7 @@ func (x *DeleteMetricKindResponse) String() string { func (*DeleteMetricKindResponse) ProtoMessage() {} func (x *DeleteMetricKindResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[100] + mi := &file_repository_service_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5762,7 +6134,7 @@ func (x *DeleteMetricKindResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMetricKindResponse.ProtoReflect.Descriptor instead. func (*DeleteMetricKindResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{100} + return file_repository_service_proto_rawDescGZIP(), []int{107} } type GetMetricKindsRequest struct { @@ -5773,7 +6145,7 @@ type GetMetricKindsRequest struct { func (x *GetMetricKindsRequest) Reset() { *x = GetMetricKindsRequest{} - mi := &file_repository_service_proto_msgTypes[101] + mi := &file_repository_service_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5785,7 +6157,7 @@ func (x *GetMetricKindsRequest) String() string { func (*GetMetricKindsRequest) ProtoMessage() {} func (x *GetMetricKindsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[101] + mi := &file_repository_service_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5798,7 +6170,7 @@ func (x *GetMetricKindsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetricKindsRequest.ProtoReflect.Descriptor instead. func (*GetMetricKindsRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{101} + return file_repository_service_proto_rawDescGZIP(), []int{108} } type GetMetricKindsResponse struct { @@ -5810,7 +6182,7 @@ type GetMetricKindsResponse struct { func (x *GetMetricKindsResponse) Reset() { *x = GetMetricKindsResponse{} - mi := &file_repository_service_proto_msgTypes[102] + mi := &file_repository_service_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5822,7 +6194,7 @@ func (x *GetMetricKindsResponse) String() string { func (*GetMetricKindsResponse) ProtoMessage() {} func (x *GetMetricKindsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[102] + mi := &file_repository_service_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5835,7 +6207,7 @@ func (x *GetMetricKindsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetricKindsResponse.ProtoReflect.Descriptor instead. func (*GetMetricKindsResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{102} + return file_repository_service_proto_rawDescGZIP(), []int{109} } func (x *GetMetricKindsResponse) GetKinds() []*MetricKind { @@ -5855,7 +6227,7 @@ type MetricKind struct { func (x *MetricKind) Reset() { *x = MetricKind{} - mi := &file_repository_service_proto_msgTypes[103] + mi := &file_repository_service_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5867,7 +6239,7 @@ func (x *MetricKind) String() string { func (*MetricKind) ProtoMessage() {} func (x *MetricKind) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[103] + mi := &file_repository_service_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5880,7 +6252,7 @@ func (x *MetricKind) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricKind.ProtoReflect.Descriptor instead. func (*MetricKind) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{103} + return file_repository_service_proto_rawDescGZIP(), []int{110} } func (x *MetricKind) GetName() string { @@ -5909,7 +6281,7 @@ type RegisterMetricRequest struct { func (x *RegisterMetricRequest) Reset() { *x = RegisterMetricRequest{} - mi := &file_repository_service_proto_msgTypes[104] + mi := &file_repository_service_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5921,7 +6293,7 @@ func (x *RegisterMetricRequest) String() string { func (*RegisterMetricRequest) ProtoMessage() {} func (x *RegisterMetricRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[104] + mi := &file_repository_service_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5934,7 +6306,7 @@ func (x *RegisterMetricRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetricRequest.ProtoReflect.Descriptor instead. func (*RegisterMetricRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{104} + return file_repository_service_proto_rawDescGZIP(), []int{111} } func (x *RegisterMetricRequest) GetUuid() string { @@ -5973,7 +6345,7 @@ type RegisterMetricResponse struct { func (x *RegisterMetricResponse) Reset() { *x = RegisterMetricResponse{} - mi := &file_repository_service_proto_msgTypes[105] + mi := &file_repository_service_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5985,7 +6357,7 @@ func (x *RegisterMetricResponse) String() string { func (*RegisterMetricResponse) ProtoMessage() {} func (x *RegisterMetricResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[105] + mi := &file_repository_service_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5998,7 +6370,7 @@ func (x *RegisterMetricResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterMetricResponse.ProtoReflect.Descriptor instead. func (*RegisterMetricResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{105} + return file_repository_service_proto_rawDescGZIP(), []int{112} } type GetMetricsRequest struct { @@ -6012,7 +6384,7 @@ type GetMetricsRequest struct { func (x *GetMetricsRequest) Reset() { *x = GetMetricsRequest{} - mi := &file_repository_service_proto_msgTypes[106] + mi := &file_repository_service_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6024,7 +6396,7 @@ func (x *GetMetricsRequest) String() string { func (*GetMetricsRequest) ProtoMessage() {} func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[106] + mi := &file_repository_service_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6037,7 +6409,7 @@ func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetricsRequest.ProtoReflect.Descriptor instead. func (*GetMetricsRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{106} + return file_repository_service_proto_rawDescGZIP(), []int{113} } func (x *GetMetricsRequest) GetUuid() string { @@ -6070,7 +6442,7 @@ type GetMetricsResponse struct { func (x *GetMetricsResponse) Reset() { *x = GetMetricsResponse{} - mi := &file_repository_service_proto_msgTypes[107] + mi := &file_repository_service_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6082,7 +6454,7 @@ func (x *GetMetricsResponse) String() string { func (*GetMetricsResponse) ProtoMessage() {} func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[107] + mi := &file_repository_service_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6095,7 +6467,7 @@ func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMetricsResponse.ProtoReflect.Descriptor instead. func (*GetMetricsResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{107} + return file_repository_service_proto_rawDescGZIP(), []int{114} } func (x *GetMetricsResponse) GetMetrics() []*Metric { @@ -6116,7 +6488,7 @@ type Metric struct { func (x *Metric) Reset() { *x = Metric{} - mi := &file_repository_service_proto_msgTypes[108] + mi := &file_repository_service_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6128,7 +6500,7 @@ func (x *Metric) String() string { func (*Metric) ProtoMessage() {} func (x *Metric) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[108] + mi := &file_repository_service_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6141,7 +6513,7 @@ func (x *Metric) ProtoReflect() protoreflect.Message { // Deprecated: Use Metric.ProtoReflect.Descriptor instead. func (*Metric) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{108} + return file_repository_service_proto_rawDescGZIP(), []int{115} } func (x *Metric) GetKind() string { @@ -6181,7 +6553,7 @@ type LockRequest struct { func (x *LockRequest) Reset() { *x = LockRequest{} - mi := &file_repository_service_proto_msgTypes[109] + mi := &file_repository_service_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6193,7 +6565,7 @@ func (x *LockRequest) String() string { func (*LockRequest) ProtoMessage() {} func (x *LockRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[109] + mi := &file_repository_service_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6206,7 +6578,7 @@ func (x *LockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LockRequest.ProtoReflect.Descriptor instead. func (*LockRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{109} + return file_repository_service_proto_rawDescGZIP(), []int{116} } func (x *LockRequest) GetUuid() string { @@ -6249,7 +6621,7 @@ type LockResponse struct { func (x *LockResponse) Reset() { *x = LockResponse{} - mi := &file_repository_service_proto_msgTypes[110] + mi := &file_repository_service_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6261,7 +6633,7 @@ func (x *LockResponse) String() string { func (*LockResponse) ProtoMessage() {} func (x *LockResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[110] + mi := &file_repository_service_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6274,7 +6646,7 @@ func (x *LockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LockResponse.ProtoReflect.Descriptor instead. func (*LockResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{110} + return file_repository_service_proto_rawDescGZIP(), []int{117} } func (x *LockResponse) GetToken() string { @@ -6305,7 +6677,7 @@ type ExtendLockRequest struct { func (x *ExtendLockRequest) Reset() { *x = ExtendLockRequest{} - mi := &file_repository_service_proto_msgTypes[111] + mi := &file_repository_service_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6317,7 +6689,7 @@ func (x *ExtendLockRequest) String() string { func (*ExtendLockRequest) ProtoMessage() {} func (x *ExtendLockRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[111] + mi := &file_repository_service_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6330,7 +6702,7 @@ func (x *ExtendLockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExtendLockRequest.ProtoReflect.Descriptor instead. func (*ExtendLockRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{111} + return file_repository_service_proto_rawDescGZIP(), []int{118} } func (x *ExtendLockRequest) GetUuid() string { @@ -6366,7 +6738,7 @@ type UnlockRequest struct { func (x *UnlockRequest) Reset() { *x = UnlockRequest{} - mi := &file_repository_service_proto_msgTypes[112] + mi := &file_repository_service_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6378,7 +6750,7 @@ func (x *UnlockRequest) String() string { func (*UnlockRequest) ProtoMessage() {} func (x *UnlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[112] + mi := &file_repository_service_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6391,7 +6763,7 @@ func (x *UnlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockRequest.ProtoReflect.Descriptor instead. func (*UnlockRequest) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{112} + return file_repository_service_proto_rawDescGZIP(), []int{119} } func (x *UnlockRequest) GetUuid() string { @@ -6416,7 +6788,7 @@ type UnlockResponse struct { func (x *UnlockResponse) Reset() { *x = UnlockResponse{} - mi := &file_repository_service_proto_msgTypes[113] + mi := &file_repository_service_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6428,7 +6800,7 @@ func (x *UnlockResponse) String() string { func (*UnlockResponse) ProtoMessage() {} func (x *UnlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_service_proto_msgTypes[113] + mi := &file_repository_service_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6441,7 +6813,7 @@ func (x *UnlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockResponse.ProtoReflect.Descriptor instead. func (*UnlockResponse) Descriptor() ([]byte, []int) { - return file_repository_service_proto_rawDescGZIP(), []int{113} + return file_repository_service_proto_rawDescGZIP(), []int{120} } var File_repository_service_proto protoreflect.FileDescriptor @@ -6542,7 +6914,7 @@ var file_repository_service_proto_rawDesc = []byte{ 0x65, 0x12, 0x37, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xa2, 0x03, 0x0a, 0x0c, 0x45, + 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xfa, 0x03, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, @@ -6568,105 +6940,141 @@ var file_repository_service_proto_rawDesc = []byte{ 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, - 0x26, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x73, 0x68, - 0x65, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, - 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x48, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x22, 0x4e, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, - 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, - 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x14, 0x0a, - 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x4d, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x48, + 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x4e, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, + 0x73, 0x68, 0x65, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x70, 0x72, + 0x65, 0x61, 0x64, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x65, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74, - 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x64, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x4b, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x22, 0x45, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x3d, 0x0a, 0x14, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x4f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, + 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x63, 0x72, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8a, 0x02, 0x0a, + 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, + 0x65, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x6e, + 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, + 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0b, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, + 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x4b, 0x0a, + 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x45, 0x0a, 0x0b, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, + 0x73, 0x22, 0x3d, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x6b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, + 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x96, 0x01, + 0x0a, 0x10, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x65, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x2f, 0x0a, 0x13, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x18, + 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, @@ -6958,7 +7366,7 @@ var file_repository_service_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xb7, 0x03, 0x0a, 0x0c, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x8f, 0x04, 0x0a, 0x0c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, @@ -6980,485 +7388,509 @@ var file_repository_service_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x55, - 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x39, - 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, - 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, - 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x08, - 0x41, 0x43, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8e, 0x01, 0x0a, - 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x61, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4b, 0x0a, - 0x17, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1d, - 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, - 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x18, 0x0a, 0x16, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x19, - 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xcb, - 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, - 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x12, 0x50, 0x0a, 0x05, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, - 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, + 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x55, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x02, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x74, + 0x61, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, + 0x61, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x4d, + 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x08, 0x41, 0x43, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4b, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, + 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x33, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x6c, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, + 0x61, 0x32, 0x35, 0x36, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, + 0x0a, 0x16, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x40, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xcb, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x6c, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x61, 0x69, + 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x50, 0x0a, 0x05, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x4b, 0x6e, + 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x3f, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x64, 0x22, 0x5f, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x5e, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, + 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x79, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x18, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3f, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x22, 0x5f, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x65, + 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x22, 0x6a, 0x0a, + 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x48, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x15, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x22, 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5e, 0x0a, 0x18, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, - 0x69, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, - 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, - 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x22, 0x6a, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, - 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, - 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x6b, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x18, - 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x22, 0x48, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5f, 0x0a, 0x0b, 0x4c, 0x6f, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, + 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x0c, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x11, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x39, 0x0a, 0x0d, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x4b, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, - 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x48, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x5f, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x39, 0x0a, 0x0d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x10, 0x0a, 0x0e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2a, 0x3c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x6f, 0x63, 0x12, - 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x0c, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x2a, - 0x39, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, - 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x32, 0xe3, 0x0e, 0x0a, 0x09, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, - 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x3c, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x44, 0x6f, 0x63, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x54, 0x41, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x49, + 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x2a, 0x39, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, + 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, + 0x10, 0x02, 0x32, 0xe3, 0x0e, 0x0a, 0x09, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x58, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x42, 0x75, + 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x6c, 0x6b, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6c, 0x65, + 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x42, 0x75, - 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, - 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x65, - 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x12, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, - 0x05, 0x50, 0x75, 0x72, 0x67, 0x65, 0x12, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x72, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, + 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x51, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, - 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x08, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x12, - 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x12, 0x30, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, - 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6c, 0x65, 0x70, - 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, - 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x65, - 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x2d, 0x2e, + 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, + 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x57, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, - 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, + 0x6f, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, + 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, 0x72, - 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, - 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x12, - 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x6f, - 0x63, 0x6b, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, - 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6c, 0x65, + 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x54, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x06, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x6e, - 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0xec, 0x06, 0x0a, 0x07, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x63, 0x0a, 0x08, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x66, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2b, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x50, 0x75, 0x72, 0x67, 0x65, 0x12, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x03, 0x47, 0x65, 0x74, - 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x12, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x08, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x71, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x2f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, - 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, - 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x12, 0x2f, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6c, - 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0x9f, 0x04, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x63, 0x0a, - 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, - 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, + 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x12, + 0x30, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, - 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, - 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6e, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xa7, 0x04, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x59, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x72, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, + 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, + 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4b, 0x0a, 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x6f, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, + 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x22, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xec, 0x06, 0x0a, 0x07, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x12, 0x63, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, + 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x53, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, + 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x54, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x25, + 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x13, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, + 0x73, 0x65, 0x12, 0x2f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, + 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xce, 0x06, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x63, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, - 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, - 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x03, - 0x52, 0x75, 0x6e, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, - 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x57, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, + 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, + 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x53, 0x65, 0x74, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, + 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x94, 0x04, 0x0a, 0x07, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x6f, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, - 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x2c, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, + 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, + 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, - 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, + 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa7, 0x04, 0x0a, 0x07, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x12, 0x59, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x65, + 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5d, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, + 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, + 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x03, 0x52, 0x75, 0x6e, 0x12, 0x25, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, - 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, + 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x04, 0x54, 0x65, 0x73, + 0x74, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x74, 0x74, 0x61, 0x62, 0x2f, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2d, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x32, 0x94, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x6f, + 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x2e, + 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x69, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x2c, 0x2e, + 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6c, + 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x08, 0x47, 0x65, + 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, + 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x69, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x12, 0x2a, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x74, 0x61, 0x62, 0x2f, 0x65, 0x6c, 0x65, + 0x70, 0x68, 0x61, 0x6e, 0x74, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7474,7 +7906,7 @@ func file_repository_service_proto_rawDescGZIP() []byte { } var file_repository_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_repository_service_proto_msgTypes = make([]protoimpl.MessageInfo, 124) +var file_repository_service_proto_msgTypes = make([]protoimpl.MessageInfo, 131) var file_repository_service_proto_goTypes = []any{ (GetMetaDoc)(0), // 0: elephant.repository.GetMetaDoc (MetricAggregation)(0), // 1: elephant.repository.MetricAggregation @@ -7511,252 +7943,267 @@ var file_repository_service_proto_goTypes = []any{ (*GetStatusRulesRequest)(nil), // 32: elephant.repository.GetStatusRulesRequest (*GetStatusRulesResponse)(nil), // 33: elephant.repository.GetStatusRulesResponse (*GetStatusesRequest)(nil), // 34: elephant.repository.GetStatusesRequest - (*WorkflowStatus)(nil), // 35: elephant.repository.WorkflowStatus - (*GetStatusesResponse)(nil), // 36: elephant.repository.GetStatusesResponse - (*UpdateStatusRequest)(nil), // 37: elephant.repository.UpdateStatusRequest - (*UpdateStatusResponse)(nil), // 38: elephant.repository.UpdateStatusResponse - (*CreateStatusRuleRequest)(nil), // 39: elephant.repository.CreateStatusRuleRequest - (*StatusRule)(nil), // 40: elephant.repository.StatusRule - (*CreateStatusRuleResponse)(nil), // 41: elephant.repository.CreateStatusRuleResponse - (*DeleteStatusRuleRequest)(nil), // 42: elephant.repository.DeleteStatusRuleRequest - (*DeleteStatusRuleResponse)(nil), // 43: elephant.repository.DeleteStatusRuleResponse - (*GetDocumentRequest)(nil), // 44: elephant.repository.GetDocumentRequest - (*GetDocumentResponse)(nil), // 45: elephant.repository.GetDocumentResponse - (*BulkGetRequest)(nil), // 46: elephant.repository.BulkGetRequest - (*BulkGetReference)(nil), // 47: elephant.repository.BulkGetReference - (*BulkGetResponse)(nil), // 48: elephant.repository.BulkGetResponse - (*BulkGetItem)(nil), // 49: elephant.repository.BulkGetItem - (*MetaDocument)(nil), // 50: elephant.repository.MetaDocument - (*GetHistoryRequest)(nil), // 51: elephant.repository.GetHistoryRequest - (*GetHistoryResponse)(nil), // 52: elephant.repository.GetHistoryResponse - (*DocumentVersion)(nil), // 53: elephant.repository.DocumentVersion - (*UpdateRequest)(nil), // 54: elephant.repository.UpdateRequest - (*ImportDirective)(nil), // 55: elephant.repository.ImportDirective - (*UpdateResponse)(nil), // 56: elephant.repository.UpdateResponse - (*BulkUpdateRequest)(nil), // 57: elephant.repository.BulkUpdateRequest - (*BulkUpdateResponse)(nil), // 58: elephant.repository.BulkUpdateResponse - (*ValidateRequest)(nil), // 59: elephant.repository.ValidateRequest - (*ValidateResponse)(nil), // 60: elephant.repository.ValidateResponse - (*ValidationResult)(nil), // 61: elephant.repository.ValidationResult - (*EntityRef)(nil), // 62: elephant.repository.EntityRef - (*StatusUpdate)(nil), // 63: elephant.repository.StatusUpdate - (*UpdatePermissionsRequest)(nil), // 64: elephant.repository.UpdatePermissionsRequest - (*UpdatePermissionsResponse)(nil), // 65: elephant.repository.UpdatePermissionsResponse - (*DeleteDocumentRequest)(nil), // 66: elephant.repository.DeleteDocumentRequest - (*DeleteDocumentResponse)(nil), // 67: elephant.repository.DeleteDocumentResponse - (*RestoreRequest)(nil), // 68: elephant.repository.RestoreRequest - (*RestoreResponse)(nil), // 69: elephant.repository.RestoreResponse - (*PurgeRequest)(nil), // 70: elephant.repository.PurgeRequest - (*PurgeResponse)(nil), // 71: elephant.repository.PurgeResponse - (*ListDeletedRequest)(nil), // 72: elephant.repository.ListDeletedRequest - (*ListDeletedResponse)(nil), // 73: elephant.repository.ListDeletedResponse - (*DeleteRecord)(nil), // 74: elephant.repository.DeleteRecord - (*GetMetaRequest)(nil), // 75: elephant.repository.GetMetaRequest - (*GetMetaResponse)(nil), // 76: elephant.repository.GetMetaResponse - (*DocumentMeta)(nil), // 77: elephant.repository.DocumentMeta - (*Status)(nil), // 78: elephant.repository.Status - (*ACLEntry)(nil), // 79: elephant.repository.ACLEntry - (*Lock)(nil), // 80: elephant.repository.Lock - (*RegisterMetaTypeRequest)(nil), // 81: elephant.repository.RegisterMetaTypeRequest - (*RegisterMetaTypeResponse)(nil), // 82: elephant.repository.RegisterMetaTypeResponse - (*RegisterMetaTypeUseRequest)(nil), // 83: elephant.repository.RegisterMetaTypeUseRequest - (*RegisterMetaTypeUseResponse)(nil), // 84: elephant.repository.RegisterMetaTypeUseResponse - (*RegisterSchemaRequest)(nil), // 85: elephant.repository.RegisterSchemaRequest - (*RegisterSchemaResponse)(nil), // 86: elephant.repository.RegisterSchemaResponse - (*SetActiveSchemaRequest)(nil), // 87: elephant.repository.SetActiveSchemaRequest - (*SetActiveSchemaResponse)(nil), // 88: elephant.repository.SetActiveSchemaResponse - (*GetSchemaRequest)(nil), // 89: elephant.repository.GetSchemaRequest - (*GetSchemaResponse)(nil), // 90: elephant.repository.GetSchemaResponse - (*GetAllActiveSchemasRequest)(nil), // 91: elephant.repository.GetAllActiveSchemasRequest - (*GetAllActiveSchemasResponse)(nil), // 92: elephant.repository.GetAllActiveSchemasResponse - (*Schema)(nil), // 93: elephant.repository.Schema - (*GetDeprecationsRequest)(nil), // 94: elephant.repository.GetDeprecationsRequest - (*Deprecation)(nil), // 95: elephant.repository.Deprecation - (*GetDeprecationsResponse)(nil), // 96: elephant.repository.GetDeprecationsResponse - (*UpdateDeprecationRequest)(nil), // 97: elephant.repository.UpdateDeprecationRequest - (*UpdateDeprecationResponse)(nil), // 98: elephant.repository.UpdateDeprecationResponse - (*RegisterMetricKindRequest)(nil), // 99: elephant.repository.RegisterMetricKindRequest - (*RegisterMetricKindResponse)(nil), // 100: elephant.repository.RegisterMetricKindResponse - (*DeleteMetricKindRequest)(nil), // 101: elephant.repository.DeleteMetricKindRequest - (*DeleteMetricKindResponse)(nil), // 102: elephant.repository.DeleteMetricKindResponse - (*GetMetricKindsRequest)(nil), // 103: elephant.repository.GetMetricKindsRequest - (*GetMetricKindsResponse)(nil), // 104: elephant.repository.GetMetricKindsResponse - (*MetricKind)(nil), // 105: elephant.repository.MetricKind - (*RegisterMetricRequest)(nil), // 106: elephant.repository.RegisterMetricRequest - (*RegisterMetricResponse)(nil), // 107: elephant.repository.RegisterMetricResponse - (*GetMetricsRequest)(nil), // 108: elephant.repository.GetMetricsRequest - (*GetMetricsResponse)(nil), // 109: elephant.repository.GetMetricsResponse - (*Metric)(nil), // 110: elephant.repository.Metric - (*LockRequest)(nil), // 111: elephant.repository.LockRequest - (*LockResponse)(nil), // 112: elephant.repository.LockResponse - (*ExtendLockRequest)(nil), // 113: elephant.repository.ExtendLockRequest - (*UnlockRequest)(nil), // 114: elephant.repository.UnlockRequest - (*UnlockResponse)(nil), // 115: elephant.repository.UnlockResponse - nil, // 116: elephant.repository.StatusOverviewItem.HeadsEntry - nil, // 117: elephant.repository.GetPermissionsResponse.PermissionsEntry - nil, // 118: elephant.repository.DocumentVersion.MetaEntry - nil, // 119: elephant.repository.UpdateRequest.MetaEntry - nil, // 120: elephant.repository.StatusUpdate.MetaEntry - nil, // 121: elephant.repository.DeleteDocumentRequest.MetaEntry - nil, // 122: elephant.repository.DeleteRecord.MetaEntry - nil, // 123: elephant.repository.DocumentMeta.HeadsEntry - nil, // 124: elephant.repository.Status.MetaEntry - nil, // 125: elephant.repository.GetAllActiveSchemasRequest.KnownEntry - (*newsdoc.Document)(nil), // 126: newsdoc.Document + (*SetWorkflowRequest)(nil), // 35: elephant.repository.SetWorkflowRequest + (*DocumentWorkflow)(nil), // 36: elephant.repository.DocumentWorkflow + (*SetWorkflowResponse)(nil), // 37: elephant.repository.SetWorkflowResponse + (*GetWorkflowRequest)(nil), // 38: elephant.repository.GetWorkflowRequest + (*GetWorkflowResponse)(nil), // 39: elephant.repository.GetWorkflowResponse + (*DeleteWorkflowRequest)(nil), // 40: elephant.repository.DeleteWorkflowRequest + (*DeleteWorkflowResponse)(nil), // 41: elephant.repository.DeleteWorkflowResponse + (*WorkflowStatus)(nil), // 42: elephant.repository.WorkflowStatus + (*GetStatusesResponse)(nil), // 43: elephant.repository.GetStatusesResponse + (*UpdateStatusRequest)(nil), // 44: elephant.repository.UpdateStatusRequest + (*UpdateStatusResponse)(nil), // 45: elephant.repository.UpdateStatusResponse + (*CreateStatusRuleRequest)(nil), // 46: elephant.repository.CreateStatusRuleRequest + (*StatusRule)(nil), // 47: elephant.repository.StatusRule + (*CreateStatusRuleResponse)(nil), // 48: elephant.repository.CreateStatusRuleResponse + (*DeleteStatusRuleRequest)(nil), // 49: elephant.repository.DeleteStatusRuleRequest + (*DeleteStatusRuleResponse)(nil), // 50: elephant.repository.DeleteStatusRuleResponse + (*GetDocumentRequest)(nil), // 51: elephant.repository.GetDocumentRequest + (*GetDocumentResponse)(nil), // 52: elephant.repository.GetDocumentResponse + (*BulkGetRequest)(nil), // 53: elephant.repository.BulkGetRequest + (*BulkGetReference)(nil), // 54: elephant.repository.BulkGetReference + (*BulkGetResponse)(nil), // 55: elephant.repository.BulkGetResponse + (*BulkGetItem)(nil), // 56: elephant.repository.BulkGetItem + (*MetaDocument)(nil), // 57: elephant.repository.MetaDocument + (*GetHistoryRequest)(nil), // 58: elephant.repository.GetHistoryRequest + (*GetHistoryResponse)(nil), // 59: elephant.repository.GetHistoryResponse + (*DocumentVersion)(nil), // 60: elephant.repository.DocumentVersion + (*UpdateRequest)(nil), // 61: elephant.repository.UpdateRequest + (*ImportDirective)(nil), // 62: elephant.repository.ImportDirective + (*UpdateResponse)(nil), // 63: elephant.repository.UpdateResponse + (*BulkUpdateRequest)(nil), // 64: elephant.repository.BulkUpdateRequest + (*BulkUpdateResponse)(nil), // 65: elephant.repository.BulkUpdateResponse + (*ValidateRequest)(nil), // 66: elephant.repository.ValidateRequest + (*ValidateResponse)(nil), // 67: elephant.repository.ValidateResponse + (*ValidationResult)(nil), // 68: elephant.repository.ValidationResult + (*EntityRef)(nil), // 69: elephant.repository.EntityRef + (*StatusUpdate)(nil), // 70: elephant.repository.StatusUpdate + (*UpdatePermissionsRequest)(nil), // 71: elephant.repository.UpdatePermissionsRequest + (*UpdatePermissionsResponse)(nil), // 72: elephant.repository.UpdatePermissionsResponse + (*DeleteDocumentRequest)(nil), // 73: elephant.repository.DeleteDocumentRequest + (*DeleteDocumentResponse)(nil), // 74: elephant.repository.DeleteDocumentResponse + (*RestoreRequest)(nil), // 75: elephant.repository.RestoreRequest + (*RestoreResponse)(nil), // 76: elephant.repository.RestoreResponse + (*PurgeRequest)(nil), // 77: elephant.repository.PurgeRequest + (*PurgeResponse)(nil), // 78: elephant.repository.PurgeResponse + (*ListDeletedRequest)(nil), // 79: elephant.repository.ListDeletedRequest + (*ListDeletedResponse)(nil), // 80: elephant.repository.ListDeletedResponse + (*DeleteRecord)(nil), // 81: elephant.repository.DeleteRecord + (*GetMetaRequest)(nil), // 82: elephant.repository.GetMetaRequest + (*GetMetaResponse)(nil), // 83: elephant.repository.GetMetaResponse + (*DocumentMeta)(nil), // 84: elephant.repository.DocumentMeta + (*Status)(nil), // 85: elephant.repository.Status + (*ACLEntry)(nil), // 86: elephant.repository.ACLEntry + (*Lock)(nil), // 87: elephant.repository.Lock + (*RegisterMetaTypeRequest)(nil), // 88: elephant.repository.RegisterMetaTypeRequest + (*RegisterMetaTypeResponse)(nil), // 89: elephant.repository.RegisterMetaTypeResponse + (*RegisterMetaTypeUseRequest)(nil), // 90: elephant.repository.RegisterMetaTypeUseRequest + (*RegisterMetaTypeUseResponse)(nil), // 91: elephant.repository.RegisterMetaTypeUseResponse + (*RegisterSchemaRequest)(nil), // 92: elephant.repository.RegisterSchemaRequest + (*RegisterSchemaResponse)(nil), // 93: elephant.repository.RegisterSchemaResponse + (*SetActiveSchemaRequest)(nil), // 94: elephant.repository.SetActiveSchemaRequest + (*SetActiveSchemaResponse)(nil), // 95: elephant.repository.SetActiveSchemaResponse + (*GetSchemaRequest)(nil), // 96: elephant.repository.GetSchemaRequest + (*GetSchemaResponse)(nil), // 97: elephant.repository.GetSchemaResponse + (*GetAllActiveSchemasRequest)(nil), // 98: elephant.repository.GetAllActiveSchemasRequest + (*GetAllActiveSchemasResponse)(nil), // 99: elephant.repository.GetAllActiveSchemasResponse + (*Schema)(nil), // 100: elephant.repository.Schema + (*GetDeprecationsRequest)(nil), // 101: elephant.repository.GetDeprecationsRequest + (*Deprecation)(nil), // 102: elephant.repository.Deprecation + (*GetDeprecationsResponse)(nil), // 103: elephant.repository.GetDeprecationsResponse + (*UpdateDeprecationRequest)(nil), // 104: elephant.repository.UpdateDeprecationRequest + (*UpdateDeprecationResponse)(nil), // 105: elephant.repository.UpdateDeprecationResponse + (*RegisterMetricKindRequest)(nil), // 106: elephant.repository.RegisterMetricKindRequest + (*RegisterMetricKindResponse)(nil), // 107: elephant.repository.RegisterMetricKindResponse + (*DeleteMetricKindRequest)(nil), // 108: elephant.repository.DeleteMetricKindRequest + (*DeleteMetricKindResponse)(nil), // 109: elephant.repository.DeleteMetricKindResponse + (*GetMetricKindsRequest)(nil), // 110: elephant.repository.GetMetricKindsRequest + (*GetMetricKindsResponse)(nil), // 111: elephant.repository.GetMetricKindsResponse + (*MetricKind)(nil), // 112: elephant.repository.MetricKind + (*RegisterMetricRequest)(nil), // 113: elephant.repository.RegisterMetricRequest + (*RegisterMetricResponse)(nil), // 114: elephant.repository.RegisterMetricResponse + (*GetMetricsRequest)(nil), // 115: elephant.repository.GetMetricsRequest + (*GetMetricsResponse)(nil), // 116: elephant.repository.GetMetricsResponse + (*Metric)(nil), // 117: elephant.repository.Metric + (*LockRequest)(nil), // 118: elephant.repository.LockRequest + (*LockResponse)(nil), // 119: elephant.repository.LockResponse + (*ExtendLockRequest)(nil), // 120: elephant.repository.ExtendLockRequest + (*UnlockRequest)(nil), // 121: elephant.repository.UnlockRequest + (*UnlockResponse)(nil), // 122: elephant.repository.UnlockResponse + nil, // 123: elephant.repository.StatusOverviewItem.HeadsEntry + nil, // 124: elephant.repository.GetPermissionsResponse.PermissionsEntry + nil, // 125: elephant.repository.DocumentVersion.MetaEntry + nil, // 126: elephant.repository.UpdateRequest.MetaEntry + nil, // 127: elephant.repository.StatusUpdate.MetaEntry + nil, // 128: elephant.repository.DeleteDocumentRequest.MetaEntry + nil, // 129: elephant.repository.DeleteRecord.MetaEntry + nil, // 130: elephant.repository.DocumentMeta.HeadsEntry + nil, // 131: elephant.repository.Status.MetaEntry + nil, // 132: elephant.repository.GetAllActiveSchemasRequest.KnownEntry + (*newsdoc.Document)(nil), // 133: newsdoc.Document } var file_repository_service_proto_depIdxs = []int32{ - 78, // 0: elephant.repository.GetStatusResponse.status:type_name -> elephant.repository.Status - 78, // 1: elephant.repository.GetStatusHistoryReponse.statuses:type_name -> elephant.repository.Status + 85, // 0: elephant.repository.GetStatusResponse.status:type_name -> elephant.repository.Status + 85, // 1: elephant.repository.GetStatusHistoryReponse.statuses:type_name -> elephant.repository.Status 8, // 2: elephant.repository.GetStatusOverviewResponse.items:type_name -> elephant.repository.StatusOverviewItem - 116, // 3: elephant.repository.StatusOverviewItem.heads:type_name -> elephant.repository.StatusOverviewItem.HeadsEntry - 117, // 4: elephant.repository.GetPermissionsResponse.permissions:type_name -> elephant.repository.GetPermissionsResponse.PermissionsEntry + 123, // 3: elephant.repository.StatusOverviewItem.heads:type_name -> elephant.repository.StatusOverviewItem.HeadsEntry + 124, // 4: elephant.repository.GetPermissionsResponse.permissions:type_name -> elephant.repository.GetPermissionsResponse.PermissionsEntry 15, // 5: elephant.repository.GetEventlogResponse.items:type_name -> elephant.repository.EventlogItem 15, // 6: elephant.repository.GetCompactedEventlogResponse.items:type_name -> elephant.repository.EventlogItem - 79, // 7: elephant.repository.EventlogItem.acl:type_name -> elephant.repository.ACLEntry + 86, // 7: elephant.repository.EventlogItem.acl:type_name -> elephant.repository.ACLEntry 28, // 8: elephant.repository.TestReportRequest.report:type_name -> elephant.repository.Report 28, // 9: elephant.repository.GetReportResponse.report:type_name -> elephant.repository.Report 28, // 10: elephant.repository.UpdateReportRequest.report:type_name -> elephant.repository.Report 27, // 11: elephant.repository.ListReportsResponse.reports:type_name -> elephant.repository.ReportListItem 29, // 12: elephant.repository.Report.queries:type_name -> elephant.repository.ReportQuery 30, // 13: elephant.repository.ReportQuery.value_processing:type_name -> elephant.repository.ReportValue - 40, // 14: elephant.repository.GetStatusRulesResponse.rules:type_name -> elephant.repository.StatusRule - 35, // 15: elephant.repository.GetStatusesResponse.statuses:type_name -> elephant.repository.WorkflowStatus - 40, // 16: elephant.repository.CreateStatusRuleRequest.rule:type_name -> elephant.repository.StatusRule - 0, // 17: elephant.repository.GetDocumentRequest.meta_document:type_name -> elephant.repository.GetMetaDoc - 126, // 18: elephant.repository.GetDocumentResponse.document:type_name -> newsdoc.Document - 78, // 19: elephant.repository.GetDocumentResponse.status:type_name -> elephant.repository.Status - 50, // 20: elephant.repository.GetDocumentResponse.meta:type_name -> elephant.repository.MetaDocument - 47, // 21: elephant.repository.BulkGetRequest.documents:type_name -> elephant.repository.BulkGetReference - 49, // 22: elephant.repository.BulkGetResponse.items:type_name -> elephant.repository.BulkGetItem - 126, // 23: elephant.repository.BulkGetItem.document:type_name -> newsdoc.Document - 126, // 24: elephant.repository.MetaDocument.document:type_name -> newsdoc.Document - 53, // 25: elephant.repository.GetHistoryResponse.versions:type_name -> elephant.repository.DocumentVersion - 118, // 26: elephant.repository.DocumentVersion.meta:type_name -> elephant.repository.DocumentVersion.MetaEntry - 126, // 27: elephant.repository.UpdateRequest.document:type_name -> newsdoc.Document - 119, // 28: elephant.repository.UpdateRequest.meta:type_name -> elephant.repository.UpdateRequest.MetaEntry - 63, // 29: elephant.repository.UpdateRequest.status:type_name -> elephant.repository.StatusUpdate - 79, // 30: elephant.repository.UpdateRequest.acl:type_name -> elephant.repository.ACLEntry - 55, // 31: elephant.repository.UpdateRequest.import_directive:type_name -> elephant.repository.ImportDirective - 54, // 32: elephant.repository.BulkUpdateRequest.updates:type_name -> elephant.repository.UpdateRequest - 56, // 33: elephant.repository.BulkUpdateResponse.updates:type_name -> elephant.repository.UpdateResponse - 126, // 34: elephant.repository.ValidateRequest.document:type_name -> newsdoc.Document - 61, // 35: elephant.repository.ValidateResponse.errors:type_name -> elephant.repository.ValidationResult - 62, // 36: elephant.repository.ValidationResult.entity:type_name -> elephant.repository.EntityRef - 120, // 37: elephant.repository.StatusUpdate.meta:type_name -> elephant.repository.StatusUpdate.MetaEntry - 79, // 38: elephant.repository.UpdatePermissionsRequest.list:type_name -> elephant.repository.ACLEntry - 121, // 39: elephant.repository.DeleteDocumentRequest.meta:type_name -> elephant.repository.DeleteDocumentRequest.MetaEntry - 79, // 40: elephant.repository.RestoreRequest.acl:type_name -> elephant.repository.ACLEntry - 74, // 41: elephant.repository.ListDeletedResponse.deletes:type_name -> elephant.repository.DeleteRecord - 122, // 42: elephant.repository.DeleteRecord.meta:type_name -> elephant.repository.DeleteRecord.MetaEntry - 77, // 43: elephant.repository.GetMetaResponse.meta:type_name -> elephant.repository.DocumentMeta - 123, // 44: elephant.repository.DocumentMeta.heads:type_name -> elephant.repository.DocumentMeta.HeadsEntry - 79, // 45: elephant.repository.DocumentMeta.acl:type_name -> elephant.repository.ACLEntry - 80, // 46: elephant.repository.DocumentMeta.lock:type_name -> elephant.repository.Lock - 124, // 47: elephant.repository.Status.meta:type_name -> elephant.repository.Status.MetaEntry - 93, // 48: elephant.repository.RegisterSchemaRequest.schema:type_name -> elephant.repository.Schema - 125, // 49: elephant.repository.GetAllActiveSchemasRequest.known:type_name -> elephant.repository.GetAllActiveSchemasRequest.KnownEntry - 93, // 50: elephant.repository.GetAllActiveSchemasResponse.schemas:type_name -> elephant.repository.Schema - 95, // 51: elephant.repository.GetDeprecationsResponse.deprecations:type_name -> elephant.repository.Deprecation - 95, // 52: elephant.repository.UpdateDeprecationRequest.deprecation:type_name -> elephant.repository.Deprecation - 1, // 53: elephant.repository.RegisterMetricKindRequest.aggregation:type_name -> elephant.repository.MetricAggregation - 105, // 54: elephant.repository.GetMetricKindsResponse.kinds:type_name -> elephant.repository.MetricKind - 1, // 55: elephant.repository.MetricKind.aggregation:type_name -> elephant.repository.MetricAggregation - 110, // 56: elephant.repository.GetMetricsResponse.metrics:type_name -> elephant.repository.Metric - 78, // 57: elephant.repository.StatusOverviewItem.HeadsEntry.value:type_name -> elephant.repository.Status - 78, // 58: elephant.repository.DocumentMeta.HeadsEntry.value:type_name -> elephant.repository.Status - 44, // 59: elephant.repository.Documents.Get:input_type -> elephant.repository.GetDocumentRequest - 46, // 60: elephant.repository.Documents.BulkGet:input_type -> elephant.repository.BulkGetRequest - 51, // 61: elephant.repository.Documents.GetHistory:input_type -> elephant.repository.GetHistoryRequest - 54, // 62: elephant.repository.Documents.Update:input_type -> elephant.repository.UpdateRequest - 57, // 63: elephant.repository.Documents.BulkUpdate:input_type -> elephant.repository.BulkUpdateRequest - 59, // 64: elephant.repository.Documents.Validate:input_type -> elephant.repository.ValidateRequest - 66, // 65: elephant.repository.Documents.Delete:input_type -> elephant.repository.DeleteDocumentRequest - 72, // 66: elephant.repository.Documents.ListDeleted:input_type -> elephant.repository.ListDeletedRequest - 68, // 67: elephant.repository.Documents.Restore:input_type -> elephant.repository.RestoreRequest - 70, // 68: elephant.repository.Documents.Purge:input_type -> elephant.repository.PurgeRequest - 75, // 69: elephant.repository.Documents.GetMeta:input_type -> elephant.repository.GetMetaRequest - 11, // 70: elephant.repository.Documents.Eventlog:input_type -> elephant.repository.GetEventlogRequest - 13, // 71: elephant.repository.Documents.CompactedEventlog:input_type -> elephant.repository.GetCompactedEventlogRequest - 2, // 72: elephant.repository.Documents.GetStatus:input_type -> elephant.repository.GetStatusRequest - 4, // 73: elephant.repository.Documents.GetStatusHistory:input_type -> elephant.repository.GetStatusHistoryRequest - 6, // 74: elephant.repository.Documents.GetStatusOverview:input_type -> elephant.repository.GetStatusOverviewRequest - 9, // 75: elephant.repository.Documents.GetPermissions:input_type -> elephant.repository.GetPermissionsRequest - 111, // 76: elephant.repository.Documents.Lock:input_type -> elephant.repository.LockRequest - 113, // 77: elephant.repository.Documents.ExtendLock:input_type -> elephant.repository.ExtendLockRequest - 114, // 78: elephant.repository.Documents.Unlock:input_type -> elephant.repository.UnlockRequest - 85, // 79: elephant.repository.Schemas.Register:input_type -> elephant.repository.RegisterSchemaRequest - 87, // 80: elephant.repository.Schemas.SetActive:input_type -> elephant.repository.SetActiveSchemaRequest - 89, // 81: elephant.repository.Schemas.Get:input_type -> elephant.repository.GetSchemaRequest - 91, // 82: elephant.repository.Schemas.GetAllActive:input_type -> elephant.repository.GetAllActiveSchemasRequest - 81, // 83: elephant.repository.Schemas.RegisterMetaType:input_type -> elephant.repository.RegisterMetaTypeRequest - 83, // 84: elephant.repository.Schemas.RegisterMetaTypeUse:input_type -> elephant.repository.RegisterMetaTypeUseRequest - 94, // 85: elephant.repository.Schemas.GetDeprecations:input_type -> elephant.repository.GetDeprecationsRequest - 97, // 86: elephant.repository.Schemas.UpdateDeprecation:input_type -> elephant.repository.UpdateDeprecationRequest - 37, // 87: elephant.repository.Workflows.UpdateStatus:input_type -> elephant.repository.UpdateStatusRequest - 34, // 88: elephant.repository.Workflows.GetStatuses:input_type -> elephant.repository.GetStatusesRequest - 39, // 89: elephant.repository.Workflows.CreateStatusRule:input_type -> elephant.repository.CreateStatusRuleRequest - 42, // 90: elephant.repository.Workflows.DeleteStatusRule:input_type -> elephant.repository.DeleteStatusRuleRequest - 32, // 91: elephant.repository.Workflows.GetStatusRules:input_type -> elephant.repository.GetStatusRulesRequest - 25, // 92: elephant.repository.Reports.List:input_type -> elephant.repository.ListReportsRequest - 24, // 93: elephant.repository.Reports.Update:input_type -> elephant.repository.UpdateReportRequest - 22, // 94: elephant.repository.Reports.Get:input_type -> elephant.repository.GetReportRequest - 20, // 95: elephant.repository.Reports.Delete:input_type -> elephant.repository.DeleteReportRequest - 16, // 96: elephant.repository.Reports.Run:input_type -> elephant.repository.RunReportRequest - 18, // 97: elephant.repository.Reports.Test:input_type -> elephant.repository.TestReportRequest - 99, // 98: elephant.repository.Metrics.RegisterKind:input_type -> elephant.repository.RegisterMetricKindRequest - 101, // 99: elephant.repository.Metrics.DeleteKind:input_type -> elephant.repository.DeleteMetricKindRequest - 103, // 100: elephant.repository.Metrics.GetKinds:input_type -> elephant.repository.GetMetricKindsRequest - 106, // 101: elephant.repository.Metrics.RegisterMetric:input_type -> elephant.repository.RegisterMetricRequest - 108, // 102: elephant.repository.Metrics.GetMetrics:input_type -> elephant.repository.GetMetricsRequest - 45, // 103: elephant.repository.Documents.Get:output_type -> elephant.repository.GetDocumentResponse - 48, // 104: elephant.repository.Documents.BulkGet:output_type -> elephant.repository.BulkGetResponse - 52, // 105: elephant.repository.Documents.GetHistory:output_type -> elephant.repository.GetHistoryResponse - 56, // 106: elephant.repository.Documents.Update:output_type -> elephant.repository.UpdateResponse - 58, // 107: elephant.repository.Documents.BulkUpdate:output_type -> elephant.repository.BulkUpdateResponse - 60, // 108: elephant.repository.Documents.Validate:output_type -> elephant.repository.ValidateResponse - 67, // 109: elephant.repository.Documents.Delete:output_type -> elephant.repository.DeleteDocumentResponse - 73, // 110: elephant.repository.Documents.ListDeleted:output_type -> elephant.repository.ListDeletedResponse - 69, // 111: elephant.repository.Documents.Restore:output_type -> elephant.repository.RestoreResponse - 71, // 112: elephant.repository.Documents.Purge:output_type -> elephant.repository.PurgeResponse - 76, // 113: elephant.repository.Documents.GetMeta:output_type -> elephant.repository.GetMetaResponse - 12, // 114: elephant.repository.Documents.Eventlog:output_type -> elephant.repository.GetEventlogResponse - 14, // 115: elephant.repository.Documents.CompactedEventlog:output_type -> elephant.repository.GetCompactedEventlogResponse - 3, // 116: elephant.repository.Documents.GetStatus:output_type -> elephant.repository.GetStatusResponse - 5, // 117: elephant.repository.Documents.GetStatusHistory:output_type -> elephant.repository.GetStatusHistoryReponse - 7, // 118: elephant.repository.Documents.GetStatusOverview:output_type -> elephant.repository.GetStatusOverviewResponse - 10, // 119: elephant.repository.Documents.GetPermissions:output_type -> elephant.repository.GetPermissionsResponse - 112, // 120: elephant.repository.Documents.Lock:output_type -> elephant.repository.LockResponse - 112, // 121: elephant.repository.Documents.ExtendLock:output_type -> elephant.repository.LockResponse - 115, // 122: elephant.repository.Documents.Unlock:output_type -> elephant.repository.UnlockResponse - 86, // 123: elephant.repository.Schemas.Register:output_type -> elephant.repository.RegisterSchemaResponse - 88, // 124: elephant.repository.Schemas.SetActive:output_type -> elephant.repository.SetActiveSchemaResponse - 90, // 125: elephant.repository.Schemas.Get:output_type -> elephant.repository.GetSchemaResponse - 92, // 126: elephant.repository.Schemas.GetAllActive:output_type -> elephant.repository.GetAllActiveSchemasResponse - 82, // 127: elephant.repository.Schemas.RegisterMetaType:output_type -> elephant.repository.RegisterMetaTypeResponse - 84, // 128: elephant.repository.Schemas.RegisterMetaTypeUse:output_type -> elephant.repository.RegisterMetaTypeUseResponse - 96, // 129: elephant.repository.Schemas.GetDeprecations:output_type -> elephant.repository.GetDeprecationsResponse - 98, // 130: elephant.repository.Schemas.UpdateDeprecation:output_type -> elephant.repository.UpdateDeprecationResponse - 38, // 131: elephant.repository.Workflows.UpdateStatus:output_type -> elephant.repository.UpdateStatusResponse - 36, // 132: elephant.repository.Workflows.GetStatuses:output_type -> elephant.repository.GetStatusesResponse - 41, // 133: elephant.repository.Workflows.CreateStatusRule:output_type -> elephant.repository.CreateStatusRuleResponse - 43, // 134: elephant.repository.Workflows.DeleteStatusRule:output_type -> elephant.repository.DeleteStatusRuleResponse - 33, // 135: elephant.repository.Workflows.GetStatusRules:output_type -> elephant.repository.GetStatusRulesResponse - 26, // 136: elephant.repository.Reports.List:output_type -> elephant.repository.ListReportsResponse - 31, // 137: elephant.repository.Reports.Update:output_type -> elephant.repository.UpdateReportResponse - 23, // 138: elephant.repository.Reports.Get:output_type -> elephant.repository.GetReportResponse - 21, // 139: elephant.repository.Reports.Delete:output_type -> elephant.repository.DeleteReportResponse - 17, // 140: elephant.repository.Reports.Run:output_type -> elephant.repository.RunReportResponse - 19, // 141: elephant.repository.Reports.Test:output_type -> elephant.repository.TestReportResponse - 100, // 142: elephant.repository.Metrics.RegisterKind:output_type -> elephant.repository.RegisterMetricKindResponse - 102, // 143: elephant.repository.Metrics.DeleteKind:output_type -> elephant.repository.DeleteMetricKindResponse - 104, // 144: elephant.repository.Metrics.GetKinds:output_type -> elephant.repository.GetMetricKindsResponse - 107, // 145: elephant.repository.Metrics.RegisterMetric:output_type -> elephant.repository.RegisterMetricResponse - 109, // 146: elephant.repository.Metrics.GetMetrics:output_type -> elephant.repository.GetMetricsResponse - 103, // [103:147] is the sub-list for method output_type - 59, // [59:103] is the sub-list for method input_type - 59, // [59:59] is the sub-list for extension type_name - 59, // [59:59] is the sub-list for extension extendee - 0, // [0:59] is the sub-list for field type_name + 47, // 14: elephant.repository.GetStatusRulesResponse.rules:type_name -> elephant.repository.StatusRule + 36, // 15: elephant.repository.SetWorkflowRequest.workflow:type_name -> elephant.repository.DocumentWorkflow + 36, // 16: elephant.repository.GetWorkflowResponse.workflow:type_name -> elephant.repository.DocumentWorkflow + 42, // 17: elephant.repository.GetStatusesResponse.statuses:type_name -> elephant.repository.WorkflowStatus + 47, // 18: elephant.repository.CreateStatusRuleRequest.rule:type_name -> elephant.repository.StatusRule + 0, // 19: elephant.repository.GetDocumentRequest.meta_document:type_name -> elephant.repository.GetMetaDoc + 133, // 20: elephant.repository.GetDocumentResponse.document:type_name -> newsdoc.Document + 85, // 21: elephant.repository.GetDocumentResponse.status:type_name -> elephant.repository.Status + 57, // 22: elephant.repository.GetDocumentResponse.meta:type_name -> elephant.repository.MetaDocument + 54, // 23: elephant.repository.BulkGetRequest.documents:type_name -> elephant.repository.BulkGetReference + 56, // 24: elephant.repository.BulkGetResponse.items:type_name -> elephant.repository.BulkGetItem + 133, // 25: elephant.repository.BulkGetItem.document:type_name -> newsdoc.Document + 133, // 26: elephant.repository.MetaDocument.document:type_name -> newsdoc.Document + 60, // 27: elephant.repository.GetHistoryResponse.versions:type_name -> elephant.repository.DocumentVersion + 125, // 28: elephant.repository.DocumentVersion.meta:type_name -> elephant.repository.DocumentVersion.MetaEntry + 133, // 29: elephant.repository.UpdateRequest.document:type_name -> newsdoc.Document + 126, // 30: elephant.repository.UpdateRequest.meta:type_name -> elephant.repository.UpdateRequest.MetaEntry + 70, // 31: elephant.repository.UpdateRequest.status:type_name -> elephant.repository.StatusUpdate + 86, // 32: elephant.repository.UpdateRequest.acl:type_name -> elephant.repository.ACLEntry + 62, // 33: elephant.repository.UpdateRequest.import_directive:type_name -> elephant.repository.ImportDirective + 61, // 34: elephant.repository.BulkUpdateRequest.updates:type_name -> elephant.repository.UpdateRequest + 63, // 35: elephant.repository.BulkUpdateResponse.updates:type_name -> elephant.repository.UpdateResponse + 133, // 36: elephant.repository.ValidateRequest.document:type_name -> newsdoc.Document + 68, // 37: elephant.repository.ValidateResponse.errors:type_name -> elephant.repository.ValidationResult + 69, // 38: elephant.repository.ValidationResult.entity:type_name -> elephant.repository.EntityRef + 127, // 39: elephant.repository.StatusUpdate.meta:type_name -> elephant.repository.StatusUpdate.MetaEntry + 86, // 40: elephant.repository.UpdatePermissionsRequest.list:type_name -> elephant.repository.ACLEntry + 128, // 41: elephant.repository.DeleteDocumentRequest.meta:type_name -> elephant.repository.DeleteDocumentRequest.MetaEntry + 86, // 42: elephant.repository.RestoreRequest.acl:type_name -> elephant.repository.ACLEntry + 81, // 43: elephant.repository.ListDeletedResponse.deletes:type_name -> elephant.repository.DeleteRecord + 129, // 44: elephant.repository.DeleteRecord.meta:type_name -> elephant.repository.DeleteRecord.MetaEntry + 84, // 45: elephant.repository.GetMetaResponse.meta:type_name -> elephant.repository.DocumentMeta + 130, // 46: elephant.repository.DocumentMeta.heads:type_name -> elephant.repository.DocumentMeta.HeadsEntry + 86, // 47: elephant.repository.DocumentMeta.acl:type_name -> elephant.repository.ACLEntry + 87, // 48: elephant.repository.DocumentMeta.lock:type_name -> elephant.repository.Lock + 131, // 49: elephant.repository.Status.meta:type_name -> elephant.repository.Status.MetaEntry + 100, // 50: elephant.repository.RegisterSchemaRequest.schema:type_name -> elephant.repository.Schema + 132, // 51: elephant.repository.GetAllActiveSchemasRequest.known:type_name -> elephant.repository.GetAllActiveSchemasRequest.KnownEntry + 100, // 52: elephant.repository.GetAllActiveSchemasResponse.schemas:type_name -> elephant.repository.Schema + 102, // 53: elephant.repository.GetDeprecationsResponse.deprecations:type_name -> elephant.repository.Deprecation + 102, // 54: elephant.repository.UpdateDeprecationRequest.deprecation:type_name -> elephant.repository.Deprecation + 1, // 55: elephant.repository.RegisterMetricKindRequest.aggregation:type_name -> elephant.repository.MetricAggregation + 112, // 56: elephant.repository.GetMetricKindsResponse.kinds:type_name -> elephant.repository.MetricKind + 1, // 57: elephant.repository.MetricKind.aggregation:type_name -> elephant.repository.MetricAggregation + 117, // 58: elephant.repository.GetMetricsResponse.metrics:type_name -> elephant.repository.Metric + 85, // 59: elephant.repository.StatusOverviewItem.HeadsEntry.value:type_name -> elephant.repository.Status + 85, // 60: elephant.repository.DocumentMeta.HeadsEntry.value:type_name -> elephant.repository.Status + 51, // 61: elephant.repository.Documents.Get:input_type -> elephant.repository.GetDocumentRequest + 53, // 62: elephant.repository.Documents.BulkGet:input_type -> elephant.repository.BulkGetRequest + 58, // 63: elephant.repository.Documents.GetHistory:input_type -> elephant.repository.GetHistoryRequest + 61, // 64: elephant.repository.Documents.Update:input_type -> elephant.repository.UpdateRequest + 64, // 65: elephant.repository.Documents.BulkUpdate:input_type -> elephant.repository.BulkUpdateRequest + 66, // 66: elephant.repository.Documents.Validate:input_type -> elephant.repository.ValidateRequest + 73, // 67: elephant.repository.Documents.Delete:input_type -> elephant.repository.DeleteDocumentRequest + 79, // 68: elephant.repository.Documents.ListDeleted:input_type -> elephant.repository.ListDeletedRequest + 75, // 69: elephant.repository.Documents.Restore:input_type -> elephant.repository.RestoreRequest + 77, // 70: elephant.repository.Documents.Purge:input_type -> elephant.repository.PurgeRequest + 82, // 71: elephant.repository.Documents.GetMeta:input_type -> elephant.repository.GetMetaRequest + 11, // 72: elephant.repository.Documents.Eventlog:input_type -> elephant.repository.GetEventlogRequest + 13, // 73: elephant.repository.Documents.CompactedEventlog:input_type -> elephant.repository.GetCompactedEventlogRequest + 2, // 74: elephant.repository.Documents.GetStatus:input_type -> elephant.repository.GetStatusRequest + 4, // 75: elephant.repository.Documents.GetStatusHistory:input_type -> elephant.repository.GetStatusHistoryRequest + 6, // 76: elephant.repository.Documents.GetStatusOverview:input_type -> elephant.repository.GetStatusOverviewRequest + 9, // 77: elephant.repository.Documents.GetPermissions:input_type -> elephant.repository.GetPermissionsRequest + 118, // 78: elephant.repository.Documents.Lock:input_type -> elephant.repository.LockRequest + 120, // 79: elephant.repository.Documents.ExtendLock:input_type -> elephant.repository.ExtendLockRequest + 121, // 80: elephant.repository.Documents.Unlock:input_type -> elephant.repository.UnlockRequest + 92, // 81: elephant.repository.Schemas.Register:input_type -> elephant.repository.RegisterSchemaRequest + 94, // 82: elephant.repository.Schemas.SetActive:input_type -> elephant.repository.SetActiveSchemaRequest + 96, // 83: elephant.repository.Schemas.Get:input_type -> elephant.repository.GetSchemaRequest + 98, // 84: elephant.repository.Schemas.GetAllActive:input_type -> elephant.repository.GetAllActiveSchemasRequest + 88, // 85: elephant.repository.Schemas.RegisterMetaType:input_type -> elephant.repository.RegisterMetaTypeRequest + 90, // 86: elephant.repository.Schemas.RegisterMetaTypeUse:input_type -> elephant.repository.RegisterMetaTypeUseRequest + 101, // 87: elephant.repository.Schemas.GetDeprecations:input_type -> elephant.repository.GetDeprecationsRequest + 104, // 88: elephant.repository.Schemas.UpdateDeprecation:input_type -> elephant.repository.UpdateDeprecationRequest + 44, // 89: elephant.repository.Workflows.UpdateStatus:input_type -> elephant.repository.UpdateStatusRequest + 34, // 90: elephant.repository.Workflows.GetStatuses:input_type -> elephant.repository.GetStatusesRequest + 46, // 91: elephant.repository.Workflows.CreateStatusRule:input_type -> elephant.repository.CreateStatusRuleRequest + 49, // 92: elephant.repository.Workflows.DeleteStatusRule:input_type -> elephant.repository.DeleteStatusRuleRequest + 32, // 93: elephant.repository.Workflows.GetStatusRules:input_type -> elephant.repository.GetStatusRulesRequest + 35, // 94: elephant.repository.Workflows.SetWorkflow:input_type -> elephant.repository.SetWorkflowRequest + 38, // 95: elephant.repository.Workflows.GetWorkflow:input_type -> elephant.repository.GetWorkflowRequest + 40, // 96: elephant.repository.Workflows.DeleteWorkflow:input_type -> elephant.repository.DeleteWorkflowRequest + 25, // 97: elephant.repository.Reports.List:input_type -> elephant.repository.ListReportsRequest + 24, // 98: elephant.repository.Reports.Update:input_type -> elephant.repository.UpdateReportRequest + 22, // 99: elephant.repository.Reports.Get:input_type -> elephant.repository.GetReportRequest + 20, // 100: elephant.repository.Reports.Delete:input_type -> elephant.repository.DeleteReportRequest + 16, // 101: elephant.repository.Reports.Run:input_type -> elephant.repository.RunReportRequest + 18, // 102: elephant.repository.Reports.Test:input_type -> elephant.repository.TestReportRequest + 106, // 103: elephant.repository.Metrics.RegisterKind:input_type -> elephant.repository.RegisterMetricKindRequest + 108, // 104: elephant.repository.Metrics.DeleteKind:input_type -> elephant.repository.DeleteMetricKindRequest + 110, // 105: elephant.repository.Metrics.GetKinds:input_type -> elephant.repository.GetMetricKindsRequest + 113, // 106: elephant.repository.Metrics.RegisterMetric:input_type -> elephant.repository.RegisterMetricRequest + 115, // 107: elephant.repository.Metrics.GetMetrics:input_type -> elephant.repository.GetMetricsRequest + 52, // 108: elephant.repository.Documents.Get:output_type -> elephant.repository.GetDocumentResponse + 55, // 109: elephant.repository.Documents.BulkGet:output_type -> elephant.repository.BulkGetResponse + 59, // 110: elephant.repository.Documents.GetHistory:output_type -> elephant.repository.GetHistoryResponse + 63, // 111: elephant.repository.Documents.Update:output_type -> elephant.repository.UpdateResponse + 65, // 112: elephant.repository.Documents.BulkUpdate:output_type -> elephant.repository.BulkUpdateResponse + 67, // 113: elephant.repository.Documents.Validate:output_type -> elephant.repository.ValidateResponse + 74, // 114: elephant.repository.Documents.Delete:output_type -> elephant.repository.DeleteDocumentResponse + 80, // 115: elephant.repository.Documents.ListDeleted:output_type -> elephant.repository.ListDeletedResponse + 76, // 116: elephant.repository.Documents.Restore:output_type -> elephant.repository.RestoreResponse + 78, // 117: elephant.repository.Documents.Purge:output_type -> elephant.repository.PurgeResponse + 83, // 118: elephant.repository.Documents.GetMeta:output_type -> elephant.repository.GetMetaResponse + 12, // 119: elephant.repository.Documents.Eventlog:output_type -> elephant.repository.GetEventlogResponse + 14, // 120: elephant.repository.Documents.CompactedEventlog:output_type -> elephant.repository.GetCompactedEventlogResponse + 3, // 121: elephant.repository.Documents.GetStatus:output_type -> elephant.repository.GetStatusResponse + 5, // 122: elephant.repository.Documents.GetStatusHistory:output_type -> elephant.repository.GetStatusHistoryReponse + 7, // 123: elephant.repository.Documents.GetStatusOverview:output_type -> elephant.repository.GetStatusOverviewResponse + 10, // 124: elephant.repository.Documents.GetPermissions:output_type -> elephant.repository.GetPermissionsResponse + 119, // 125: elephant.repository.Documents.Lock:output_type -> elephant.repository.LockResponse + 119, // 126: elephant.repository.Documents.ExtendLock:output_type -> elephant.repository.LockResponse + 122, // 127: elephant.repository.Documents.Unlock:output_type -> elephant.repository.UnlockResponse + 93, // 128: elephant.repository.Schemas.Register:output_type -> elephant.repository.RegisterSchemaResponse + 95, // 129: elephant.repository.Schemas.SetActive:output_type -> elephant.repository.SetActiveSchemaResponse + 97, // 130: elephant.repository.Schemas.Get:output_type -> elephant.repository.GetSchemaResponse + 99, // 131: elephant.repository.Schemas.GetAllActive:output_type -> elephant.repository.GetAllActiveSchemasResponse + 89, // 132: elephant.repository.Schemas.RegisterMetaType:output_type -> elephant.repository.RegisterMetaTypeResponse + 91, // 133: elephant.repository.Schemas.RegisterMetaTypeUse:output_type -> elephant.repository.RegisterMetaTypeUseResponse + 103, // 134: elephant.repository.Schemas.GetDeprecations:output_type -> elephant.repository.GetDeprecationsResponse + 105, // 135: elephant.repository.Schemas.UpdateDeprecation:output_type -> elephant.repository.UpdateDeprecationResponse + 45, // 136: elephant.repository.Workflows.UpdateStatus:output_type -> elephant.repository.UpdateStatusResponse + 43, // 137: elephant.repository.Workflows.GetStatuses:output_type -> elephant.repository.GetStatusesResponse + 48, // 138: elephant.repository.Workflows.CreateStatusRule:output_type -> elephant.repository.CreateStatusRuleResponse + 50, // 139: elephant.repository.Workflows.DeleteStatusRule:output_type -> elephant.repository.DeleteStatusRuleResponse + 33, // 140: elephant.repository.Workflows.GetStatusRules:output_type -> elephant.repository.GetStatusRulesResponse + 37, // 141: elephant.repository.Workflows.SetWorkflow:output_type -> elephant.repository.SetWorkflowResponse + 39, // 142: elephant.repository.Workflows.GetWorkflow:output_type -> elephant.repository.GetWorkflowResponse + 41, // 143: elephant.repository.Workflows.DeleteWorkflow:output_type -> elephant.repository.DeleteWorkflowResponse + 26, // 144: elephant.repository.Reports.List:output_type -> elephant.repository.ListReportsResponse + 31, // 145: elephant.repository.Reports.Update:output_type -> elephant.repository.UpdateReportResponse + 23, // 146: elephant.repository.Reports.Get:output_type -> elephant.repository.GetReportResponse + 21, // 147: elephant.repository.Reports.Delete:output_type -> elephant.repository.DeleteReportResponse + 17, // 148: elephant.repository.Reports.Run:output_type -> elephant.repository.RunReportResponse + 19, // 149: elephant.repository.Reports.Test:output_type -> elephant.repository.TestReportResponse + 107, // 150: elephant.repository.Metrics.RegisterKind:output_type -> elephant.repository.RegisterMetricKindResponse + 109, // 151: elephant.repository.Metrics.DeleteKind:output_type -> elephant.repository.DeleteMetricKindResponse + 111, // 152: elephant.repository.Metrics.GetKinds:output_type -> elephant.repository.GetMetricKindsResponse + 114, // 153: elephant.repository.Metrics.RegisterMetric:output_type -> elephant.repository.RegisterMetricResponse + 116, // 154: elephant.repository.Metrics.GetMetrics:output_type -> elephant.repository.GetMetricsResponse + 108, // [108:155] is the sub-list for method output_type + 61, // [61:108] is the sub-list for method input_type + 61, // [61:61] is the sub-list for extension type_name + 61, // [61:61] is the sub-list for extension extendee + 0, // [0:61] is the sub-list for field type_name } func init() { file_repository_service_proto_init() } @@ -7770,7 +8217,7 @@ func file_repository_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_repository_service_proto_rawDesc, NumEnums: 2, - NumMessages: 124, + NumMessages: 131, NumExtensions: 0, NumServices: 5, }, diff --git a/repository/service.proto b/repository/service.proto index 9bbad7d..4374952 100755 --- a/repository/service.proto +++ b/repository/service.proto @@ -84,6 +84,12 @@ service Workflows { rpc DeleteStatusRule(DeleteStatusRuleRequest) returns (DeleteStatusRuleResponse); // GetStatusRules returns all status rules. rpc GetStatusRules(GetStatusRulesRequest) returns (GetStatusRulesResponse); + // SetWorkflow configures a workflow for a document type. + rpc SetWorkflow(SetWorkflowRequest) returns (SetWorkflowResponse); + // GetWorkflow for a document type. + rpc GetWorkflow(GetWorkflowRequest) returns (GetWorkflowResponse); + // DeleteWorkflow removes the workflow configuration for a document type. + rpc DeleteWorkflow(DeleteWorkflowRequest) returns (DeleteWorkflowResponse); } service Reports { @@ -254,6 +260,10 @@ message EventlogItem { // restore operation. If the event wasn't generated by a special operation it // is left empty. string system_state = 14; + // WorkflowState that the document is in. + string workflow_state = 15; + // WorkflowCheckpoint that the document reached most recently. + string workflow_checkpoint = 16; } message RunReportRequest { @@ -342,6 +352,48 @@ message GetStatusRulesResponse { message GetStatusesRequest {} +message SetWorkflowRequest { + // Type of the document that this workflow is for. + string type = 1; + // Workflow declaration. + DocumentWorkflow workflow = 2; +} + +message DocumentWorkflow { + // StepZero is the step that the state begins in, or reverts to after a + // checkpoint. + string step_zero = 1; + // Checkpoint is the status that should be used as the state checkpoint. + string checkpoint = 2; + // NegativeCheckpoint is the state that should be used when the checkpoint + // status is set using a negative version. + string negative_checkpoint = 3; + // Steps are the names of statuses that should be used as steps between + // checkpoints. + repeated string steps = 4; +} + +message SetWorkflowResponse {} + +message GetWorkflowRequest { + // Type of the document to get workflow for. + string type = 1; +} + +message GetWorkflowResponse { + // Workflow declaration. + DocumentWorkflow workflow = 1; +} + + +message DeleteWorkflowRequest { + // Type of the document to remove the workflow for. + string type = 1; +} + +message DeleteWorkflowResponse {} + + message WorkflowStatus { string type = 1; string name = 2; @@ -697,6 +749,10 @@ message DocumentMeta { bool is_meta_document = 7; // MainDocument is the UUID of the main document if this is a meta document. string main_document = 8; + // WorkflowState that the document is in. + string workflow_state = 9; + // WorkflowCheckpoint that the document reached most recently. + string workflow_checkpoint = 10; } message Status { diff --git a/repository/service.twirp.go b/repository/service.twirp.go index 695fd2d..61adbb3 100644 --- a/repository/service.twirp.go +++ b/repository/service.twirp.go @@ -8321,6 +8321,15 @@ type Workflows interface { // GetStatusRules returns all status rules. GetStatusRules(context.Context, *GetStatusRulesRequest) (*GetStatusRulesResponse, error) + + // SetWorkflow configures a workflow for a document type. + SetWorkflow(context.Context, *SetWorkflowRequest) (*SetWorkflowResponse, error) + + // GetWorkflow for a document type. + GetWorkflow(context.Context, *GetWorkflowRequest) (*GetWorkflowResponse, error) + + // DeleteWorkflow removes the workflow configuration for a document type. + DeleteWorkflow(context.Context, *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) } // ========================= @@ -8329,7 +8338,7 @@ type Workflows interface { type workflowsProtobufClient struct { client HTTPClient - urls [5]string + urls [8]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -8357,12 +8366,15 @@ func NewWorkflowsProtobufClient(baseURL string, client HTTPClient, opts ...twirp // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "elephant.repository", "Workflows") - urls := [5]string{ + urls := [8]string{ serviceURL + "UpdateStatus", serviceURL + "GetStatuses", serviceURL + "CreateStatusRule", serviceURL + "DeleteStatusRule", serviceURL + "GetStatusRules", + serviceURL + "SetWorkflow", + serviceURL + "GetWorkflow", + serviceURL + "DeleteWorkflow", } return &workflowsProtobufClient{ @@ -8603,13 +8615,151 @@ func (c *workflowsProtobufClient) callGetStatusRules(ctx context.Context, in *Ge return out, nil } +func (c *workflowsProtobufClient) SetWorkflow(ctx context.Context, in *SetWorkflowRequest) (*SetWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "SetWorkflow") + caller := c.callSetWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *SetWorkflowRequest) (*SetWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*SetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*SetWorkflowRequest) when calling interceptor") + } + return c.callSetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*SetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*SetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsProtobufClient) callSetWorkflow(ctx context.Context, in *SetWorkflowRequest) (*SetWorkflowResponse, error) { + out := new(SetWorkflowResponse) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *workflowsProtobufClient) GetWorkflow(ctx context.Context, in *GetWorkflowRequest) (*GetWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "GetWorkflow") + caller := c.callGetWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *GetWorkflowRequest) (*GetWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetWorkflowRequest) when calling interceptor") + } + return c.callGetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsProtobufClient) callGetWorkflow(ctx context.Context, in *GetWorkflowRequest) (*GetWorkflowResponse, error) { + out := new(GetWorkflowResponse) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *workflowsProtobufClient) DeleteWorkflow(ctx context.Context, in *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "DeleteWorkflow") + caller := c.callDeleteWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeleteWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeleteWorkflowRequest) when calling interceptor") + } + return c.callDeleteWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeleteWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeleteWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsProtobufClient) callDeleteWorkflow(ctx context.Context, in *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + out := new(DeleteWorkflowResponse) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + // ===================== // Workflows JSON Client // ===================== type workflowsJSONClient struct { client HTTPClient - urls [5]string + urls [8]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -8637,12 +8787,15 @@ func NewWorkflowsJSONClient(baseURL string, client HTTPClient, opts ...twirp.Cli // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "elephant.repository", "Workflows") - urls := [5]string{ + urls := [8]string{ serviceURL + "UpdateStatus", serviceURL + "GetStatuses", serviceURL + "CreateStatusRule", serviceURL + "DeleteStatusRule", serviceURL + "GetStatusRules", + serviceURL + "SetWorkflow", + serviceURL + "GetWorkflow", + serviceURL + "DeleteWorkflow", } return &workflowsJSONClient{ @@ -8883,6 +9036,144 @@ func (c *workflowsJSONClient) callGetStatusRules(ctx context.Context, in *GetSta return out, nil } +func (c *workflowsJSONClient) SetWorkflow(ctx context.Context, in *SetWorkflowRequest) (*SetWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "SetWorkflow") + caller := c.callSetWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *SetWorkflowRequest) (*SetWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*SetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*SetWorkflowRequest) when calling interceptor") + } + return c.callSetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*SetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*SetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsJSONClient) callSetWorkflow(ctx context.Context, in *SetWorkflowRequest) (*SetWorkflowResponse, error) { + out := new(SetWorkflowResponse) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[5], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *workflowsJSONClient) GetWorkflow(ctx context.Context, in *GetWorkflowRequest) (*GetWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "GetWorkflow") + caller := c.callGetWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *GetWorkflowRequest) (*GetWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetWorkflowRequest) when calling interceptor") + } + return c.callGetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsJSONClient) callGetWorkflow(ctx context.Context, in *GetWorkflowRequest) (*GetWorkflowResponse, error) { + out := new(GetWorkflowResponse) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[6], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *workflowsJSONClient) DeleteWorkflow(ctx context.Context, in *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "elephant.repository") + ctx = ctxsetters.WithServiceName(ctx, "Workflows") + ctx = ctxsetters.WithMethodName(ctx, "DeleteWorkflow") + caller := c.callDeleteWorkflow + if c.interceptor != nil { + caller = func(ctx context.Context, req *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeleteWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeleteWorkflowRequest) when calling interceptor") + } + return c.callDeleteWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeleteWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeleteWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *workflowsJSONClient) callDeleteWorkflow(ctx context.Context, in *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + out := new(DeleteWorkflowResponse) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + // ======================== // Workflows Server Handler // ======================== @@ -8995,6 +9286,15 @@ func (s *workflowsServer) ServeHTTP(resp http.ResponseWriter, req *http.Request) case "GetStatusRules": s.serveGetStatusRules(ctx, resp, req) return + case "SetWorkflow": + s.serveSetWorkflow(ctx, resp, req) + return + case "GetWorkflow": + s.serveGetWorkflow(ctx, resp, req) + return + case "DeleteWorkflow": + s.serveDeleteWorkflow(ctx, resp, req) + return default: msg := fmt.Sprintf("no handler for path %q", req.URL.Path) s.writeError(ctx, resp, badRouteError(msg, req.Method, req.URL.Path)) @@ -9902,6 +10202,546 @@ func (s *workflowsServer) serveGetStatusRulesProtobuf(ctx context.Context, resp callResponseSent(ctx, s.hooks) } +func (s *workflowsServer) serveSetWorkflow(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveSetWorkflowJSON(ctx, resp, req) + case "application/protobuf": + s.serveSetWorkflowProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *workflowsServer) serveSetWorkflowJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "SetWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(SetWorkflowRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.Workflows.SetWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *SetWorkflowRequest) (*SetWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*SetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*SetWorkflowRequest) when calling interceptor") + } + return s.Workflows.SetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*SetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*SetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *SetWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *SetWorkflowResponse and nil error while calling SetWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *workflowsServer) serveSetWorkflowProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "SetWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(SetWorkflowRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.Workflows.SetWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *SetWorkflowRequest) (*SetWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*SetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*SetWorkflowRequest) when calling interceptor") + } + return s.Workflows.SetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*SetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*SetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *SetWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *SetWorkflowResponse and nil error while calling SetWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *workflowsServer) serveGetWorkflow(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveGetWorkflowJSON(ctx, resp, req) + case "application/protobuf": + s.serveGetWorkflowProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *workflowsServer) serveGetWorkflowJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "GetWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(GetWorkflowRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.Workflows.GetWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *GetWorkflowRequest) (*GetWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetWorkflowRequest) when calling interceptor") + } + return s.Workflows.GetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *GetWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *GetWorkflowResponse and nil error while calling GetWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *workflowsServer) serveGetWorkflowProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "GetWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(GetWorkflowRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.Workflows.GetWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *GetWorkflowRequest) (*GetWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*GetWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*GetWorkflowRequest) when calling interceptor") + } + return s.Workflows.GetWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*GetWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*GetWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *GetWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *GetWorkflowResponse and nil error while calling GetWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *workflowsServer) serveDeleteWorkflow(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveDeleteWorkflowJSON(ctx, resp, req) + case "application/protobuf": + s.serveDeleteWorkflowProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *workflowsServer) serveDeleteWorkflowJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "DeleteWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(DeleteWorkflowRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.Workflows.DeleteWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeleteWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeleteWorkflowRequest) when calling interceptor") + } + return s.Workflows.DeleteWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeleteWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeleteWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *DeleteWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *DeleteWorkflowResponse and nil error while calling DeleteWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *workflowsServer) serveDeleteWorkflowProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "DeleteWorkflow") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(DeleteWorkflowRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.Workflows.DeleteWorkflow + if s.interceptor != nil { + handler = func(ctx context.Context, req *DeleteWorkflowRequest) (*DeleteWorkflowResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*DeleteWorkflowRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*DeleteWorkflowRequest) when calling interceptor") + } + return s.Workflows.DeleteWorkflow(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*DeleteWorkflowResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*DeleteWorkflowResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *DeleteWorkflowResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *DeleteWorkflowResponse and nil error while calling DeleteWorkflow. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + func (s *workflowsServer) ServiceDescriptor() ([]byte, int) { return twirpFileDescriptor0, 2 } @@ -13994,262 +14834,275 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error) } var twirpFileDescriptor0 = []byte{ - // 4098 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x3b, 0x4d, 0x73, 0x1b, 0xc7, - 0x72, 0xc1, 0x37, 0xd0, 0x00, 0x41, 0x70, 0x24, 0x4b, 0x10, 0x24, 0xf9, 0xc9, 0x6b, 0x4b, 0xa2, - 0x3f, 0x44, 0xd9, 0x72, 0xec, 0x67, 0x3b, 0x7e, 0xb6, 0x24, 0x92, 0x45, 0xea, 0x89, 0xa2, 0xa4, - 0x25, 0x29, 0xc5, 0xae, 0xf2, 0xc3, 0x5b, 0xed, 0x0e, 0xc8, 0x0d, 0x17, 0xbb, 0xf0, 0xee, 0x42, - 0x22, 0x7d, 0x49, 0x55, 0x2a, 0x95, 0x4a, 0x5e, 0xaa, 0x72, 0xca, 0x25, 0x97, 0xa4, 0x2a, 0x97, - 0x5c, 0x72, 0x4c, 0x25, 0xf9, 0x0f, 0x39, 0xe5, 0x9e, 0x5b, 0x0e, 0xb9, 0xe4, 0x94, 0xaa, 0x9c, - 0x93, 0x9a, 0xcf, 0x9d, 0xc5, 0xee, 0x2c, 0x40, 0xd9, 0x3e, 0x01, 0xd3, 0xd3, 0xdd, 0xd3, 0xd3, - 0x33, 0xdd, 0xd3, 0xdd, 0x33, 0x0b, 0xfd, 0x10, 0x4f, 0x82, 0xc8, 0x8d, 0x83, 0xf0, 0xf4, 0x76, - 0x84, 0xc3, 0x97, 0xae, 0x8d, 0xd7, 0x26, 0x61, 0x10, 0x07, 0xe8, 0x1c, 0xf6, 0xf0, 0xe4, 0xc8, - 0xf2, 0xe3, 0xb5, 0x04, 0x65, 0xf0, 0x86, 0x8f, 0x5f, 0x45, 0x4e, 0x60, 0xdf, 0xe6, 0xbf, 0x0c, - 0xd7, 0xf8, 0x35, 0xf4, 0xb6, 0x70, 0xbc, 0x17, 0x5b, 0xf1, 0x34, 0x32, 0xf1, 0xf7, 0x53, 0x1c, - 0xc5, 0x08, 0x41, 0x75, 0x3a, 0x75, 0x9d, 0x7e, 0xe9, 0x5a, 0x69, 0xb5, 0x65, 0xd2, 0xff, 0x04, - 0xe6, 0x5b, 0x63, 0xdc, 0x2f, 0x33, 0x18, 0xf9, 0x8f, 0xba, 0x50, 0x76, 0x9d, 0x7e, 0xe5, 0x5a, - 0x69, 0xb5, 0x62, 0x96, 0x5d, 0xc7, 0xd8, 0x86, 0x15, 0x85, 0x57, 0x34, 0x09, 0xfc, 0x08, 0xa3, - 0x8f, 0xa1, 0x1e, 0x51, 0x08, 0x65, 0xd7, 0xbe, 0x73, 0x79, 0x2d, 0x47, 0xba, 0x35, 0x4e, 0xc4, - 0x51, 0x8d, 0x6f, 0xe0, 0xa2, 0xe4, 0xb4, 0xed, 0x46, 0x04, 0xe5, 0xac, 0xc2, 0x5d, 0x80, 0xfa, - 0x0b, 0x3c, 0x0a, 0x42, 0xcc, 0x05, 0xe4, 0x2d, 0xc3, 0xcc, 0x63, 0xcd, 0x44, 0xfd, 0x25, 0x34, - 0xd9, 0xf8, 0x98, 0x08, 0x5b, 0x99, 0x27, 0xac, 0x44, 0x36, 0x0e, 0xa1, 0x2f, 0x79, 0x3e, 0x7e, - 0x49, 0xd6, 0x02, 0xbf, 0x12, 0xf2, 0x9e, 0x87, 0x1a, 0x91, 0x91, 0x71, 0x6c, 0x99, 0xac, 0x81, - 0x06, 0xca, 0x50, 0x65, 0xda, 0x21, 0xdb, 0xe8, 0x12, 0x34, 0x0f, 0x71, 0x3c, 0x1c, 0xe3, 0xd8, - 0xa2, 0xb2, 0x37, 0xcd, 0xc6, 0x21, 0x8e, 0x1f, 0xe1, 0xd8, 0x32, 0xbe, 0x85, 0x4b, 0x39, 0x03, - 0x71, 0x4d, 0xff, 0x0a, 0x6a, 0x6e, 0x8c, 0xc7, 0x42, 0xf6, 0x9b, 0x05, 0xb2, 0x0b, 0xda, 0x07, - 0x31, 0x1e, 0x9b, 0x8c, 0xca, 0xf8, 0xbf, 0x12, 0xa0, 0x6c, 0x6f, 0xae, 0xbe, 0xfb, 0xd0, 0x78, - 0x89, 0xc3, 0xc8, 0x0d, 0x7c, 0xaa, 0xf2, 0x8a, 0x29, 0x9a, 0x64, 0x5e, 0xe3, 0xc0, 0x71, 0x47, - 0x2e, 0x66, 0x1b, 0xa3, 0x65, 0xca, 0x36, 0xda, 0x86, 0xda, 0x11, 0xb6, 0x9c, 0xa8, 0x5f, 0xa5, - 0xf2, 0xdd, 0x59, 0x50, 0xbe, 0xb5, 0x6d, 0x42, 0xb4, 0xe9, 0xc7, 0xe1, 0xa9, 0xc9, 0x18, 0x0c, - 0x0e, 0x00, 0x12, 0x20, 0xea, 0x41, 0xe5, 0x18, 0x9f, 0x72, 0x01, 0xc9, 0x5f, 0xf4, 0x11, 0xd4, - 0x5e, 0x5a, 0xde, 0x94, 0x6d, 0x88, 0x39, 0xab, 0xc8, 0x30, 0xbf, 0x28, 0x7f, 0x56, 0x32, 0xde, - 0x87, 0x37, 0xb6, 0x70, 0xfc, 0x04, 0x87, 0x63, 0x37, 0x22, 0xb3, 0x29, 0x32, 0x08, 0xe3, 0x5f, - 0x4b, 0x70, 0x61, 0x16, 0x9b, 0x2f, 0xc4, 0x6f, 0xa0, 0x3d, 0x49, 0xc0, 0x7c, 0x39, 0xbe, 0xcc, - 0x15, 0x22, 0x9f, 0xc3, 0x9a, 0x02, 0x63, 0x13, 0x57, 0x19, 0x0e, 0xbe, 0x82, 0xde, 0x2c, 0x42, - 0x8e, 0x12, 0xce, 0xab, 0x4a, 0x68, 0xa9, 0xf3, 0xfc, 0xb3, 0x12, 0xa0, 0x2d, 0x1c, 0x6f, 0xbe, - 0xc4, 0x7e, 0xec, 0x05, 0x87, 0xca, 0x4e, 0xb5, 0x46, 0x31, 0x0e, 0x29, 0x93, 0x8a, 0xc9, 0x1a, - 0xe8, 0x22, 0x34, 0x5e, 0x59, 0x6e, 0x3c, 0x1c, 0x47, 0x94, 0x51, 0xcd, 0xac, 0x93, 0xe6, 0xa3, - 0x08, 0x5d, 0x05, 0x78, 0x61, 0xc5, 0xf6, 0xd1, 0x30, 0x72, 0x7f, 0x60, 0x46, 0x56, 0x33, 0x5b, - 0x14, 0xb2, 0xe7, 0xfe, 0x80, 0x91, 0x01, 0x4b, 0xac, 0x5b, 0x50, 0x57, 0x29, 0x46, 0x9b, 0x02, - 0x9f, 0x53, 0x16, 0xc6, 0x2e, 0x9c, 0x4b, 0xc9, 0x11, 0x09, 0x3b, 0x4c, 0x6d, 0xe4, 0xb7, 0x72, - 0x35, 0x27, 0xa8, 0xd4, 0x2d, 0xfc, 0x97, 0x25, 0xb8, 0xbc, 0x85, 0xe3, 0xf5, 0x60, 0x3c, 0xb1, - 0xec, 0x18, 0x3b, 0x8b, 0xcd, 0x90, 0x58, 0xa8, 0x1f, 0xbb, 0x1e, 0x77, 0x14, 0xac, 0x41, 0xa0, - 0x9e, 0x3b, 0x76, 0x63, 0x2e, 0x37, 0x6b, 0x10, 0xaf, 0x12, 0x8c, 0x46, 0x11, 0x8e, 0xfb, 0x35, - 0xa6, 0x0c, 0xd6, 0x22, 0x3b, 0x24, 0x3e, 0x9d, 0xe0, 0x7e, 0x9d, 0xed, 0x10, 0xf2, 0xdf, 0x78, - 0x0e, 0x57, 0xf2, 0x85, 0xf9, 0xb1, 0xd3, 0xfc, 0xfb, 0x0a, 0x74, 0x54, 0x38, 0x77, 0xc4, 0x25, - 0xe1, 0x88, 0x89, 0xec, 0x98, 0xf4, 0x8b, 0xa5, 0xa7, 0x0d, 0xb9, 0x8b, 0x2b, 0x8a, 0x25, 0x5f, - 0x81, 0x56, 0xec, 0x8e, 0x71, 0x14, 0x5b, 0xe3, 0x09, 0x9d, 0x69, 0xcb, 0x4c, 0x00, 0xaa, 0x9d, - 0xd7, 0xd2, 0x76, 0x7e, 0x41, 0x7a, 0x75, 0x36, 0x63, 0xde, 0x42, 0x97, 0xa1, 0xc5, 0xfe, 0x0d, - 0x5d, 0xa7, 0xdf, 0xa0, 0x34, 0xdc, 0xb1, 0x3d, 0x70, 0xd0, 0x6d, 0xa8, 0x58, 0xb6, 0xd7, 0x6f, - 0xd2, 0xe9, 0x5e, 0xcd, 0x9d, 0xee, 0xbd, 0xf5, 0x1d, 0xb6, 0xe1, 0x09, 0x26, 0xfa, 0x05, 0xb4, - 0xa7, 0x13, 0xc7, 0x8a, 0x71, 0x38, 0x9c, 0x86, 0x6e, 0xbf, 0x45, 0x87, 0x02, 0x0e, 0x3a, 0x08, - 0x5d, 0xa9, 0x76, 0x48, 0xd4, 0x4e, 0x5c, 0x90, 0x67, 0xf9, 0x87, 0x53, 0xeb, 0x10, 0xf7, 0xdb, - 0xcc, 0x05, 0x89, 0x36, 0x7a, 0x0b, 0x3a, 0x81, 0xe7, 0x0c, 0x65, 0x7f, 0x87, 0xf6, 0xb7, 0x03, - 0xcf, 0xd9, 0x11, 0x28, 0x6f, 0xc3, 0xd2, 0xd8, 0x72, 0xfd, 0xa1, 0x13, 0xd8, 0xd3, 0x31, 0xd1, - 0xe1, 0x12, 0xc5, 0xe9, 0x10, 0xe0, 0x06, 0x87, 0x11, 0x3e, 0xd1, 0x69, 0x14, 0xe3, 0xf1, 0x90, - 0x4c, 0x0e, 0xf7, 0xbb, 0x8c, 0x0f, 0x83, 0x11, 0xc7, 0x82, 0x8d, 0x1b, 0xd0, 0x33, 0xa7, 0x3e, - 0x39, 0x5a, 0xc2, 0x58, 0xf1, 0x23, 0xf4, 0x9c, 0x2a, 0x25, 0xe7, 0x94, 0xf1, 0x08, 0x56, 0x14, - 0x3c, 0xbe, 0x35, 0x2e, 0x40, 0x3d, 0xb6, 0x5e, 0x78, 0x58, 0x9c, 0x1a, 0xbc, 0x85, 0xae, 0x41, - 0x3b, 0x9a, 0x84, 0xc4, 0xf5, 0x1d, 0x61, 0xcc, 0x96, 0xb7, 0x63, 0xaa, 0x20, 0x72, 0x06, 0xef, - 0xe3, 0x28, 0x4e, 0x8f, 0xfb, 0x31, 0xd4, 0x43, 0x0a, 0x28, 0x3c, 0x83, 0x39, 0x0d, 0x47, 0x35, - 0x76, 0x01, 0xa9, 0x9c, 0x7e, 0xb4, 0x64, 0xef, 0xc2, 0xb9, 0x0d, 0xec, 0xe1, 0x18, 0xcf, 0xd7, - 0xc9, 0x05, 0x38, 0x9f, 0x46, 0x65, 0x83, 0x13, 0x9d, 0x6e, 0xe1, 0x78, 0x3e, 0xfd, 0x5f, 0x94, - 0x68, 0x24, 0x32, 0x23, 0xfa, 0xeb, 0x68, 0x81, 0x98, 0x00, 0xf6, 0xc9, 0x14, 0x1d, 0x3a, 0xa7, - 0xa6, 0x29, 0x9a, 0xe8, 0x3a, 0x74, 0x7d, 0x7c, 0x12, 0x0f, 0xf1, 0x09, 0xb6, 0xa7, 0x31, 0xb1, - 0x11, 0x66, 0x58, 0x4b, 0x04, 0xba, 0x29, 0x80, 0x86, 0x03, 0xe7, 0x0e, 0xe8, 0x86, 0xfd, 0xf1, - 0x4b, 0xa2, 0x17, 0xc6, 0x38, 0x0f, 0x68, 0xc7, 0x15, 0x8b, 0x25, 0xce, 0x2d, 0x63, 0x1f, 0xce, - 0xa5, 0xa0, 0x32, 0x50, 0x68, 0x30, 0x86, 0xc2, 0xf5, 0xbc, 0x5d, 0x30, 0x38, 0x61, 0x40, 0x9d, - 0x8f, 0xa0, 0x31, 0xfe, 0xbc, 0x04, 0xdd, 0x74, 0x5f, 0xde, 0x22, 0x10, 0x27, 0x14, 0xbb, 0xb1, - 0x27, 0xcf, 0x1f, 0xda, 0x40, 0x37, 0x61, 0xd9, 0x0e, 0x03, 0x7f, 0x88, 0x4f, 0x26, 0x21, 0xa6, - 0x07, 0x18, 0x57, 0x5b, 0x97, 0x80, 0x37, 0x25, 0x94, 0xd8, 0x21, 0x45, 0x24, 0xde, 0xe8, 0x87, - 0xc0, 0xc7, 0xdc, 0x3b, 0x75, 0x08, 0x70, 0x9f, 0xc3, 0x8c, 0xdf, 0x95, 0xa1, 0xce, 0x44, 0x39, - 0x83, 0x08, 0xd7, 0xa1, 0x7b, 0x88, 0x7d, 0x1c, 0x5a, 0x31, 0x1e, 0xb2, 0xdd, 0xca, 0xa2, 0xac, - 0x25, 0x01, 0xdd, 0x23, 0xc0, 0x3c, 0x49, 0xab, 0x8b, 0x49, 0xda, 0xc8, 0x4a, 0x4a, 0x06, 0x8d, - 0x3c, 0xcb, 0x3e, 0x1e, 0xda, 0x47, 0x96, 0xef, 0x63, 0x2f, 0xea, 0xd7, 0xa8, 0xfd, 0x2c, 0x51, - 0xe8, 0x3a, 0x07, 0xa2, 0x2f, 0xa0, 0xf1, 0xfd, 0x14, 0x87, 0x2e, 0x26, 0x8e, 0x95, 0x2c, 0xcd, - 0xb5, 0x82, 0xa5, 0x79, 0x3a, 0xc5, 0xe1, 0xa9, 0x29, 0x08, 0x8c, 0xbf, 0x2d, 0x41, 0x5b, 0xe9, - 0xc8, 0xd5, 0xc8, 0x15, 0x68, 0x45, 0xd3, 0xf1, 0xd8, 0x0a, 0xdd, 0x08, 0xd3, 0xc0, 0xb3, 0x66, - 0x26, 0x00, 0x12, 0x44, 0x44, 0xdf, 0x7b, 0x7c, 0x41, 0xc8, 0x5f, 0xf4, 0x10, 0x7a, 0x34, 0x6e, - 0x18, 0x4e, 0xc2, 0xc0, 0x26, 0xf3, 0xf5, 0x0f, 0x79, 0xf8, 0x56, 0x24, 0xd8, 0x33, 0x42, 0x62, - 0x2e, 0x53, 0xca, 0x27, 0x92, 0xd0, 0xd8, 0x14, 0xf2, 0xd1, 0x7e, 0xe2, 0x4a, 0xec, 0xc0, 0x9b, - 0x8e, 0x7d, 0x2e, 0x21, 0x6f, 0xa1, 0x37, 0x01, 0xf8, 0x68, 0x41, 0x28, 0xa2, 0x63, 0x05, 0x62, - 0xfc, 0x0a, 0xce, 0xa7, 0x2d, 0x8a, 0x6f, 0xeb, 0xac, 0x41, 0x96, 0xf2, 0x0c, 0xf2, 0x22, 0x8d, - 0xf2, 0x78, 0xf4, 0x37, 0xf5, 0xb0, 0xb4, 0x96, 0xc7, 0x34, 0xa0, 0x4b, 0x75, 0x70, 0xce, 0x9f, - 0x40, 0x2d, 0x9c, 0x7a, 0x32, 0x2b, 0xf8, 0x45, 0x51, 0x3c, 0x39, 0xf5, 0xb0, 0xc9, 0xb0, 0x89, - 0x51, 0x4a, 0x86, 0xc9, 0x30, 0x9f, 0x41, 0xf7, 0x79, 0x10, 0x1e, 0x8f, 0xbc, 0xe0, 0x15, 0xeb, - 0x92, 0xa7, 0x58, 0x49, 0x39, 0xc5, 0x72, 0x52, 0x1a, 0xe3, 0x19, 0x0d, 0x97, 0x12, 0x7e, 0x5c, - 0xba, 0xaf, 0x33, 0x69, 0x4b, 0xbe, 0x3d, 0xa7, 0x47, 0x55, 0xd2, 0x97, 0x6f, 0x84, 0x8b, 0xca, - 0xa4, 0x81, 0x8b, 0x88, 0x45, 0x0e, 0x5c, 0xc7, 0x8d, 0x98, 0x5b, 0x62, 0x96, 0x24, 0xdb, 0xc4, - 0x93, 0xa7, 0x59, 0x73, 0x4f, 0xbe, 0x0b, 0x17, 0xd7, 0x43, 0x9c, 0xc0, 0x89, 0xd6, 0xa4, 0x67, - 0xac, 0x12, 0xf5, 0x71, 0xbf, 0x38, 0x57, 0xd7, 0x14, 0xd9, 0xf8, 0xe7, 0x12, 0x40, 0x02, 0x5c, - 0x58, 0xf4, 0x6b, 0xd0, 0x76, 0x70, 0x64, 0x87, 0xee, 0x44, 0x71, 0xe0, 0x2a, 0x88, 0x84, 0x20, - 0x96, 0x4d, 0x76, 0xde, 0x90, 0x0a, 0x55, 0xa5, 0xf3, 0x03, 0x06, 0xa2, 0x43, 0x5d, 0x05, 0xb0, - 0x26, 0x13, 0xcf, 0xc5, 0xd1, 0x30, 0x0e, 0xb8, 0x51, 0xb7, 0x38, 0x64, 0x3f, 0x20, 0x9b, 0x59, - 0x71, 0x20, 0xcc, 0x33, 0x28, 0x10, 0x63, 0x00, 0xfd, 0xac, 0x22, 0xb8, 0x92, 0xee, 0xc1, 0x45, - 0x76, 0x0c, 0x66, 0x95, 0xb4, 0xe8, 0x96, 0x19, 0x40, 0x3f, 0xcb, 0x82, 0xb3, 0xff, 0x27, 0x96, - 0x06, 0x88, 0xa0, 0xa6, 0x28, 0xc1, 0xd6, 0x27, 0x7c, 0x49, 0x20, 0x58, 0x49, 0x05, 0x82, 0x08, - 0xaa, 0x5e, 0x60, 0x1f, 0x73, 0x85, 0xd1, 0xff, 0x68, 0x03, 0x96, 0x48, 0x52, 0x9b, 0x84, 0x56, - 0x24, 0xa8, 0xec, 0x6a, 0x96, 0x78, 0x8b, 0xa5, 0xbc, 0x1b, 0x81, 0x6d, 0x76, 0xc6, 0xec, 0x0f, - 0x25, 0x32, 0xfe, 0xa6, 0x4c, 0xcd, 0x20, 0x11, 0x9b, 0x9b, 0xc1, 0x2d, 0x68, 0x4a, 0xc6, 0x6c, - 0xef, 0xac, 0xac, 0x89, 0x5a, 0x87, 0x44, 0x96, 0x28, 0x05, 0x53, 0xfa, 0x38, 0x35, 0xa5, 0xc5, - 0x2a, 0x16, 0xe8, 0x13, 0xa8, 0xd2, 0x84, 0xbd, 0x4a, 0x49, 0xf2, 0x63, 0xf9, 0x47, 0xca, 0x34, - 0x4c, 0x8a, 0x8e, 0x56, 0xa1, 0xe7, 0x46, 0xc3, 0xac, 0x56, 0x9a, 0x66, 0xd7, 0x8d, 0x54, 0xfc, - 0x6c, 0x5c, 0x5a, 0xcf, 0xc6, 0xa5, 0xc6, 0x01, 0x74, 0xef, 0x4f, 0xbd, 0x63, 0x1a, 0xfb, 0xb0, - 0xd5, 0x5c, 0x87, 0x96, 0xa0, 0x10, 0xde, 0xe1, 0x7a, 0xae, 0x70, 0x92, 0x6e, 0x84, 0x43, 0xec, - 0xdb, 0xd8, 0x4c, 0xe8, 0x8c, 0xbb, 0xd0, 0x9b, 0xed, 0x3e, 0xdb, 0x36, 0x31, 0x1e, 0xc0, 0xb2, - 0xe4, 0xc0, 0xd7, 0xeb, 0xd3, 0x74, 0xfa, 0x73, 0xad, 0x48, 0x2a, 0x35, 0xfb, 0x79, 0x06, 0x6d, - 0x05, 0xfa, 0x93, 0x2d, 0xbb, 0xf1, 0x1c, 0x3a, 0x29, 0x85, 0xff, 0x64, 0x8c, 0xbf, 0xa6, 0xc1, - 0xe8, 0x02, 0x65, 0xac, 0xa4, 0x64, 0x55, 0x4e, 0x95, 0xac, 0x9e, 0x51, 0x3b, 0x95, 0x0c, 0xb8, - 0xfe, 0xee, 0x42, 0x93, 0x8f, 0x20, 0x54, 0xf8, 0x4e, 0xae, 0x0a, 0x85, 0xac, 0xcf, 0x18, 0xb2, - 0x29, 0xa9, 0x8c, 0xff, 0x28, 0xc1, 0xf2, 0x4c, 0xaf, 0x3a, 0x8d, 0x52, 0xda, 0x2c, 0xfa, 0xd0, - 0xb0, 0xa9, 0xa7, 0x72, 0xb8, 0x87, 0x11, 0x4d, 0xd9, 0x13, 0x84, 0xdc, 0x09, 0x88, 0x26, 0xba, - 0x2f, 0xad, 0x82, 0xc8, 0xb7, 0xb6, 0x88, 0x7c, 0xd4, 0x4a, 0x58, 0x0e, 0x48, 0x69, 0x07, 0xbf, - 0x84, 0x96, 0x04, 0x9d, 0xa9, 0xcc, 0xf1, 0xbf, 0x15, 0x58, 0x12, 0x81, 0x82, 0x5e, 0xe9, 0xea, - 0x32, 0x97, 0xe7, 0x2f, 0xf3, 0x5d, 0x3e, 0xa3, 0x0a, 0x9d, 0xd1, 0x07, 0xb9, 0x33, 0x4a, 0x0d, - 0x3a, 0x3b, 0x1f, 0x74, 0x09, 0x9a, 0xee, 0x68, 0x38, 0xb6, 0x62, 0xfb, 0x88, 0x7a, 0x8b, 0x8a, - 0xd9, 0x70, 0x47, 0x8f, 0x48, 0x13, 0x7d, 0x2e, 0x3d, 0x4f, 0xad, 0xa0, 0x24, 0xc0, 0x3c, 0x0f, - 0x1f, 0x44, 0xf8, 0x1f, 0x9e, 0x5b, 0xd7, 0x17, 0xce, 0xad, 0x1f, 0x43, 0xcf, 0x1d, 0x93, 0xf8, - 0x69, 0xe8, 0xb8, 0x21, 0xb6, 0x63, 0xf7, 0x25, 0x0b, 0x5c, 0x75, 0xdb, 0xe8, 0x01, 0x45, 0xde, - 0x10, 0xb8, 0xe6, 0xb2, 0x9b, 0x06, 0x90, 0xd0, 0x92, 0x78, 0xf9, 0xfd, 0xe0, 0x18, 0xfb, 0xfd, - 0x26, 0x2b, 0x25, 0x48, 0x00, 0xfa, 0x10, 0xce, 0xb3, 0xbc, 0x7d, 0xc6, 0xd9, 0xb5, 0xa8, 0xb3, - 0x43, 0xac, 0x4f, 0xb5, 0xbf, 0xd7, 0x5f, 0xf7, 0x63, 0x58, 0x9e, 0x11, 0x16, 0xdd, 0x02, 0x14, - 0x84, 0xee, 0xa1, 0xeb, 0x5b, 0x9e, 0x77, 0x3a, 0x14, 0xdb, 0x98, 0x71, 0x5b, 0x49, 0x7a, 0xd6, - 0xf9, 0x86, 0x7e, 0x17, 0x7a, 0x02, 0x38, 0x14, 0x3b, 0x9b, 0x0d, 0xb3, 0x2c, 0xe0, 0xeb, 0x0c, - 0x6c, 0x7c, 0x05, 0x5d, 0xb1, 0xdc, 0xdc, 0x2e, 0xf5, 0x16, 0x24, 0xb6, 0x5f, 0x59, 0x29, 0x23, - 0x3e, 0x85, 0x15, 0xe2, 0xcd, 0xd2, 0xfb, 0xf4, 0x4b, 0x68, 0x30, 0x85, 0x08, 0xcb, 0x36, 0xe6, - 0xef, 0x33, 0x53, 0x90, 0x18, 0x7b, 0x80, 0x54, 0x96, 0x49, 0xd2, 0x97, 0xe6, 0xf9, 0x76, 0x21, - 0x4f, 0x46, 0x95, 0x30, 0xbd, 0x0b, 0xcb, 0xcf, 0x2c, 0xcf, 0x55, 0xa5, 0x3c, 0x9b, 0x83, 0x34, - 0x9e, 0x42, 0x2f, 0xe1, 0x20, 0x85, 0xaa, 0xe3, 0x30, 0x24, 0x61, 0x7e, 0xd1, 0xd1, 0xc4, 0xc9, - 0x88, 0xf3, 0xc2, 0xd1, 0xd4, 0x8b, 0x4d, 0x4e, 0x64, 0xfc, 0x56, 0xb2, 0x94, 0x7d, 0xe8, 0x53, - 0xa8, 0x63, 0x3f, 0x76, 0xe3, 0x53, 0xce, 0xf2, 0xcd, 0xfc, 0xb2, 0x1a, 0x45, 0x31, 0xf1, 0xc8, - 0xe4, 0xd8, 0xb4, 0x66, 0x46, 0xb8, 0xca, 0x9a, 0x19, 0x69, 0x18, 0xbf, 0x2b, 0x41, 0x4b, 0xe2, - 0x12, 0xd3, 0x0d, 0xf1, 0x68, 0xa8, 0x44, 0x5e, 0x8d, 0x10, 0x8f, 0xf6, 0x79, 0xf0, 0x75, 0xec, - 0xfa, 0x72, 0x6d, 0xc9, 0x7f, 0xc2, 0xd2, 0xf5, 0x1d, 0x7c, 0x22, 0x0a, 0x8b, 0xb4, 0x21, 0xc3, - 0xb4, 0xaa, 0x12, 0x87, 0x8a, 0x70, 0xae, 0xa6, 0x84, 0x73, 0x3d, 0xa8, 0x84, 0xd8, 0xe3, 0xc7, - 0x3c, 0xf9, 0x6b, 0xfc, 0x7b, 0x09, 0x3a, 0xaa, 0xf1, 0xe7, 0x66, 0x78, 0xfa, 0xb8, 0xe6, 0xeb, - 0x94, 0xeb, 0x7a, 0x7f, 0xae, 0x6f, 0x39, 0x83, 0xe7, 0x7a, 0x7d, 0x63, 0xb5, 0xa0, 0xcf, 0x46, - 0x5b, 0xac, 0xec, 0x8e, 0x3e, 0x82, 0xaa, 0xe7, 0x46, 0x31, 0x4d, 0x0b, 0xe7, 0x3a, 0x3a, 0x8a, - 0x6a, 0x5c, 0x86, 0x4b, 0x39, 0x43, 0xf0, 0x20, 0xf8, 0xbf, 0x4a, 0xf0, 0x06, 0x8b, 0x90, 0x17, - 0x89, 0x83, 0xb7, 0xb9, 0x0a, 0xd9, 0xe8, 0xbf, 0x9f, 0x7f, 0x9e, 0xe5, 0x71, 0x2b, 0xd4, 0x65, - 0x25, 0x7d, 0x0a, 0x14, 0x3a, 0xd2, 0xd7, 0xd7, 0x74, 0x1f, 0x2e, 0xcc, 0x8a, 0xc6, 0x75, 0xf0, - 0xc7, 0xd0, 0x35, 0x31, 0x09, 0x2e, 0x0a, 0x0f, 0xca, 0x55, 0xe8, 0x39, 0x94, 0x7e, 0x18, 0x62, - 0x3b, 0x08, 0x9d, 0x21, 0xf7, 0x64, 0x15, 0xb3, 0xeb, 0xf0, 0x62, 0x1d, 0x01, 0x27, 0x75, 0xde, - 0xca, 0xa2, 0x67, 0x91, 0xb1, 0x02, 0xcb, 0x52, 0x00, 0x2e, 0xd3, 0x0e, 0x74, 0x9e, 0x4c, 0xc3, - 0xc3, 0x9f, 0x46, 0x22, 0x63, 0x19, 0x96, 0x38, 0x37, 0xce, 0xfe, 0x4f, 0x4a, 0xac, 0x60, 0xc6, - 0x34, 0xe2, 0x14, 0x8d, 0x72, 0x19, 0x5a, 0x2c, 0x0e, 0x4b, 0xd8, 0x37, 0x19, 0xe0, 0x81, 0x43, - 0xd2, 0x43, 0xde, 0x49, 0x36, 0x18, 0x0f, 0x7f, 0x80, 0x81, 0x36, 0x88, 0x89, 0x0e, 0xa0, 0x39, - 0x53, 0xc1, 0x92, 0x6d, 0xc3, 0x64, 0xe5, 0x39, 0x29, 0x03, 0x77, 0x8a, 0x7f, 0x00, 0x0d, 0x26, - 0x7e, 0xf1, 0xcd, 0xc0, 0x86, 0x32, 0x45, 0x53, 0x50, 0x18, 0xff, 0x53, 0x86, 0x8e, 0xda, 0x93, - 0xb9, 0x1b, 0xc8, 0x39, 0x84, 0xc8, 0x36, 0x9a, 0x86, 0xae, 0xa8, 0xfb, 0x4c, 0x95, 0xc2, 0x7a, - 0x55, 0x71, 0x48, 0xfa, 0xdb, 0x00, 0x25, 0x34, 0xac, 0x6b, 0x43, 0xc3, 0x46, 0x3a, 0x34, 0x14, - 0xde, 0xa8, 0x59, 0xe0, 0x8d, 0xd4, 0x89, 0x64, 0x2c, 0x48, 0xad, 0xf3, 0xb7, 0x66, 0xea, 0xfc, - 0x57, 0xa0, 0x35, 0x22, 0xa7, 0xb4, 0x1b, 0x61, 0x87, 0x5f, 0x0e, 0x24, 0x00, 0x12, 0x67, 0x4f, - 0xc8, 0x6e, 0x70, 0xf8, 0xfd, 0x00, 0x6f, 0xbd, 0xbe, 0x69, 0xbd, 0x03, 0x5d, 0x9e, 0xae, 0x16, - 0xdd, 0x18, 0x6e, 0xc3, 0xb2, 0xc4, 0x92, 0x85, 0x25, 0xa6, 0x84, 0x52, 0x41, 0xd6, 0x28, 0xcc, - 0x95, 0x12, 0x52, 0x74, 0xe3, 0x5f, 0x2a, 0xd0, 0x51, 0xc1, 0xea, 0x02, 0x94, 0xd2, 0x0b, 0xa0, - 0x5e, 0xc8, 0x96, 0x67, 0x2e, 0x64, 0x6f, 0xc2, 0xb2, 0x3d, 0x0d, 0x43, 0xec, 0xc7, 0x43, 0xb1, - 0xb0, 0xcc, 0x15, 0x75, 0x39, 0x58, 0x24, 0x05, 0xf7, 0xd3, 0x37, 0xb7, 0x1f, 0xcc, 0x95, 0x33, - 0x7b, 0x67, 0x2b, 0x9c, 0x42, 0x6d, 0xe1, 0x00, 0xf5, 0x16, 0xaf, 0x20, 0xd4, 0xa9, 0x6e, 0x2e, - 0xe5, 0x52, 0xec, 0x04, 0xf6, 0x31, 0x2f, 0x2e, 0xe4, 0x65, 0xd2, 0x8d, 0xc5, 0x32, 0xe9, 0x66, - 0x36, 0x93, 0xfe, 0xb9, 0xae, 0x98, 0xff, 0xb4, 0x0c, 0x75, 0x5e, 0xf5, 0x9b, 0x35, 0x4c, 0xfd, - 0xc1, 0xad, 0xcf, 0xaf, 0x94, 0x75, 0xaf, 0xa6, 0xd7, 0xfd, 0x73, 0xbe, 0xb3, 0x6a, 0x05, 0x71, - 0x15, 0x13, 0x24, 0x63, 0x58, 0xab, 0xd0, 0x13, 0x6a, 0x94, 0xfb, 0xa2, 0xce, 0xf6, 0x05, 0x2f, - 0xc4, 0xf0, 0x7d, 0xf1, 0xfa, 0x06, 0xf3, 0x15, 0x34, 0xc5, 0x62, 0x0b, 0xe7, 0x53, 0x4a, 0x9c, - 0xcf, 0xb5, 0xf4, 0xfd, 0x39, 0xab, 0x00, 0xab, 0x20, 0xe3, 0xaf, 0x4a, 0x50, 0x25, 0x6b, 0x4f, - 0x2b, 0xfc, 0xf4, 0x9c, 0x2c, 0xf1, 0x0a, 0x3f, 0x4d, 0x36, 0x38, 0xcb, 0x72, 0xc2, 0x52, 0x51, - 0x54, 0x25, 0xe3, 0xa1, 0xf0, 0xc9, 0xc4, 0x0d, 0x71, 0x24, 0x54, 0xc8, 0x9b, 0x84, 0x8b, 0x35, - 0x99, 0xf0, 0x98, 0x8c, 0xfc, 0xa5, 0x5c, 0x82, 0xb1, 0x52, 0x7d, 0x11, 0x4d, 0xe3, 0x21, 0x5c, - 0x34, 0xf1, 0xa1, 0x1b, 0xc5, 0x38, 0x24, 0x1a, 0x21, 0x21, 0x61, 0x51, 0xa9, 0xee, 0x0a, 0xb4, - 0xf0, 0x89, 0xed, 0x4d, 0x23, 0x92, 0x75, 0xb1, 0xab, 0x9c, 0x04, 0x60, 0x0c, 0xa0, 0x9f, 0x65, - 0xc6, 0x0f, 0xae, 0x67, 0x30, 0x98, 0xed, 0x3b, 0x88, 0xe4, 0x58, 0x97, 0xa1, 0x45, 0xb7, 0xb6, - 0x32, 0x60, 0x93, 0x00, 0x68, 0x88, 0x4a, 0x3a, 0xc9, 0xba, 0xd2, 0x4e, 0xe1, 0x0b, 0x38, 0x0f, - 0xe3, 0x2a, 0x5c, 0xce, 0xe5, 0xcb, 0x87, 0xfd, 0xc7, 0x12, 0xbc, 0x21, 0xfa, 0xf7, 0xec, 0x23, - 0x3c, 0xb6, 0x94, 0x8b, 0xac, 0x88, 0x02, 0x8a, 0xdf, 0xf7, 0x30, 0x1a, 0x8e, 0x4a, 0xbc, 0x92, - 0x45, 0x32, 0x33, 0x72, 0x66, 0xb2, 0xe9, 0xcb, 0x36, 0xba, 0x0a, 0xc0, 0xb0, 0x86, 0xd3, 0x50, - 0xdc, 0x45, 0xb4, 0x18, 0xe4, 0x20, 0xf4, 0x88, 0xf5, 0xf2, 0xee, 0xe8, 0xc8, 0xba, 0xf3, 0xc9, - 0xa7, 0xe2, 0x5e, 0x88, 0x01, 0xf7, 0x28, 0x8c, 0xc4, 0x3a, 0xb3, 0xd2, 0xf2, 0x89, 0x8c, 0xe0, - 0xc2, 0x1e, 0x8e, 0xef, 0xd1, 0xb4, 0x30, 0x3d, 0x91, 0x05, 0x82, 0xe9, 0x56, 0x62, 0x93, 0x6f, - 0x02, 0x38, 0x58, 0xce, 0x81, 0x95, 0xbd, 0x15, 0x88, 0x71, 0x09, 0x2e, 0x66, 0xc6, 0xe1, 0x22, - 0xdc, 0x65, 0x4f, 0xae, 0x5e, 0x7f, 0x70, 0xe3, 0x1e, 0x7b, 0x68, 0x95, 0x62, 0x3b, 0x9b, 0x77, - 0xb6, 0x52, 0x79, 0x67, 0x34, 0xc1, 0x36, 0xbf, 0x94, 0xa5, 0xff, 0x8d, 0x7f, 0x2b, 0xc1, 0x60, - 0x0b, 0xc7, 0xf7, 0x3c, 0x4f, 0x95, 0x51, 0x86, 0xde, 0x6f, 0x41, 0x87, 0xbe, 0xdb, 0x88, 0xb0, - 0x1d, 0xf8, 0x4e, 0xc4, 0xdd, 0x54, 0x9b, 0xc0, 0xf6, 0x18, 0x08, 0x3d, 0x81, 0xda, 0xb1, 0x1f, - 0xbc, 0xf2, 0x79, 0x30, 0xfc, 0x85, 0xae, 0x8a, 0xab, 0x19, 0x62, 0xed, 0x21, 0x21, 0xe6, 0x47, - 0x04, 0x65, 0x34, 0xf8, 0x0c, 0x20, 0x01, 0x9e, 0xc9, 0x9f, 0xec, 0xd3, 0x77, 0x1f, 0xd9, 0x91, - 0xe4, 0x31, 0xdb, 0x60, 0xdb, 0x63, 0xce, 0xbb, 0x2e, 0xa6, 0x50, 0x81, 0x6b, 0xfc, 0x1a, 0xea, - 0x0c, 0x74, 0xc6, 0xbd, 0x21, 0xf4, 0xcd, 0x1f, 0x5a, 0x50, 0x7d, 0xf7, 0xe9, 0xe5, 0xd2, 0x06, - 0x9e, 0x84, 0xd8, 0xa6, 0xe9, 0xaa, 0xbc, 0x0f, 0xfa, 0x1a, 0xda, 0x0a, 0x98, 0xbe, 0x3b, 0xb1, - 0x5e, 0x60, 0x4f, 0x78, 0x34, 0xda, 0x20, 0x06, 0x83, 0xfd, 0x51, 0x10, 0xda, 0xf2, 0xea, 0x57, - 0xb6, 0x8d, 0x21, 0x7d, 0xd1, 0x96, 0x66, 0xcd, 0x27, 0xbe, 0x01, 0x1d, 0x47, 0x81, 0x17, 0x96, - 0x5a, 0x15, 0x06, 0x66, 0x8a, 0xca, 0xf8, 0x8d, 0xc8, 0xd1, 0x54, 0x14, 0xbe, 0x51, 0xee, 0x43, - 0x5b, 0xc1, 0xe5, 0x3e, 0x60, 0xfe, 0x00, 0x2a, 0x51, 0x92, 0xa0, 0xa5, 0xf8, 0x73, 0x6b, 0x39, - 0x85, 0x4b, 0x8a, 0x63, 0x0a, 0x5d, 0xfb, 0xa1, 0xeb, 0x3b, 0x45, 0x66, 0xb3, 0x0d, 0x6d, 0xeb, - 0xf0, 0x30, 0xc4, 0x87, 0x4c, 0xa2, 0x32, 0xbd, 0x63, 0xb8, 0xa1, 0x2b, 0xc8, 0x87, 0xae, 0x7d, - 0x2f, 0xc1, 0x36, 0x55, 0x52, 0xe3, 0x4a, 0xca, 0xd7, 0xca, 0xa1, 0xb9, 0x60, 0xb7, 0xc4, 0xed, - 0xcc, 0x42, 0x62, 0x25, 0x37, 0x31, 0x39, 0xac, 0xd8, 0x95, 0x64, 0xd2, 0x31, 0x73, 0x25, 0x99, - 0xea, 0x48, 0xae, 0x24, 0x8f, 0x5d, 0xdf, 0x29, 0xbe, 0x92, 0x54, 0x86, 0x62, 0xd8, 0xc6, 0x1f, - 0x01, 0x24, 0xc0, 0x9f, 0x59, 0x7d, 0xc7, 0xc9, 0x91, 0xc1, 0x30, 0xe7, 0x3c, 0xe1, 0xcc, 0xab, - 0x9f, 0x30, 0x53, 0xa8, 0xa8, 0xa6, 0x20, 0xbd, 0x00, 0x4b, 0x42, 0x58, 0x43, 0xf5, 0xf8, 0x62, - 0x30, 0xae, 0xdc, 0xa7, 0xd4, 0x59, 0x32, 0x60, 0xf4, 0x93, 0x88, 0x60, 0x3c, 0xa4, 0x05, 0x79, - 0xc9, 0x32, 0xf1, 0x32, 0x63, 0x06, 0xe2, 0x2e, 0xf1, 0x72, 0x81, 0xd6, 0x4c, 0x81, 0x6b, 0x6c, - 0x43, 0x9d, 0x81, 0xa4, 0x00, 0xa5, 0x3c, 0x01, 0xca, 0xb9, 0x3a, 0xa8, 0xa8, 0x3a, 0x18, 0x42, - 0x9b, 0x06, 0xc4, 0x05, 0x73, 0xec, 0x41, 0x25, 0x8e, 0x3d, 0xfe, 0x92, 0x8f, 0xfc, 0x15, 0x51, - 0x4e, 0x25, 0x37, 0xca, 0xa9, 0xa6, 0xa3, 0x9c, 0xaf, 0xa0, 0xc3, 0x06, 0xe0, 0x33, 0xce, 0x8f, - 0xbe, 0x94, 0x88, 0xaa, 0x9c, 0x8a, 0xa8, 0x8c, 0xc7, 0xb0, 0xb2, 0x79, 0x12, 0x63, 0xdf, 0x39, - 0xbb, 0x98, 0x72, 0xa8, 0x8a, 0x32, 0x94, 0xf1, 0x39, 0x2c, 0x1d, 0xf8, 0xde, 0x1c, 0x66, 0x92, - 0xb4, 0xac, 0x92, 0xf6, 0xa0, 0x2b, 0x48, 0xd9, 0x6c, 0xde, 0xfb, 0x12, 0x20, 0xb9, 0x74, 0x44, - 0x4b, 0xd0, 0x7a, 0xb4, 0xb9, 0x7f, 0x6f, 0xb8, 0xfb, 0x78, 0x77, 0xb3, 0xf7, 0x7b, 0xa8, 0x07, - 0x1d, 0xda, 0x7c, 0xb0, 0xbb, 0xbe, 0x73, 0xb0, 0xb1, 0xd9, 0x2b, 0x49, 0x84, 0xc7, 0xbb, 0x3b, - 0xdf, 0xf4, 0xca, 0xef, 0x7d, 0x0e, 0x2b, 0x19, 0x7b, 0x40, 0x4d, 0xa8, 0x72, 0xfa, 0x36, 0x34, - 0xcc, 0xcd, 0x27, 0x3b, 0xf7, 0xd6, 0x39, 0xe9, 0x83, 0xdd, 0x75, 0x73, 0xf3, 0xd1, 0xe6, 0xee, - 0x7e, 0xaf, 0x7c, 0xe7, 0x3f, 0xbb, 0xd0, 0x12, 0x89, 0x47, 0x84, 0xfe, 0x10, 0x2a, 0x5b, 0x38, - 0x46, 0x37, 0x75, 0xe7, 0xe9, 0x4c, 0x65, 0x69, 0xb0, 0x3a, 0x1f, 0x91, 0x2f, 0xd7, 0x3e, 0x34, - 0xf8, 0xcd, 0x19, 0x7a, 0xbb, 0xf8, 0x0e, 0x90, 0x71, 0x7e, 0xa7, 0x18, 0x89, 0x73, 0xfd, 0x8e, - 0xaa, 0x8d, 0xdf, 0x4e, 0xa1, 0x1b, 0x3a, 0x69, 0xd2, 0xf7, 0x5f, 0x83, 0x9b, 0x73, 0xf1, 0x38, - 0xfb, 0xa7, 0x50, 0xe7, 0xd5, 0xce, 0x05, 0x8a, 0xe0, 0x83, 0x45, 0x8a, 0xda, 0x44, 0xe2, 0xa4, - 0x40, 0xae, 0x91, 0x38, 0x53, 0x94, 0xd7, 0x48, 0x9c, 0x53, 0x69, 0x7f, 0x0e, 0x4d, 0x51, 0xe8, - 0x46, 0xef, 0x14, 0x15, 0xb4, 0x25, 0xeb, 0xeb, 0x73, 0xb0, 0x38, 0x63, 0x0b, 0xea, 0xec, 0x08, - 0x41, 0xef, 0x2d, 0x5e, 0x79, 0x1c, 0xbc, 0xbf, 0x10, 0x2e, 0x1f, 0xe2, 0xb7, 0xd0, 0x56, 0x4a, - 0x52, 0x9a, 0x4d, 0x98, 0x2d, 0x9c, 0x69, 0x36, 0x61, 0x5e, 0x75, 0x6b, 0x1f, 0x1a, 0xbc, 0xd6, - 0x87, 0x74, 0xcf, 0xce, 0xd4, 0x52, 0xa4, 0x66, 0x13, 0xce, 0x94, 0x0b, 0xd1, 0x2e, 0xd4, 0x68, - 0x81, 0x0f, 0xe5, 0xd7, 0x50, 0xd4, 0x52, 0xe2, 0xc0, 0x28, 0x42, 0x49, 0xa4, 0xe4, 0xbe, 0x40, - 0x23, 0x65, 0xba, 0xde, 0xa3, 0x91, 0x72, 0xb6, 0xdc, 0xf3, 0x1d, 0x34, 0xc5, 0xbb, 0x5d, 0xbd, - 0x7d, 0xcf, 0x3c, 0x5a, 0xd6, 0xdb, 0x77, 0xe6, 0x41, 0xf1, 0x09, 0xac, 0x64, 0x5e, 0x1b, 0xa3, - 0x0f, 0x75, 0xe4, 0xba, 0x57, 0xd2, 0x83, 0x8f, 0xce, 0x40, 0xc1, 0x47, 0xfe, 0x16, 0x5a, 0xf2, - 0x65, 0x12, 0xba, 0xae, 0xa3, 0x4f, 0x3d, 0x2f, 0x1a, 0xdc, 0x98, 0x87, 0xc6, 0x79, 0xfb, 0xca, - 0x17, 0x2a, 0xc2, 0xcb, 0x7c, 0x50, 0x4c, 0x3b, 0xe3, 0x6b, 0x16, 0xc5, 0x66, 0xe3, 0x85, 0xca, - 0x57, 0x2c, 0xe2, 0x3b, 0x04, 0x74, 0xab, 0x98, 0xc5, 0xcc, 0x47, 0x1f, 0x83, 0xb5, 0x45, 0xd1, - 0xf9, 0x1c, 0x5d, 0x5a, 0x40, 0x54, 0xee, 0x27, 0x34, 0x16, 0x9e, 0xfb, 0x79, 0x82, 0xc6, 0xc2, - 0x35, 0x1f, 0x27, 0x3c, 0xe4, 0x95, 0x93, 0x6b, 0xfa, 0x82, 0x1a, 0x67, 0xfb, 0x56, 0x01, 0x86, - 0x74, 0x75, 0x90, 0x1c, 0xe8, 0x1a, 0x4f, 0x9a, 0x39, 0xf1, 0x17, 0x61, 0x4c, 0xbc, 0x3e, 0x3d, - 0x9d, 0x75, 0x5e, 0x5f, 0x3d, 0xf5, 0x75, 0x5e, 0x3f, 0x75, 0xbc, 0xdf, 0xf9, 0xef, 0x3a, 0x34, - 0x78, 0x62, 0x88, 0x6c, 0x68, 0x8a, 0x68, 0x51, 0xa3, 0xe9, 0xdc, 0x62, 0x87, 0x46, 0xd3, 0xf9, - 0xa5, 0x06, 0x34, 0x82, 0x96, 0x2c, 0x01, 0x20, 0xcd, 0x75, 0x5b, 0x6e, 0x29, 0x42, 0xb3, 0x61, - 0x35, 0xf5, 0x04, 0xb4, 0xcf, 0x02, 0x06, 0xbd, 0xd9, 0xa5, 0x78, 0xdf, 0x98, 0x87, 0xc6, 0xb9, - 0x7e, 0x0f, 0x1d, 0x35, 0xa5, 0x46, 0xb7, 0xcf, 0x98, 0xdf, 0x0f, 0x3e, 0x5c, 0x9c, 0x80, 0x0f, - 0x19, 0x40, 0x6f, 0xb6, 0x06, 0xa5, 0xb1, 0x74, 0x4d, 0xad, 0x6d, 0x70, 0x6b, 0x41, 0x6c, 0xe9, - 0x30, 0xcf, 0xe5, 0x14, 0xbd, 0x34, 0x53, 0xd5, 0x97, 0xdd, 0x34, 0x53, 0x2d, 0xa8, 0xa7, 0x21, - 0x8f, 0xde, 0x05, 0xa8, 0x39, 0x3b, 0xd2, 0x5a, 0x71, 0x4e, 0xd1, 0x40, 0xef, 0xd2, 0x72, 0xcb, - 0x00, 0x21, 0xac, 0x64, 0x12, 0x6c, 0x8d, 0x4b, 0xd3, 0x25, 0xfa, 0x1a, 0x97, 0xa6, 0xcd, 0xdb, - 0xef, 0xfc, 0x5d, 0x15, 0x5a, 0xe2, 0xc5, 0x29, 0x31, 0xb8, 0x8e, 0xfa, 0x0e, 0x14, 0xad, 0x16, - 0x70, 0x4b, 0x1f, 0x13, 0xef, 0x2e, 0x80, 0x99, 0x04, 0x2f, 0xca, 0xfb, 0x58, 0xfd, 0x09, 0x3b, - 0xf3, 0x22, 0x57, 0x7f, 0xc2, 0x66, 0x9e, 0xda, 0x06, 0xd0, 0x9b, 0x7d, 0xad, 0xa9, 0xd9, 0xa1, - 0x9a, 0xd7, 0xad, 0x9a, 0x1d, 0xaa, 0x7b, 0x02, 0x4a, 0x06, 0x9c, 0x7d, 0xbf, 0xa9, 0x19, 0x50, - 0xf3, 0x52, 0x54, 0x33, 0xa0, 0xee, 0x51, 0x28, 0x3f, 0x89, 0x94, 0x47, 0xd0, 0xfa, 0x93, 0x28, - 0xfb, 0x84, 0x5a, 0x7f, 0x12, 0xe5, 0xbc, 0xaa, 0xbe, 0xf3, 0x0f, 0x55, 0x12, 0x0a, 0xd2, 0x6f, - 0x0a, 0xd0, 0x37, 0x50, 0x25, 0xc1, 0x62, 0x41, 0xc0, 0x99, 0xfe, 0xb4, 0xa1, 0x20, 0xe0, 0x9c, - 0xfd, 0xda, 0xe1, 0x3b, 0x99, 0x40, 0xac, 0x16, 0x26, 0x07, 0xca, 0xd7, 0x19, 0x85, 0x9b, 0x6e, - 0xe6, 0xd5, 0xf9, 0x3c, 0xef, 0x9b, 0x66, 0x7c, 0x63, 0x1e, 0x5a, 0x22, 0x34, 0x0f, 0xf5, 0x57, - 0x0b, 0x6f, 0x46, 0xe7, 0x0b, 0x9d, 0xf7, 0x21, 0x0d, 0x11, 0xda, 0x9c, 0xfa, 0x1a, 0xa1, 0x67, - 0x3f, 0x5b, 0xd2, 0x08, 0x9d, 0xfd, 0x6a, 0xe9, 0x39, 0x54, 0xf7, 0x49, 0x12, 0x9e, 0x8f, 0x9f, - 0xf9, 0x2c, 0x49, 0x93, 0x51, 0x65, 0x3f, 0x3a, 0xba, 0xf3, 0xd7, 0x55, 0x68, 0xf0, 0x6a, 0x0b, - 0x0a, 0xa0, 0x23, 0x1c, 0x2b, 0xad, 0x61, 0xad, 0xcd, 0xf3, 0xbd, 0xe9, 0xda, 0xdc, 0xe0, 0xf6, - 0xc2, 0xf8, 0xd2, 0x22, 0x80, 0xe9, 0x90, 0x0e, 0x57, 0x64, 0x7c, 0xd9, 0xc1, 0x6e, 0x2d, 0x88, - 0xcd, 0x87, 0xb2, 0xa1, 0xb9, 0x85, 0x63, 0x5a, 0xe8, 0xd3, 0x9b, 0x5d, 0xb6, 0x4c, 0xa8, 0x37, - 0xbb, 0xbc, 0xca, 0xa1, 0x0b, 0xdd, 0xf4, 0x6c, 0xe7, 0x44, 0x40, 0xa9, 0xda, 0xdd, 0x9c, 0x08, - 0x28, 0x5d, 0x7a, 0xe3, 0xa5, 0x01, 0xb1, 0x72, 0x37, 0x8a, 0xa5, 0x8c, 0xe6, 0x96, 0x06, 0x66, - 0x0a, 0x6e, 0xf7, 0xdf, 0xfd, 0xf6, 0xe6, 0xa1, 0x1b, 0x1f, 0x4d, 0x5f, 0xac, 0xd9, 0xc1, 0xf8, - 0x76, 0x1c, 0x5b, 0x2f, 0x6e, 0x0b, 0xca, 0x5b, 0xd6, 0xc4, 0xbd, 0x9d, 0x50, 0xbf, 0xa8, 0xd3, - 0xaf, 0xdd, 0x3f, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x97, 0x4c, 0x2c, 0x35, 0x3f, - 0x00, 0x00, + // 4313 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x3c, 0x4d, 0x6f, 0x1c, 0x47, + 0x76, 0x99, 0x0f, 0xce, 0xc7, 0x9b, 0xe1, 0x70, 0x58, 0xfa, 0x1a, 0x8d, 0x24, 0xaf, 0xdc, 0xb6, + 0x24, 0xda, 0xb2, 0x48, 0x5b, 0x8e, 0xbd, 0xb6, 0xe3, 0xb5, 0x45, 0x91, 0x04, 0xa5, 0x95, 0x44, + 0x49, 0x4d, 0x4a, 0x5a, 0x1b, 0xf0, 0x8e, 0x5b, 0x3d, 0x45, 0xb2, 0xc3, 0x9e, 0xee, 0x71, 0x77, + 0x8f, 0x24, 0xfa, 0x12, 0x20, 0x08, 0x82, 0x64, 0x03, 0x24, 0x97, 0x20, 0x40, 0x2e, 0xb9, 0xe6, + 0x92, 0x63, 0x10, 0xe4, 0x3f, 0x04, 0x08, 0x90, 0x7b, 0x6e, 0x39, 0xe4, 0x92, 0x53, 0x80, 0x5c, + 0x72, 0x49, 0x50, 0x9f, 0x5d, 0xfd, 0x51, 0x3d, 0x4d, 0x59, 0x3e, 0x71, 0xea, 0xd5, 0xab, 0x57, + 0xaf, 0x5e, 0xd5, 0xfb, 0xac, 0x6a, 0xc2, 0x20, 0xc0, 0x53, 0x3f, 0x74, 0x22, 0x3f, 0x38, 0x5e, + 0x0b, 0x71, 0xf0, 0xc2, 0xb1, 0xf1, 0xea, 0x34, 0xf0, 0x23, 0x1f, 0x9d, 0xc2, 0x2e, 0x9e, 0x1e, + 0x5a, 0x5e, 0xb4, 0x1a, 0xa3, 0x0c, 0xcf, 0x78, 0xf8, 0x65, 0x38, 0xf6, 0xed, 0x35, 0xfe, 0x97, + 0xe1, 0x1a, 0xbf, 0x86, 0xfe, 0x36, 0x8e, 0x76, 0x23, 0x2b, 0x9a, 0x85, 0x26, 0xfe, 0x61, 0x86, + 0xc3, 0x08, 0x21, 0xa8, 0xcf, 0x66, 0xce, 0x78, 0x50, 0xb9, 0x5c, 0x59, 0x69, 0x9b, 0xf4, 0x37, + 0x81, 0x79, 0xd6, 0x04, 0x0f, 0xaa, 0x0c, 0x46, 0x7e, 0xa3, 0x1e, 0x54, 0x9d, 0xf1, 0xa0, 0x76, + 0xb9, 0xb2, 0x52, 0x33, 0xab, 0xce, 0xd8, 0xb8, 0x03, 0xcb, 0x0a, 0xad, 0x70, 0xea, 0x7b, 0x21, + 0x46, 0x1f, 0x43, 0x23, 0xa4, 0x10, 0x4a, 0xae, 0x73, 0xf3, 0xc2, 0x6a, 0x0e, 0x77, 0xab, 0x7c, + 0x10, 0x47, 0x35, 0xbe, 0x81, 0x73, 0x92, 0xd2, 0x1d, 0x27, 0x24, 0x28, 0x27, 0x65, 0xee, 0x2c, + 0x34, 0x9e, 0xe3, 0x7d, 0x3f, 0xc0, 0x9c, 0x41, 0xde, 0x32, 0xcc, 0x3c, 0xd2, 0x8c, 0xd5, 0x5f, + 0x42, 0x8b, 0xcd, 0x8f, 0x09, 0xb3, 0xb5, 0x79, 0xcc, 0x4a, 0x64, 0xe3, 0x00, 0x06, 0x92, 0xe6, + 0xc3, 0x17, 0x64, 0x2f, 0xf0, 0x4b, 0xc1, 0xef, 0x69, 0x58, 0x20, 0x3c, 0x32, 0x8a, 0x6d, 0x93, + 0x35, 0xd0, 0x50, 0x99, 0xaa, 0x4a, 0x3b, 0x64, 0x1b, 0x9d, 0x87, 0xd6, 0x01, 0x8e, 0x46, 0x13, + 0x1c, 0x59, 0x94, 0xf7, 0x96, 0xd9, 0x3c, 0xc0, 0xd1, 0x03, 0x1c, 0x59, 0xc6, 0xb7, 0x70, 0x3e, + 0x67, 0x22, 0x2e, 0xe9, 0x5f, 0xc1, 0x82, 0x13, 0xe1, 0x89, 0xe0, 0xfd, 0x5a, 0x01, 0xef, 0x62, + 0xec, 0xdd, 0x08, 0x4f, 0x4c, 0x36, 0xca, 0xf8, 0xbf, 0x0a, 0xa0, 0x6c, 0x6f, 0xae, 0xbc, 0x07, + 0xd0, 0x7c, 0x81, 0x83, 0xd0, 0xf1, 0x3d, 0x2a, 0xf2, 0x9a, 0x29, 0x9a, 0x64, 0x5d, 0x13, 0x7f, + 0xec, 0xec, 0x3b, 0x98, 0x1d, 0x8c, 0xb6, 0x29, 0xdb, 0xe8, 0x0e, 0x2c, 0x1c, 0x62, 0x6b, 0x1c, + 0x0e, 0xea, 0x94, 0xbf, 0x9b, 0x25, 0xf9, 0x5b, 0xbd, 0x43, 0x06, 0x6d, 0x79, 0x51, 0x70, 0x6c, + 0x32, 0x02, 0xc3, 0x27, 0x00, 0x31, 0x10, 0xf5, 0xa1, 0x76, 0x84, 0x8f, 0x39, 0x83, 0xe4, 0x27, + 0xfa, 0x08, 0x16, 0x5e, 0x58, 0xee, 0x8c, 0x1d, 0x88, 0x39, 0xbb, 0xc8, 0x30, 0xbf, 0xa8, 0x7e, + 0x56, 0x31, 0xae, 0xc3, 0x99, 0x6d, 0x1c, 0x3d, 0xc2, 0xc1, 0xc4, 0x09, 0xc9, 0x6a, 0x8a, 0x14, + 0xc2, 0xf8, 0xe7, 0x0a, 0x9c, 0x4d, 0x63, 0xf3, 0x8d, 0xf8, 0x2d, 0x74, 0xa6, 0x31, 0x98, 0x6f, + 0xc7, 0x97, 0xb9, 0x4c, 0xe4, 0x53, 0x58, 0x55, 0x60, 0x6c, 0xe1, 0x2a, 0xc1, 0xe1, 0x57, 0xd0, + 0x4f, 0x23, 0xe4, 0x08, 0xe1, 0xb4, 0x2a, 0x84, 0xb6, 0xba, 0xce, 0x3f, 0xad, 0x00, 0xda, 0xc6, + 0xd1, 0xd6, 0x0b, 0xec, 0x45, 0xae, 0x7f, 0xa0, 0x9c, 0x54, 0x6b, 0x3f, 0xc2, 0x01, 0x25, 0x52, + 0x33, 0x59, 0x03, 0x9d, 0x83, 0xe6, 0x4b, 0xcb, 0x89, 0x46, 0x93, 0x90, 0x12, 0x5a, 0x30, 0x1b, + 0xa4, 0xf9, 0x20, 0x44, 0x97, 0x00, 0x9e, 0x5b, 0x91, 0x7d, 0x38, 0x0a, 0x9d, 0x1f, 0x99, 0x92, + 0x2d, 0x98, 0x6d, 0x0a, 0xd9, 0x75, 0x7e, 0xc4, 0xc8, 0x80, 0x45, 0xd6, 0x2d, 0x46, 0xd7, 0x29, + 0x46, 0x87, 0x02, 0x9f, 0x51, 0x12, 0xc6, 0x0e, 0x9c, 0x4a, 0xf0, 0x11, 0x0a, 0x3d, 0x4c, 0x1c, + 0xe4, 0xb7, 0x73, 0x25, 0x27, 0x46, 0xa9, 0x47, 0xf8, 0x2f, 0x2a, 0x70, 0x61, 0x1b, 0x47, 0x1b, + 0xfe, 0x64, 0x6a, 0xd9, 0x11, 0x1e, 0x97, 0x5b, 0x21, 0xd1, 0x50, 0x2f, 0x72, 0x5c, 0x6e, 0x28, + 0x58, 0x83, 0x40, 0x5d, 0x67, 0xe2, 0x44, 0x9c, 0x6f, 0xd6, 0x20, 0x56, 0xc5, 0xdf, 0xdf, 0x0f, + 0x71, 0x34, 0x58, 0x60, 0xc2, 0x60, 0x2d, 0x72, 0x42, 0xa2, 0xe3, 0x29, 0x1e, 0x34, 0xd8, 0x09, + 0x21, 0xbf, 0x8d, 0x67, 0x70, 0x31, 0x9f, 0x99, 0x9f, 0xba, 0xcc, 0xff, 0xad, 0x41, 0x57, 0x85, + 0x73, 0x43, 0x5c, 0x11, 0x86, 0x98, 0xf0, 0x8e, 0x49, 0xbf, 0xd8, 0x7a, 0xda, 0x90, 0xa7, 0xb8, + 0xa6, 0x68, 0xf2, 0x45, 0x68, 0x47, 0xce, 0x04, 0x87, 0x91, 0x35, 0x99, 0xd2, 0x95, 0xb6, 0xcd, + 0x18, 0xa0, 0xea, 0xf9, 0x42, 0x52, 0xcf, 0xcf, 0x4a, 0xab, 0xce, 0x56, 0xcc, 0x5b, 0xe8, 0x02, + 0xb4, 0xd9, 0xaf, 0x91, 0x33, 0x1e, 0x34, 0xe9, 0x18, 0x6e, 0xd8, 0xee, 0x8e, 0xd1, 0x1a, 0xd4, + 0x2c, 0xdb, 0x1d, 0xb4, 0xe8, 0x72, 0x2f, 0xe5, 0x2e, 0x77, 0x7d, 0xe3, 0x3e, 0x3b, 0xf0, 0x04, + 0x13, 0xfd, 0x02, 0x3a, 0xb3, 0xe9, 0xd8, 0x8a, 0x70, 0x30, 0x9a, 0x05, 0xce, 0xa0, 0x4d, 0xa7, + 0x02, 0x0e, 0x7a, 0x12, 0x38, 0x52, 0xec, 0x10, 0x8b, 0x9d, 0x98, 0x20, 0xd7, 0xf2, 0x0e, 0x66, + 0xd6, 0x01, 0x1e, 0x74, 0x98, 0x09, 0x12, 0x6d, 0xf4, 0x36, 0x74, 0x7d, 0x77, 0x3c, 0x92, 0xfd, + 0x5d, 0xda, 0xdf, 0xf1, 0xdd, 0xf1, 0x7d, 0x81, 0xf2, 0x0e, 0x2c, 0x4e, 0x2c, 0xc7, 0x1b, 0x8d, + 0x7d, 0x7b, 0x36, 0x21, 0x32, 0x5c, 0xa4, 0x38, 0x5d, 0x02, 0xdc, 0xe4, 0x30, 0x42, 0x27, 0x3c, + 0x0e, 0x23, 0x3c, 0x19, 0x91, 0xc5, 0xe1, 0x41, 0x8f, 0xd1, 0x61, 0x30, 0x62, 0x58, 0x30, 0xba, + 0x02, 0xbd, 0x97, 0x7e, 0x70, 0xb4, 0xef, 0xfa, 0x2f, 0x39, 0xd2, 0x12, 0x45, 0x5a, 0x14, 0x50, + 0x86, 0xb6, 0x06, 0xa7, 0x24, 0x9a, 0x7d, 0x88, 0xed, 0xa3, 0xa9, 0xef, 0x78, 0xd1, 0xa0, 0x4f, + 0x71, 0x91, 0xe8, 0xda, 0x90, 0x3d, 0xc6, 0x55, 0xe8, 0x9b, 0x33, 0x8f, 0xb8, 0xac, 0x20, 0x52, + 0xec, 0x13, 0xf5, 0x7f, 0x95, 0xd8, 0xff, 0x19, 0x0f, 0x60, 0x59, 0xc1, 0xe3, 0x47, 0xee, 0x2c, + 0x34, 0x22, 0xeb, 0xb9, 0x8b, 0x85, 0x37, 0xe2, 0x2d, 0x74, 0x19, 0x3a, 0xe1, 0x34, 0x20, 0x26, + 0xf5, 0x10, 0x63, 0x76, 0x6c, 0xba, 0xa6, 0x0a, 0x22, 0xbe, 0x7d, 0x0f, 0x87, 0x51, 0x72, 0xde, + 0x8f, 0xa1, 0x11, 0x50, 0x40, 0xa1, 0x6f, 0xe7, 0x63, 0x38, 0xaa, 0xb1, 0x03, 0x48, 0xa5, 0xf4, + 0x93, 0x39, 0x7b, 0x0f, 0x4e, 0x6d, 0x62, 0x17, 0x47, 0x78, 0xbe, 0x4c, 0xce, 0xc2, 0xe9, 0x24, + 0x2a, 0x9b, 0x9c, 0xc8, 0x74, 0x1b, 0x47, 0xf3, 0xc7, 0xff, 0x79, 0x85, 0x46, 0x38, 0x29, 0xd6, + 0x5f, 0x47, 0x0a, 0x44, 0xb5, 0xb0, 0x47, 0x96, 0x38, 0xa6, 0x6b, 0x6a, 0x99, 0xa2, 0x49, 0x0e, + 0x8e, 0x87, 0x5f, 0x45, 0x23, 0xfc, 0x0a, 0xdb, 0xb3, 0x88, 0xe8, 0x1e, 0x53, 0xd8, 0x45, 0x02, + 0xdd, 0x12, 0x40, 0x63, 0x0c, 0xa7, 0x9e, 0x50, 0x45, 0xf8, 0xe9, 0x5b, 0xa2, 0x67, 0xc6, 0x38, + 0x0d, 0xe8, 0xbe, 0x23, 0x36, 0x4b, 0xf8, 0x43, 0x63, 0x0f, 0x4e, 0x25, 0xa0, 0x32, 0x00, 0x69, + 0x32, 0x82, 0xc2, 0xa4, 0xbd, 0x53, 0x30, 0x39, 0x21, 0x40, 0x8d, 0x9a, 0x18, 0x63, 0xfc, 0x59, + 0x05, 0x7a, 0xc9, 0xbe, 0xbc, 0x4d, 0x20, 0xc6, 0x2d, 0x72, 0x22, 0x57, 0xfa, 0x35, 0xda, 0x40, + 0xd7, 0x60, 0xc9, 0x0e, 0x7c, 0x6f, 0x84, 0x5f, 0x4d, 0x03, 0x4c, 0x1d, 0x23, 0x17, 0x5b, 0x8f, + 0x80, 0xb7, 0x24, 0x94, 0xe8, 0x37, 0x45, 0x24, 0x56, 0xee, 0x47, 0xdf, 0xc3, 0xdc, 0xea, 0x75, + 0x09, 0x70, 0x8f, 0xc3, 0x8c, 0xdf, 0x55, 0xa1, 0xc1, 0x58, 0x39, 0x01, 0x0b, 0x57, 0xa0, 0x77, + 0x80, 0x3d, 0x1c, 0x58, 0x11, 0x1e, 0xb1, 0xd3, 0xca, 0xa2, 0xb7, 0x45, 0x01, 0xdd, 0x25, 0xc0, + 0x3c, 0x4e, 0xeb, 0xe5, 0x38, 0x6d, 0x66, 0x39, 0x25, 0x93, 0x86, 0xae, 0x65, 0x1f, 0x8d, 0xec, + 0x43, 0xcb, 0xf3, 0xb0, 0x1b, 0x0e, 0x16, 0xa8, 0xfe, 0x2c, 0x52, 0xe8, 0x06, 0x07, 0xa2, 0x2f, + 0xa0, 0xf9, 0xc3, 0x0c, 0x07, 0x0e, 0x26, 0x06, 0x9b, 0x6c, 0xcd, 0xe5, 0x82, 0xad, 0x79, 0x3c, + 0xc3, 0xc1, 0xb1, 0x29, 0x06, 0x18, 0x7f, 0x57, 0x81, 0x8e, 0xd2, 0x91, 0x2b, 0x91, 0x8b, 0xd0, + 0x0e, 0x67, 0x93, 0x89, 0x15, 0x38, 0x21, 0xa6, 0x01, 0xed, 0x82, 0x19, 0x03, 0x48, 0x70, 0x12, + 0xfe, 0xe0, 0xf2, 0x0d, 0x21, 0x3f, 0xd1, 0x3d, 0xe8, 0xd3, 0x78, 0x64, 0x34, 0x0d, 0x7c, 0x9b, + 0xac, 0xd7, 0x3b, 0xe0, 0x61, 0x61, 0x11, 0x63, 0x4f, 0xc9, 0x10, 0x73, 0x89, 0x8e, 0x7c, 0x24, + 0x07, 0x1a, 0x5b, 0x82, 0x3f, 0xda, 0x4f, 0x4c, 0x89, 0xed, 0xbb, 0xb3, 0x89, 0xc7, 0x39, 0xe4, + 0x2d, 0xf4, 0x16, 0x00, 0x9f, 0xcd, 0x0f, 0x44, 0xd4, 0xad, 0x40, 0x8c, 0x5f, 0xc1, 0xe9, 0xa4, + 0x46, 0xf1, 0x63, 0x9d, 0x55, 0xc8, 0x4a, 0x9e, 0x42, 0x9e, 0xa3, 0xd1, 0x23, 0x8f, 0x2a, 0x67, + 0x2e, 0x96, 0xda, 0xf2, 0x90, 0x06, 0x8a, 0x89, 0x0e, 0x4e, 0xf9, 0x13, 0x58, 0x08, 0x66, 0xae, + 0xcc, 0x36, 0x7e, 0x51, 0x14, 0xa7, 0xce, 0x5c, 0x6c, 0x32, 0x6c, 0xa2, 0x94, 0x92, 0x60, 0x3c, + 0xcd, 0x11, 0xa0, 0x5d, 0x1c, 0x3d, 0xe3, 0x1e, 0x43, 0x31, 0x63, 0xd4, 0x43, 0x56, 0x14, 0x0f, + 0xb9, 0x0e, 0x2d, 0xe1, 0x58, 0x78, 0x84, 0x7c, 0x25, 0x77, 0x66, 0xe1, 0xee, 0x24, 0x4d, 0x39, + 0xcc, 0xf8, 0x9b, 0x0a, 0xf4, 0xd3, 0xdd, 0xcc, 0xf9, 0xe3, 0xe9, 0xe8, 0x47, 0x1c, 0xf8, 0x7c, + 0xc2, 0x16, 0x01, 0x7c, 0x8b, 0x03, 0x9f, 0x48, 0x5f, 0xf1, 0x6f, 0x4c, 0x71, 0x14, 0x08, 0x71, + 0x84, 0x1e, 0x3e, 0xb0, 0x22, 0xe7, 0x05, 0x56, 0x1d, 0x21, 0x3b, 0x33, 0x48, 0x74, 0xc5, 0x8e, + 0x90, 0x28, 0x21, 0x21, 0xce, 0xd2, 0x89, 0xb6, 0xc9, 0x1a, 0xc6, 0x19, 0x38, 0x95, 0x90, 0x02, + 0xb7, 0xf0, 0x2b, 0x54, 0x64, 0x25, 0x84, 0x63, 0xfc, 0x86, 0xc6, 0xa4, 0x69, 0x02, 0x09, 0x99, + 0x55, 0x5e, 0x4f, 0x66, 0xd7, 0xe1, 0x0c, 0xf3, 0x3e, 0x65, 0xd8, 0x18, 0xc0, 0xd9, 0x34, 0x32, + 0x5f, 0xca, 0x67, 0xd0, 0x7b, 0xa6, 0x84, 0x10, 0xb3, 0x30, 0x77, 0x8f, 0x73, 0x52, 0x62, 0xe3, + 0x29, 0x5d, 0x5a, 0x7c, 0x6e, 0xf8, 0xd2, 0xbe, 0xce, 0xa4, 0xbd, 0xf9, 0x76, 0x3b, 0x39, 0xab, + 0x92, 0xfe, 0x7e, 0x23, 0x5c, 0x51, 0xa6, 0x8c, 0x50, 0x86, 0x2d, 0x12, 0xb0, 0x8d, 0x9d, 0x90, + 0xb9, 0x1f, 0x66, 0x31, 0x65, 0x9b, 0x78, 0xec, 0x24, 0x69, 0x2e, 0x84, 0x1d, 0x38, 0xb7, 0x11, + 0xe0, 0x18, 0x4e, 0xb4, 0x43, 0x7a, 0xc0, 0x3a, 0x51, 0x13, 0xbe, 0x4b, 0x73, 0x75, 0x8a, 0x22, + 0x1b, 0xff, 0x54, 0x01, 0x88, 0x81, 0xa5, 0x59, 0xbf, 0x0c, 0x9d, 0x31, 0x0e, 0xed, 0xc0, 0x99, + 0x2a, 0x8e, 0x5a, 0x05, 0x91, 0x10, 0xd6, 0xb2, 0x89, 0x85, 0x19, 0x51, 0xa6, 0xea, 0x74, 0x7d, + 0xc0, 0x40, 0x74, 0xaa, 0x4b, 0x00, 0xd6, 0x74, 0xea, 0x3a, 0x38, 0x1c, 0x45, 0x3e, 0x37, 0xde, + 0x6d, 0x0e, 0xd9, 0xa3, 0x6a, 0xa3, 0x38, 0x0a, 0xe6, 0x01, 0x14, 0x88, 0x31, 0x84, 0x41, 0x56, + 0x10, 0x5c, 0x48, 0xeb, 0x70, 0x8e, 0x9d, 0xa1, 0xac, 0x90, 0xca, 0x1e, 0x99, 0x21, 0x0c, 0xb2, + 0x24, 0x38, 0xf9, 0x7f, 0x64, 0x69, 0xa4, 0x38, 0xf1, 0x45, 0x05, 0x1a, 0x7d, 0xc1, 0x20, 0x4e, + 0x24, 0x6a, 0x89, 0x44, 0x02, 0x41, 0xdd, 0xf5, 0xed, 0x23, 0x2e, 0x30, 0xfa, 0x1b, 0x6d, 0xc2, + 0xe2, 0x04, 0x47, 0x56, 0x1c, 0x9a, 0x93, 0xa4, 0xa4, 0xa7, 0xd9, 0xe2, 0x6d, 0x56, 0x32, 0xd9, + 0xf4, 0x6d, 0xb3, 0x3b, 0x61, 0x3f, 0xe8, 0x20, 0xe3, 0x6f, 0xab, 0x54, 0x0d, 0x62, 0xb6, 0xb9, + 0x1a, 0xdc, 0x80, 0x96, 0x24, 0xcc, 0xce, 0xce, 0xf2, 0xaa, 0xa8, 0x95, 0x49, 0x64, 0x89, 0x52, + 0xb0, 0xa4, 0x8f, 0x13, 0x4b, 0x2a, 0x57, 0xf1, 0x42, 0x9f, 0x40, 0x9d, 0x16, 0x7c, 0xea, 0x74, + 0x48, 0x7e, 0x2e, 0xf8, 0x40, 0x59, 0x86, 0x49, 0xd1, 0xd1, 0x0a, 0xf4, 0x9d, 0x70, 0x94, 0x95, + 0x4a, 0xcb, 0xec, 0x39, 0xa1, 0x8a, 0x9f, 0xcd, 0x6b, 0x1a, 0xd9, 0xbc, 0xc6, 0x78, 0x02, 0xbd, + 0xdb, 0x33, 0xf7, 0x88, 0xc6, 0xb8, 0x6c, 0x37, 0x37, 0xa0, 0x2d, 0x46, 0x08, 0xeb, 0x90, 0x6f, + 0xf8, 0xe4, 0xb8, 0x7d, 0x1c, 0x60, 0xcf, 0xc6, 0x66, 0x3c, 0xce, 0xb8, 0x05, 0xfd, 0x74, 0xf7, + 0xc9, 0x8e, 0x89, 0x71, 0x17, 0x96, 0x24, 0x05, 0xbe, 0x5f, 0x9f, 0x26, 0xd3, 0xe7, 0xcb, 0x45, + 0x5c, 0xa9, 0xd9, 0xf3, 0x53, 0xe8, 0x28, 0xd0, 0x37, 0xb6, 0xed, 0xc6, 0x33, 0xe8, 0x26, 0x04, + 0xfe, 0xc6, 0x08, 0x7f, 0x4d, 0x93, 0x8e, 0x12, 0x65, 0xd0, 0xb8, 0xe4, 0x59, 0x4d, 0x94, 0x3c, + 0x9f, 0x52, 0x3d, 0x95, 0x04, 0xb8, 0xfc, 0x6e, 0x41, 0x8b, 0xcf, 0x20, 0x44, 0xf8, 0x6e, 0xa1, + 0x47, 0x7b, 0xca, 0x90, 0x4d, 0x39, 0xca, 0xf8, 0xf7, 0x0a, 0x2c, 0xa5, 0x7a, 0xd5, 0x65, 0x54, + 0x92, 0x6a, 0x31, 0x80, 0xa6, 0x4d, 0x2d, 0xd5, 0x98, 0x5b, 0x18, 0xd1, 0x94, 0x3d, 0x7e, 0xc0, + 0x8d, 0x80, 0x68, 0xa2, 0xdb, 0x52, 0x2b, 0x08, 0x7f, 0xab, 0x65, 0xf8, 0xa3, 0x5a, 0xc2, 0x6a, + 0x08, 0x74, 0xec, 0xf0, 0x97, 0xd0, 0x96, 0xa0, 0x13, 0x95, 0xc9, 0xfe, 0xa7, 0x06, 0x8b, 0x22, + 0x20, 0xd4, 0x0b, 0x5d, 0xdd, 0xe6, 0xea, 0xfc, 0x6d, 0xbe, 0xc5, 0x57, 0x54, 0xa3, 0x2b, 0xfa, + 0x20, 0x77, 0x45, 0x89, 0x49, 0xd3, 0xeb, 0x41, 0xe7, 0xa1, 0xe5, 0xec, 0x8f, 0x26, 0x56, 0x64, + 0x1f, 0x52, 0x6b, 0x51, 0x33, 0x9b, 0xce, 0xfe, 0x03, 0xd2, 0x44, 0x9f, 0x4b, 0xcb, 0xb3, 0x50, + 0x50, 0x52, 0x62, 0x96, 0x87, 0x4f, 0x22, 0xec, 0x0f, 0xaf, 0xcd, 0x34, 0x4a, 0xd7, 0x66, 0x1e, + 0x42, 0xdf, 0x99, 0x90, 0x38, 0x79, 0x34, 0x76, 0x02, 0x6c, 0x93, 0xe0, 0x8c, 0xba, 0x27, 0xdd, + 0x31, 0xba, 0x4b, 0x91, 0x37, 0x05, 0xae, 0xb9, 0xe4, 0x24, 0x01, 0x24, 0x85, 0x20, 0x56, 0x7e, + 0xcf, 0x3f, 0xc2, 0xde, 0xa0, 0xc5, 0x4a, 0x51, 0x12, 0x80, 0x3e, 0x84, 0xd3, 0xac, 0xee, 0x93, + 0x32, 0x76, 0x6d, 0x6a, 0xec, 0x10, 0xeb, 0x53, 0xf5, 0xef, 0xf5, 0xf7, 0xfd, 0x08, 0x96, 0x52, + 0xcc, 0xa2, 0x1b, 0x80, 0xfc, 0xc0, 0x39, 0x70, 0x3c, 0xcb, 0x75, 0x8f, 0x47, 0xe2, 0x18, 0x33, + 0x6a, 0xcb, 0x71, 0xcf, 0x06, 0x3f, 0xd0, 0xef, 0x41, 0x5f, 0x00, 0x47, 0xe2, 0x64, 0xb3, 0x69, + 0x96, 0x04, 0x7c, 0x83, 0x81, 0x8d, 0xaf, 0xa0, 0x27, 0xb6, 0x9b, 0xeb, 0xa5, 0x5e, 0x83, 0xc4, + 0xf1, 0xab, 0x2a, 0x65, 0xe8, 0xc7, 0xb0, 0x4c, 0xac, 0x59, 0xf2, 0x9c, 0x7e, 0x09, 0x4d, 0x26, + 0x10, 0xa1, 0xd9, 0xc6, 0xfc, 0x73, 0x66, 0x8a, 0x21, 0xc6, 0x2e, 0x20, 0x95, 0x64, 0x9c, 0xdc, + 0x27, 0x69, 0xbe, 0x53, 0x48, 0x93, 0x8d, 0x8a, 0x89, 0xde, 0x82, 0xa5, 0xa7, 0x96, 0xeb, 0xa8, + 0x5c, 0x9e, 0xcc, 0x40, 0x1a, 0x8f, 0xa1, 0x1f, 0x53, 0x90, 0x4c, 0x35, 0x70, 0x10, 0x90, 0x74, + 0xae, 0xc8, 0x35, 0xf1, 0x61, 0xc4, 0x78, 0xe1, 0x70, 0xe6, 0x46, 0x26, 0x1f, 0x64, 0x7c, 0x2f, + 0x49, 0xca, 0x3e, 0xf4, 0x29, 0x34, 0xb0, 0x17, 0x39, 0xd1, 0x31, 0x27, 0xf9, 0x56, 0x7e, 0x59, + 0x96, 0xa2, 0x98, 0x78, 0xdf, 0xe4, 0xd8, 0xb4, 0xe6, 0x4a, 0xa8, 0xca, 0x9a, 0x2b, 0x69, 0x18, + 0xbf, 0xab, 0x40, 0x5b, 0xe2, 0x12, 0xd5, 0x0d, 0xf0, 0xfe, 0x48, 0x89, 0xbc, 0x9a, 0x01, 0xde, + 0xdf, 0xe3, 0xc1, 0xd7, 0x91, 0xe3, 0xc9, 0xbd, 0x25, 0xbf, 0x09, 0x49, 0xc7, 0x1b, 0xe3, 0x57, + 0xa2, 0x30, 0x4d, 0x1b, 0x32, 0x4c, 0xab, 0x2b, 0x71, 0xa8, 0x08, 0xe7, 0x16, 0x94, 0x70, 0xae, + 0x0f, 0xb5, 0x00, 0xbb, 0xdc, 0xcd, 0x93, 0x9f, 0xc6, 0xbf, 0x55, 0xa0, 0xab, 0x2a, 0x7f, 0x6e, + 0x26, 0xaf, 0x8f, 0x6b, 0xbe, 0x4e, 0x98, 0xae, 0xeb, 0x73, 0x6d, 0xcb, 0x09, 0x2c, 0xd7, 0xeb, + 0x2b, 0xab, 0x05, 0x03, 0x36, 0x5b, 0xb9, 0x6b, 0x1b, 0xf4, 0x11, 0xd4, 0x5d, 0x27, 0x8c, 0x68, + 0xfa, 0x3f, 0xd7, 0xd0, 0x51, 0x54, 0xe3, 0x02, 0x9c, 0xcf, 0x99, 0x82, 0x07, 0xc1, 0xff, 0x59, + 0x11, 0x59, 0x5d, 0x99, 0x38, 0xf8, 0x0e, 0x17, 0x21, 0x9b, 0xfd, 0xf7, 0xf3, 0xfd, 0x59, 0x1e, + 0xb5, 0x42, 0x59, 0xd6, 0x92, 0x5e, 0xa0, 0xd0, 0x90, 0xbe, 0xbe, 0xa4, 0x65, 0x46, 0x9a, 0x8e, + 0x9c, 0x8d, 0x3f, 0x82, 0x9e, 0x89, 0x49, 0x70, 0x51, 0xe8, 0x28, 0x57, 0xa0, 0x3f, 0xa6, 0xe3, + 0x47, 0x01, 0xb6, 0xfd, 0x60, 0x3c, 0xe2, 0x96, 0xac, 0x66, 0xf6, 0xc6, 0xbc, 0x28, 0x4b, 0xc0, + 0xf1, 0x3d, 0x41, 0xad, 0xac, 0x2f, 0x32, 0x96, 0x61, 0x49, 0x32, 0xc0, 0x79, 0xba, 0x0f, 0xdd, + 0x47, 0xb3, 0xe0, 0xe0, 0xcd, 0x70, 0x64, 0x2c, 0xc1, 0x22, 0xa7, 0xc6, 0xc9, 0xff, 0x71, 0x85, + 0x15, 0x46, 0x99, 0x44, 0xc6, 0x45, 0xb3, 0x5c, 0x80, 0x36, 0x8b, 0xc3, 0x62, 0xf2, 0x2d, 0x06, + 0xb8, 0x3b, 0x26, 0xe9, 0x21, 0xef, 0x24, 0x07, 0x8c, 0x87, 0x3f, 0xc0, 0x40, 0x9b, 0x44, 0x45, + 0x87, 0xd0, 0x4a, 0x55, 0x2a, 0x65, 0xdb, 0x30, 0x59, 0x19, 0x56, 0xf2, 0xc0, 0x8d, 0xe2, 0x1f, + 0x40, 0x93, 0xb1, 0x5f, 0x7c, 0xb3, 0xb4, 0xa9, 0x2c, 0xd1, 0x14, 0x23, 0x8c, 0xff, 0xae, 0x42, + 0x57, 0xed, 0xc9, 0xdc, 0x2d, 0xe5, 0x38, 0x21, 0x72, 0x8c, 0x66, 0x81, 0x23, 0xea, 0x7b, 0x33, + 0xe5, 0x62, 0xa6, 0xae, 0x18, 0x24, 0xfd, 0x6d, 0x92, 0x12, 0x1a, 0x36, 0xb4, 0xa1, 0x61, 0x33, + 0x19, 0x1a, 0x0a, 0x6b, 0xd4, 0x2a, 0xb0, 0x46, 0xea, 0x42, 0x32, 0x1a, 0xa4, 0xde, 0x13, 0xb5, + 0x53, 0xf7, 0x44, 0x17, 0xa1, 0xbd, 0x4f, 0xbc, 0xb4, 0x13, 0xe2, 0x31, 0xbf, 0x5c, 0x8a, 0x01, + 0x24, 0xce, 0x9e, 0x92, 0xd3, 0x30, 0xe6, 0xf7, 0x4b, 0xbc, 0xf5, 0xfa, 0xaa, 0xf5, 0x2e, 0xf4, + 0x78, 0xba, 0x5a, 0x74, 0xe3, 0x7c, 0x07, 0x96, 0x24, 0x96, 0x2c, 0x20, 0x32, 0x21, 0x54, 0x0a, + 0xb2, 0x46, 0xa1, 0xae, 0x74, 0x20, 0x45, 0x37, 0xfe, 0xaa, 0x0e, 0x5d, 0x15, 0xac, 0x6e, 0x40, + 0x25, 0xb9, 0x01, 0xea, 0x85, 0x7e, 0x35, 0x75, 0xa1, 0x7f, 0x0d, 0x96, 0xec, 0x59, 0x10, 0x60, + 0x2f, 0x1a, 0x89, 0x8d, 0x65, 0xa6, 0xa8, 0xc7, 0xc1, 0x22, 0x29, 0xb8, 0x9d, 0xbc, 0xf9, 0xff, + 0x60, 0x2e, 0x9f, 0xd9, 0x3b, 0x7f, 0x61, 0x14, 0x16, 0x4a, 0x07, 0xa8, 0x37, 0x78, 0x05, 0xa1, + 0x41, 0x65, 0x73, 0x3e, 0x77, 0xc4, 0x7d, 0xdf, 0x3e, 0xe2, 0xc5, 0x85, 0xbc, 0x4c, 0xba, 0x59, + 0x2e, 0x93, 0x6e, 0xe5, 0xdc, 0x10, 0x66, 0xaf, 0xff, 0xda, 0x27, 0xb8, 0xfe, 0x03, 0xdd, 0xf5, + 0xdf, 0xcf, 0xf5, 0xf4, 0xe1, 0x4f, 0xaa, 0xd0, 0xe0, 0xd5, 0xc4, 0xb4, 0xc2, 0xeb, 0x03, 0x02, + 0x7d, 0xde, 0xa6, 0x9c, 0xa7, 0x7a, 0xf2, 0x3c, 0x7d, 0xce, 0x4f, 0xec, 0x42, 0x41, 0xbc, 0xc6, + 0x18, 0xc9, 0x28, 0xec, 0x0a, 0xf4, 0xc5, 0xf6, 0xc8, 0xf3, 0xd6, 0x60, 0xe7, 0x8d, 0x17, 0x78, + 0xf8, 0x79, 0x7b, 0x7d, 0x45, 0xfc, 0x0a, 0x5a, 0xe2, 0x10, 0x09, 0xa3, 0x56, 0x89, 0x8d, 0xda, + 0xe5, 0xe4, 0xbb, 0x0e, 0x76, 0x83, 0xa0, 0x82, 0x8c, 0xbf, 0xac, 0x40, 0x9d, 0x9c, 0x29, 0x7a, + 0x43, 0x44, 0xfd, 0x6f, 0x85, 0xdf, 0x10, 0xd1, 0x24, 0x86, 0x93, 0xac, 0xc6, 0x24, 0x15, 0x41, + 0xd5, 0x32, 0x96, 0x0f, 0xbf, 0x9a, 0x3a, 0x01, 0x0e, 0x85, 0x08, 0x79, 0x93, 0x50, 0xb1, 0xa6, + 0x53, 0x1e, 0xeb, 0x91, 0x9f, 0x94, 0x8a, 0x3f, 0x51, 0xaa, 0x3a, 0xa2, 0x69, 0xdc, 0x83, 0x73, + 0x26, 0x3e, 0x70, 0xc2, 0x08, 0x07, 0x44, 0x22, 0x24, 0xd4, 0x2c, 0x2a, 0x01, 0x5e, 0x84, 0x36, + 0x7e, 0x65, 0xbb, 0xb3, 0x90, 0x64, 0x73, 0xec, 0x2a, 0x30, 0x06, 0x18, 0x43, 0x18, 0x64, 0x89, + 0x71, 0x87, 0xf8, 0x14, 0x86, 0xe9, 0xbe, 0x27, 0xa1, 0x9c, 0xeb, 0x02, 0xb4, 0xa9, 0xca, 0x28, + 0x13, 0xb6, 0x08, 0x80, 0x86, 0xbe, 0xa4, 0x93, 0xec, 0x2b, 0xed, 0x14, 0x36, 0x86, 0xd3, 0x30, + 0x2e, 0xc1, 0x85, 0x5c, 0xba, 0x7c, 0xda, 0x7f, 0xa8, 0xc0, 0x19, 0xd1, 0xbf, 0x6b, 0x1f, 0xe2, + 0x89, 0xa5, 0x5c, 0x84, 0x86, 0x14, 0x50, 0xfc, 0xee, 0x8c, 0x8d, 0xe1, 0xa8, 0xc4, 0xda, 0x59, + 0x24, 0xe3, 0x23, 0xfa, 0xca, 0x96, 0x2f, 0xdb, 0xe8, 0x12, 0x00, 0xc3, 0x1a, 0xcd, 0x02, 0x71, + 0x97, 0xd5, 0x66, 0x90, 0x27, 0x81, 0x4b, 0xac, 0x02, 0xef, 0x0e, 0x0f, 0xad, 0x9b, 0x9f, 0x7c, + 0x2a, 0xee, 0x15, 0x19, 0x70, 0x97, 0xc2, 0x48, 0x0c, 0x95, 0xe6, 0x96, 0x2f, 0x64, 0x1f, 0xce, + 0xee, 0xe2, 0x68, 0x9d, 0xa6, 0x9b, 0xc9, 0x85, 0x94, 0x08, 0xd2, 0xdb, 0xb1, 0x4e, 0xbe, 0x05, + 0x30, 0xc6, 0x72, 0x0d, 0xac, 0x9c, 0xae, 0x40, 0x8c, 0xf3, 0x70, 0x2e, 0x33, 0x0f, 0x67, 0xe1, + 0x16, 0x7b, 0x0a, 0xf8, 0xfa, 0x93, 0x1b, 0xeb, 0xec, 0x01, 0x60, 0x82, 0x6c, 0x3a, 0x9f, 0x6d, + 0x27, 0xf2, 0xd9, 0x70, 0x8a, 0x6d, 0x7e, 0xa9, 0x4f, 0x7f, 0x1b, 0xff, 0x52, 0x81, 0xe1, 0x36, + 0x8e, 0xd6, 0x5d, 0x57, 0xe5, 0x51, 0x86, 0xf4, 0x6f, 0x43, 0x97, 0xbe, 0x27, 0x0a, 0xb1, 0xed, + 0x7b, 0xe3, 0x90, 0x9b, 0xa9, 0x0e, 0x81, 0xed, 0x32, 0x10, 0x7a, 0x04, 0x0b, 0x47, 0x9e, 0xff, + 0xd2, 0xe3, 0x41, 0xf6, 0x17, 0xba, 0xea, 0xb0, 0x66, 0x8a, 0xd5, 0x7b, 0x64, 0x30, 0x77, 0x3d, + 0x94, 0xd0, 0xf0, 0x33, 0x80, 0x18, 0x78, 0x22, 0x7b, 0xb2, 0x47, 0xdf, 0x23, 0x65, 0x67, 0x92, + 0xee, 0xbb, 0xc9, 0x8e, 0xc7, 0x9c, 0xf7, 0x86, 0x4c, 0xa0, 0x02, 0xd7, 0xf8, 0x35, 0x34, 0x18, + 0xe8, 0x84, 0x67, 0x43, 0xc8, 0x9b, 0x3f, 0x00, 0xa2, 0xf2, 0x1e, 0xd0, 0xcb, 0xc9, 0x4d, 0x3c, + 0x0d, 0xb0, 0x4d, 0xd3, 0x60, 0x79, 0x9f, 0xf8, 0x35, 0x74, 0x14, 0x30, 0x7d, 0x0f, 0x65, 0x3d, + 0xc7, 0xae, 0xb0, 0x68, 0xb4, 0x41, 0x14, 0x06, 0x7b, 0xfb, 0x7e, 0x60, 0xcb, 0xa7, 0x03, 0xb2, + 0x6d, 0x8c, 0xe8, 0x4b, 0xcb, 0x24, 0x69, 0xbe, 0xf0, 0x4d, 0xe8, 0x8e, 0x15, 0x78, 0x61, 0x09, + 0x57, 0x21, 0x60, 0x26, 0x46, 0x19, 0xbf, 0x15, 0xb9, 0x9f, 0x8a, 0xc2, 0x0f, 0xca, 0x6d, 0xe8, + 0x28, 0xb8, 0xdc, 0x06, 0xcc, 0x9f, 0x40, 0x1d, 0x14, 0x27, 0x7e, 0x09, 0xfa, 0x5c, 0x5b, 0x8e, + 0xe1, 0xbc, 0x62, 0x98, 0x02, 0xc7, 0xbe, 0xe7, 0x78, 0xe3, 0x22, 0xb5, 0xb9, 0x03, 0x1d, 0xeb, + 0xe0, 0x20, 0xa0, 0x17, 0x99, 0x7c, 0x6f, 0x7a, 0x37, 0xaf, 0xea, 0x0a, 0xfd, 0x81, 0x63, 0xaf, + 0xc7, 0xd8, 0xa6, 0x3a, 0xd4, 0xb8, 0x98, 0xb0, 0xb5, 0x72, 0x6a, 0xce, 0xd8, 0x0d, 0x71, 0xeb, + 0x53, 0x8a, 0xad, 0xf8, 0x86, 0x27, 0x87, 0x14, 0xbb, 0xd2, 0x8e, 0x3b, 0x52, 0x57, 0xda, 0x89, + 0x8e, 0xf8, 0x4a, 0xfb, 0xc8, 0xf1, 0xc6, 0xc5, 0x57, 0xda, 0xca, 0x54, 0x0c, 0xdb, 0xf8, 0x43, + 0x80, 0x18, 0xf8, 0x33, 0x8b, 0xef, 0x28, 0x76, 0x19, 0x0c, 0x73, 0xce, 0xd3, 0xe2, 0xbc, 0xba, + 0x0c, 0x53, 0x85, 0x9a, 0xaa, 0x0a, 0xd2, 0x0a, 0xb0, 0xe4, 0x86, 0x35, 0x54, 0x8b, 0x2f, 0x26, + 0xe3, 0xc2, 0x7d, 0x4c, 0x8d, 0x25, 0x03, 0x86, 0x6f, 0x84, 0x05, 0xe3, 0x1e, 0x2d, 0xf4, 0x4b, + 0x92, 0xb1, 0x95, 0x99, 0x30, 0x10, 0x37, 0x89, 0x17, 0x0a, 0xa4, 0x66, 0x0a, 0x5c, 0xe3, 0x0e, + 0x34, 0x18, 0x48, 0x32, 0x50, 0xc9, 0x63, 0xa0, 0x9a, 0x2b, 0x83, 0x9a, 0x2a, 0x83, 0x11, 0x74, + 0x68, 0xa0, 0x5d, 0xb0, 0xc6, 0x3e, 0xd4, 0xa2, 0xc8, 0xe5, 0x2f, 0x4c, 0xc9, 0x4f, 0x11, 0xe5, + 0xd4, 0x72, 0xa3, 0x9c, 0x7a, 0x32, 0xca, 0xf9, 0x0a, 0xba, 0x6c, 0x02, 0xbe, 0xe2, 0xfc, 0xe8, + 0x4b, 0x89, 0xa8, 0xaa, 0x89, 0x88, 0xca, 0x78, 0x08, 0xcb, 0x5b, 0xaf, 0x22, 0xec, 0x8d, 0x4f, + 0xce, 0xa6, 0x9c, 0xaa, 0xa6, 0x4c, 0x65, 0x7c, 0x0e, 0x8b, 0x4f, 0x3c, 0x77, 0x0e, 0x31, 0x39, + 0xb4, 0xaa, 0x0e, 0xed, 0x43, 0x4f, 0x0c, 0x65, 0xab, 0x79, 0xff, 0x4b, 0x80, 0xf8, 0x32, 0x13, + 0x2d, 0x42, 0xfb, 0xc1, 0xd6, 0xde, 0xfa, 0x68, 0xe7, 0xe1, 0xce, 0x56, 0xff, 0xf7, 0x50, 0x1f, + 0xba, 0xb4, 0x79, 0x77, 0x67, 0xe3, 0xfe, 0x93, 0xcd, 0xad, 0x7e, 0x45, 0x22, 0x3c, 0xdc, 0xb9, + 0xff, 0x4d, 0xbf, 0xfa, 0xfe, 0xe7, 0xb0, 0x9c, 0xd1, 0x07, 0xd4, 0x82, 0x3a, 0x1f, 0xdf, 0x81, + 0xa6, 0xb9, 0xf5, 0xe8, 0xfe, 0xfa, 0x06, 0x1f, 0x7a, 0x77, 0x67, 0xc3, 0xdc, 0x7a, 0xb0, 0xb5, + 0xb3, 0xd7, 0xaf, 0xde, 0xfc, 0x8f, 0x1e, 0xb4, 0x45, 0x42, 0x13, 0xa2, 0xdf, 0x40, 0x6d, 0x1b, + 0x47, 0xe8, 0x9a, 0xce, 0x9f, 0xa6, 0x2a, 0x56, 0xc3, 0x95, 0xf9, 0x88, 0x7c, 0xbb, 0xf6, 0xa0, + 0xc9, 0x6f, 0xe4, 0xd0, 0x3b, 0xc5, 0x77, 0x8b, 0x8c, 0xf2, 0xbb, 0xc5, 0x48, 0x9c, 0xea, 0x77, + 0x54, 0x6c, 0xfc, 0xd6, 0x0b, 0x5d, 0xd5, 0x71, 0x93, 0xbc, 0x57, 0x1b, 0x5e, 0x9b, 0x8b, 0xc7, + 0xc9, 0x3f, 0x86, 0x06, 0xaf, 0xa2, 0x96, 0x28, 0xae, 0x0f, 0xcb, 0x14, 0xcb, 0x09, 0xc7, 0x71, + 0xe1, 0x5d, 0xc3, 0x71, 0xa6, 0xd8, 0xaf, 0xe1, 0x38, 0xa7, 0x82, 0xff, 0x0c, 0x5a, 0xa2, 0x80, + 0x8e, 0xde, 0x2d, 0x2a, 0x94, 0x4b, 0xd2, 0x57, 0xe6, 0x60, 0x71, 0xc2, 0x16, 0x34, 0x98, 0x0b, + 0x41, 0xef, 0x97, 0xaf, 0x68, 0x0e, 0xaf, 0x97, 0xc2, 0xe5, 0x53, 0x7c, 0x0f, 0x1d, 0xa5, 0xd4, + 0xa5, 0x39, 0x84, 0xd9, 0x82, 0x9c, 0xe6, 0x10, 0xe6, 0x55, 0xcd, 0xf6, 0xa0, 0xc9, 0x6b, 0x88, + 0x48, 0xf7, 0x6c, 0x51, 0x2d, 0x71, 0x6a, 0x0e, 0x61, 0xaa, 0x0c, 0x89, 0x76, 0x60, 0x81, 0x16, + 0x0e, 0x51, 0x7e, 0x6d, 0x46, 0x2d, 0x51, 0x0e, 0x8d, 0x22, 0x94, 0x98, 0x4b, 0x6e, 0x0b, 0x34, + 0x5c, 0x26, 0xeb, 0x48, 0x1a, 0x2e, 0xd3, 0x65, 0xa4, 0xef, 0xa0, 0x25, 0xde, 0x93, 0xeb, 0xf5, + 0x3b, 0xf5, 0x98, 0x5e, 0xaf, 0xdf, 0x99, 0x87, 0xee, 0xaf, 0x60, 0x39, 0xf3, 0x0a, 0x1e, 0x7d, + 0xa8, 0x1b, 0xae, 0x7b, 0xbd, 0x3f, 0xfc, 0xe8, 0x04, 0x23, 0xf8, 0xcc, 0xdf, 0x42, 0x5b, 0xbe, + 0x78, 0x42, 0x57, 0x74, 0xe3, 0x13, 0xcf, 0x96, 0x86, 0x57, 0xe7, 0xa1, 0x71, 0xda, 0x9e, 0xf2, + 0xe5, 0x94, 0xb0, 0x32, 0x1f, 0x14, 0x8f, 0x4d, 0xd9, 0x9a, 0xb2, 0xd8, 0x6c, 0xbe, 0x40, 0xf9, + 0xba, 0x4a, 0x7c, 0x1f, 0x83, 0x6e, 0x14, 0x93, 0x48, 0x7d, 0x8c, 0x34, 0x5c, 0x2d, 0x8b, 0xce, + 0xd7, 0xe8, 0xd0, 0xc2, 0xa4, 0x72, 0xef, 0xa1, 0xd1, 0xf0, 0xdc, 0xcf, 0x66, 0x34, 0x1a, 0xae, + 0xf9, 0x68, 0xe6, 0x1e, 0xaf, 0x9c, 0x5c, 0xd6, 0x17, 0xea, 0x38, 0xd9, 0xb7, 0x0b, 0x30, 0xa4, + 0xa9, 0x83, 0xd8, 0xa1, 0x6b, 0x2c, 0x69, 0xc6, 0xe3, 0x97, 0x21, 0x4c, 0xac, 0x3e, 0xf5, 0xce, + 0x3a, 0xab, 0xaf, 0x7a, 0x7d, 0x9d, 0xd5, 0x4f, 0xb8, 0xf7, 0x9b, 0xff, 0xd5, 0x80, 0x26, 0x4f, + 0x0c, 0x91, 0x0d, 0x2d, 0x11, 0x2d, 0x6a, 0x24, 0x9d, 0x5b, 0xec, 0xd0, 0x48, 0x3a, 0xbf, 0xd4, + 0x80, 0xf6, 0xa1, 0x2d, 0x4b, 0x00, 0x48, 0x73, 0x8d, 0x97, 0x5b, 0x8a, 0xd0, 0x1c, 0x58, 0x4d, + 0x3d, 0x01, 0xed, 0xb1, 0x80, 0x41, 0xaf, 0x76, 0x09, 0xda, 0x57, 0xe7, 0xa1, 0x71, 0xaa, 0x3f, + 0x40, 0x57, 0x4d, 0xa9, 0xd1, 0xda, 0x09, 0xf3, 0xfb, 0xe1, 0x87, 0xe5, 0x07, 0xf0, 0x29, 0x7d, + 0xe8, 0xa7, 0x6b, 0x50, 0x1a, 0x4d, 0xd7, 0xd4, 0xda, 0x86, 0x37, 0x4a, 0x62, 0x4b, 0x83, 0x79, + 0x2a, 0xa7, 0xe8, 0xa5, 0x59, 0xaa, 0xbe, 0xec, 0xa6, 0x59, 0x6a, 0x41, 0x3d, 0x0d, 0xb9, 0xf4, + 0x8e, 0x41, 0xcd, 0xd9, 0x91, 0x56, 0x8b, 0x73, 0x8a, 0x06, 0x7a, 0x93, 0x96, 0x5b, 0x06, 0x08, + 0x60, 0x39, 0x93, 0x60, 0x6b, 0x4c, 0x9a, 0x2e, 0xd1, 0xd7, 0x98, 0x34, 0x6d, 0xde, 0x7e, 0xf3, + 0x5f, 0x1b, 0xd0, 0x16, 0x2f, 0x59, 0x89, 0xc2, 0x75, 0xd5, 0xf7, 0xa5, 0x68, 0xa5, 0x80, 0x5a, + 0xd2, 0x4d, 0xbc, 0x57, 0x02, 0x33, 0x0e, 0x5e, 0x94, 0x77, 0xb7, 0x7a, 0x0f, 0x9b, 0x7a, 0xd1, + 0xad, 0xf7, 0xb0, 0x99, 0x27, 0xbc, 0x3e, 0xf4, 0xd3, 0xaf, 0x40, 0x35, 0x27, 0x54, 0xf3, 0x6a, + 0x56, 0x73, 0x42, 0x75, 0x4f, 0x4b, 0xc9, 0x84, 0xe9, 0x77, 0xa1, 0x9a, 0x09, 0x35, 0x2f, 0x50, + 0x35, 0x13, 0xea, 0x1e, 0x9b, 0x72, 0x4f, 0xa4, 0x3c, 0xa2, 0xd7, 0x7b, 0xa2, 0xec, 0x13, 0x7c, + 0xbd, 0x27, 0xca, 0x7b, 0x95, 0xff, 0x3d, 0x74, 0x94, 0x27, 0xe4, 0x9a, 0xed, 0xca, 0x3e, 0xb5, + 0xd7, 0x6c, 0x57, 0xce, 0x6b, 0x74, 0x7e, 0x20, 0xe6, 0xcc, 0xb0, 0x5d, 0x76, 0x86, 0xbc, 0xe7, + 0xea, 0x0e, 0xf4, 0x92, 0xcf, 0xc7, 0x0b, 0x43, 0xf3, 0xf4, 0x3c, 0xd7, 0x4b, 0xe1, 0x72, 0x85, + 0xfa, 0xfb, 0x3a, 0x89, 0x9c, 0xe9, 0x27, 0x3c, 0xe8, 0x1b, 0xa8, 0x93, 0xd8, 0xba, 0x20, 0x3e, + 0x4f, 0x7e, 0x49, 0x54, 0x10, 0x9f, 0xa7, 0x3f, 0x2e, 0xfa, 0x4e, 0xe6, 0x5b, 0x2b, 0x85, 0xb9, + 0x94, 0xf2, 0x31, 0x54, 0xa1, 0x8e, 0xa6, 0x3e, 0xf2, 0x98, 0xe7, 0xac, 0x92, 0x84, 0xaf, 0xce, + 0x43, 0x8b, 0x99, 0xe6, 0x99, 0xd1, 0x4a, 0xe1, 0x05, 0xf5, 0x7c, 0xa6, 0xf3, 0xbe, 0x5b, 0x23, + 0x4c, 0x9b, 0x33, 0x4f, 0xc3, 0x74, 0xfa, 0x2b, 0x41, 0x0d, 0xd3, 0xd9, 0x8f, 0x04, 0x9f, 0x41, + 0x7d, 0x0f, 0x87, 0x91, 0x26, 0x6c, 0xca, 0x7c, 0x05, 0xa8, 0x49, 0x40, 0xb3, 0xdf, 0xf8, 0xdd, + 0xfc, 0xeb, 0x3a, 0x34, 0x79, 0x71, 0x0a, 0xf9, 0xd0, 0x15, 0x7e, 0x88, 0x96, 0xfc, 0x56, 0xe7, + 0xb9, 0xaa, 0x64, 0x29, 0x73, 0xb8, 0x56, 0x1a, 0x5f, 0x6a, 0x04, 0x30, 0x19, 0xd2, 0xe9, 0x8a, + 0x6c, 0x55, 0x76, 0xb2, 0x1b, 0x25, 0xb1, 0xf9, 0x54, 0x36, 0xb4, 0xb6, 0x71, 0x44, 0xeb, 0xa2, + 0x7a, 0x2b, 0x95, 0xad, 0xaa, 0xea, 0xad, 0x54, 0x5e, 0xa1, 0xd5, 0x81, 0x5e, 0x72, 0xb5, 0x73, + 0x02, 0xc6, 0x44, 0xa9, 0x73, 0x4e, 0xc0, 0x98, 0xac, 0x54, 0xf2, 0x4a, 0x8a, 0xd8, 0xb9, 0xab, + 0xc5, 0x5c, 0x86, 0x73, 0x2b, 0x29, 0xa9, 0xfa, 0xe4, 0xed, 0xf7, 0xbe, 0xbd, 0x76, 0xe0, 0x44, + 0x87, 0xb3, 0xe7, 0xab, 0xb6, 0x3f, 0x59, 0x8b, 0x22, 0xeb, 0xf9, 0x9a, 0x18, 0x79, 0xc3, 0x9a, + 0x3a, 0x6b, 0xf1, 0xe8, 0xe7, 0x0d, 0xfa, 0x4f, 0x2b, 0x3e, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x1e, 0x20, 0x26, 0x94, 0xfc, 0x42, 0x00, 0x00, }