diff --git a/clioptions/client.go b/clioptions/client.go index 9bfbd05d..d476c7d6 100644 --- a/clioptions/client.go +++ b/clioptions/client.go @@ -8,13 +8,13 @@ import ( "fmt" "os" - "github.com/golang/protobuf/proto" "github.com/spf13/pflag" "github.com/temporalio/omes/metrics" "go.temporal.io/api/common/v1" "go.temporal.io/sdk/client" "go.temporal.io/sdk/converter" "go.uber.org/zap" + "google.golang.org/protobuf/proto" ) const AUTH_HEADER_ENV_VAR = "TEMPORAL_OMES_AUTH_HEADER" @@ -176,7 +176,15 @@ func (p *PassThroughPayloadConverter) FromPayload(payload *common.Payload, value if err != nil { return fmt.Errorf("unable to decode raw payload: %w", err) } - return converter.GetDefaultDataConverter().FromPayload(innerPayload, valuePtr) + switch target := valuePtr.(type) { + case *common.Payload: + // The caller wants the encoded Payload itself, not its decoded value. + proto.Reset(target) + proto.Merge(target, innerPayload) + return nil + default: + return converter.GetDefaultDataConverter().FromPayload(innerPayload, target) + } } func (p *PassThroughPayloadConverter) ToString(payload *common.Payload) string { diff --git a/loadgen/kitchen-sink-gen/src/main.rs b/loadgen/kitchen-sink-gen/src/main.rs index 988fbe96..8e0b8a94 100644 --- a/loadgen/kitchen-sink-gen/src/main.rs +++ b/loadgen/kitchen-sink-gen/src/main.rs @@ -9,12 +9,14 @@ use crate::protos::temporal::{ do_signal::DoSignalActions, do_update, execute_activity_action, execute_activity_action::{ClientActivity, PayloadActivity}, - with_start_client_action, Action, ActionSet, AwaitWorkflowState, AwaitableChoice, - ClientAction, ClientActionSet, ClientSequence, DoQuery, DoSignal, DoUpdate, - ExecuteActivityAction, ExecuteChildWorkflowAction, ExecuteNexusOperation, - HandlerInvocation, RemoteActivityOptions, ReturnResultAction, SetPatchMarkerAction, - TestInput, TimerAction, UpsertMemoAction, UpsertSearchAttributesAction, - WithStartClientAction, WorkflowInput, WorkflowState, + nexus_operation_request, nexus_workflow_action, with_start_client_action, Action, + ActionSet, AwaitWorkflowState, AwaitableChoice, ClientAction, ClientActionSet, + ClientSequence, DoQuery, DoSignal, DoUpdate, ExecuteActivityAction, + ExecuteChildWorkflowAction, ExecuteNexusOperation, HandlerInvocation, + NexusOperationRequest, NexusWorkflowAction, NexusWorkflowStartOptions, + RemoteActivityOptions, ReturnResultAction, SetPatchMarkerAction, TestInput, TimerAction, + UpsertMemoAction, UpsertSearchAttributesAction, WithStartClientAction, WorkflowInput, + WorkflowState, }, }; use anyhow::Error; @@ -618,12 +620,7 @@ impl<'a> Arbitrary<'a> for Action { } else if chances.nested_action_set(action_kind) { action::Variant::NestedActionSet(u.arbitrary()?) } else if chances.nexus_operation(action_kind) { - if ARB_CONTEXT.with_borrow(|c| c.action_set_nest_level >= 1) { - // Nested nexus operations are not supported, use echo-sync instead - action::Variant::NexusOperation(ExecuteNexusOperation::echo_sync(u)?) - } else { - action::Variant::NexusOperation(u.arbitrary()?) - } + action::Variant::NexusOperation(u.arbitrary()?) } else { unreachable!() }; @@ -712,70 +709,48 @@ impl<'a> Arbitrary<'a> for ExecuteChildWorkflowAction { } } -static NEXUS_OPERATIONS: [&str; 2] = ["echo-sync", "echo-async"]; - -impl ExecuteNexusOperation { - fn echo_sync(u: &mut Unstructured<'_>) -> arbitrary::Result { - let val = format!("nexus-test-{}", u.int_in_range(1..=1000)?); - Ok(Self { - endpoint: ARB_CONTEXT.with_borrow(|c| c.nexus_endpoint.clone()), - operation: "echo-sync".to_string(), - input: val.clone(), - expected_output: val, - // echo-sync completes immediately, so only WaitFinish is valid. - awaitable_choice: Some(AwaitableChoice { - condition: Some(awaitable_choice::Condition::WaitFinish(())), - }), - before_actions: vec![], - handler_workflow_id: String::new(), - handler_workflow_id_conflict_policy: 0, - wait_for_signal: false, - }) - } -} - impl<'a> Arbitrary<'a> for ExecuteNexusOperation { fn arbitrary(u: &mut Unstructured<'a>) -> arbitrary::Result { - let &operation = u.choose(&NEXUS_OPERATIONS)?; - - if operation == "echo-sync" { - return Self::echo_sync(u); - } - - let endpoint = ARB_CONTEXT.with_borrow(|c| c.nexus_endpoint.clone()); - let val = format!("nexus-test-{}", u.int_in_range(1..=1000)?); - let (input, expected_output) = (val.clone(), val); - - // Randomly generate before_actions for echo-async operations - let before_actions = if u.ratio(1, 3)? { - ARB_CONTEXT.with_borrow_mut(|c| c.action_set_nest_level += 1); - let num_actions = - u.int_in_range(1..=ARB_CONTEXT.with_borrow(|c| c.config.max_actions_per_set))?; - let mut actions: Vec = Vec::with_capacity(num_actions); - for _ in 0..num_actions { - actions.push(u.arbitrary()?); - } - ARB_CONTEXT.with_borrow_mut(|c| c.action_set_nest_level -= 1); - vec![ActionSet { - actions, - concurrent: false, - }] + if u.ratio(1, 2)? { + let val = format!("nexus-test-{}", u.int_in_range(1..=1000)?); + Ok(Self { + endpoint: ARB_CONTEXT.with_borrow(|c| c.nexus_endpoint.clone()), + operation: "execute".to_string(), + expected_output: Some(json_payload(&val)), + // Echo completes immediately, so only WaitFinish is valid. + awaitable_choice: Some(AwaitableChoice { + condition: Some(awaitable_choice::Condition::WaitFinish(())), + }), + input: Some(NexusOperationRequest { + action: Some(nexus_operation_request::Action::Echo(val)), + }), + }) } else { - vec![] - }; - - // echo-async supports all awaitable choices including cancellation. - Ok(Self { - endpoint, - operation: operation.to_string(), - input, - awaitable_choice: Some(u.arbitrary()?), - expected_output, - before_actions, - handler_workflow_id: String::new(), - handler_workflow_id_conflict_policy: 0, - wait_for_signal: false, - }) + Ok(Self { + endpoint: ARB_CONTEXT.with_borrow(|c| c.nexus_endpoint.clone()), + operation: "execute".to_string(), + expected_output: None, + awaitable_choice: Some(u.arbitrary()?), + input: Some(NexusOperationRequest { + action: Some(nexus_operation_request::Action::WorkflowAction( + NexusWorkflowAction { + start_options: Some(NexusWorkflowStartOptions { + workflow_input: Some(WorkflowInput { + initial_actions: vec![mk_action_set([ReturnResultAction { + return_this: Some(empty_payload()), + } + .into()])], + ..Default::default() + }), + ..Default::default() + }), + action: Some(nexus_workflow_action::Action::Start(())), + ..Default::default() + }, + )), + }), + }) + } } } @@ -1036,3 +1011,14 @@ fn empty_payload() -> Payload { data: vec![], // Empty } } + +fn json_payload(value: &str) -> Payload { + Payload { + metadata: { + let mut m = HashMap::new(); + m.insert("encoding".to_string(), "json/plain".into()); + m + }, + data: serde_json::to_vec(value).expect("serializes"), + } +} diff --git a/loadgen/kitchen_sink_executor_test.go b/loadgen/kitchen_sink_executor_test.go index 26cb8f92..4c9a6041 100644 --- a/loadgen/kitchen_sink_executor_test.go +++ b/loadgen/kitchen_sink_executor_test.go @@ -944,8 +944,38 @@ func TestKitchenSink(t *testing.T) { &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Operation: "echo-sync", - Input: "hello", + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "hello"}, + }, + AwaitableChoice: &AwaitableChoice{ + Condition: &AwaitableChoice_WaitFinish{ + WaitFinish: &emptypb.Empty{}, + }, + }, + }, + }, + }), + }, + }, + historyMatcher: PartialHistoryMatcher(` + NexusOperationScheduled {"operation":"execute"} + NexusOperationCompleted`), + expectedUnsupportedErrs: nexusUnsupportedSDKs, + }, + { + name: "NexusOperation/Sync/ExpectedOutputMismatch", + testInput: &TestInput{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet( + &Action{ + Variant: &Action_NexusOperation{ + NexusOperation: &ExecuteNexusOperation{ + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "hello"}, + }, + ExpectedOutput: ConvertToPayload("goodbye"), AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_WaitFinish{ WaitFinish: &emptypb.Empty{}, @@ -957,9 +987,10 @@ func TestKitchenSink(t *testing.T) { }, }, historyMatcher: PartialHistoryMatcher(` - NexusOperationScheduled {"operation":"echo-sync"} + NexusOperationScheduled {"operation":"execute"} NexusOperationCompleted`), expectedUnsupportedErrs: nexusUnsupportedSDKs, + expectedWorkflowError: `goodbye`, }, { name: "NexusOperation/Async", @@ -969,11 +1000,22 @@ func TestKitchenSink(t *testing.T) { &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Operation: "echo-async", - Input: "world", - BeforeActions: ListActionSet( - NewTimerAction(1), - ), + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet( + NewTimerAction(1), + NewEmptyReturnResultAction(), + ), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_WaitFinish{ WaitFinish: &emptypb.Empty{}, @@ -985,7 +1027,7 @@ func TestKitchenSink(t *testing.T) { }, }, historyMatcher: PartialHistoryMatcher(` - NexusOperationScheduled {"operation":"echo-async"} + NexusOperationScheduled {"operation":"execute"} NexusOperationStarted NexusOperationCompleted`), expectedUnsupportedErrs: nexusUnsupportedSDKs, @@ -998,10 +1040,21 @@ func TestKitchenSink(t *testing.T) { &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Operation: "echo-async", - BeforeActions: ListActionSet( - NewAwaitWorkflowStateAction("never", "resolves"), - ), + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet( + NewAwaitWorkflowStateAction("never", "resolves"), + ), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_CancelAfterStarted{ CancelAfterStarted: &emptypb.Empty{}, @@ -1013,7 +1066,7 @@ func TestKitchenSink(t *testing.T) { }, }, historyMatcher: PartialHistoryMatcher(` - NexusOperationScheduled {"operation":"echo-async"} + NexusOperationScheduled {"operation":"execute"} NexusOperationStarted NexusOperationCancelRequested NexusOperationCanceled`), @@ -1027,8 +1080,10 @@ func TestKitchenSink(t *testing.T) { &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Operation: "echo-sync", - Input: "abandoned", + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "abandoned"}, + }, AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_Abandon{ Abandon: &emptypb.Empty{}, @@ -1040,7 +1095,7 @@ func TestKitchenSink(t *testing.T) { }, }, historyMatcher: PartialHistoryMatcher(` - NexusOperationScheduled {"operation":"echo-sync"} + NexusOperationScheduled {"operation":"execute"} ... WorkflowExecutionCompleted`), expectedUnsupportedErrs: nexusUnsupportedSDKs, @@ -1054,9 +1109,22 @@ func TestKitchenSink(t *testing.T) { ClientActions(&ClientAction{ Variant: &ClientAction_DoStandaloneNexusOperation{ DoStandaloneNexusOperation: &DoStandaloneNexusOperation{ - // Endpoint filled by PrepareTestInput - Service: "kitchen-sink", - Operation: "echo-async", + Operation: &ExecuteNexusOperation{ + // Endpoint filled by PrepareTestInput + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet(NewEmptyReturnResultAction()), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, + }, }, }, }), @@ -1080,9 +1148,13 @@ func TestKitchenSink(t *testing.T) { ClientActions(&ClientAction{ Variant: &ClientAction_DoStandaloneNexusOperation{ DoStandaloneNexusOperation: &DoStandaloneNexusOperation{ - // Endpoint filled by PrepareTestInput - Service: "kitchen-sink", - Operation: "echo-sync", + Operation: &ExecuteNexusOperation{ + // Endpoint filled by PrepareTestInput + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "hello"}, + }, + }, }, }, }), @@ -1256,7 +1328,7 @@ func testForSDK( if clientSeq := action.GetExecActivity().GetClient().GetClientSequence(); clientSeq != nil { for _, cas := range clientSeq.ActionSets { for _, ca := range cas.Actions { - if sno := ca.GetDoStandaloneNexusOperation(); sno != nil && sno.Endpoint == "" { + if sno := ca.GetDoStandaloneNexusOperation().GetOperation(); sno != nil && sno.Endpoint == "" { sno.Endpoint = nexusEndpoint } if sa := ca.GetDoStandaloneActivity(); sa.GetActivity() != nil && sa.GetActivity().TaskQueue == "" { diff --git a/loadgen/kitchensink/client_action_executor.go b/loadgen/kitchensink/client_action_executor.go index 1c5f667e..33f83d03 100644 --- a/loadgen/kitchensink/client_action_executor.go +++ b/loadgen/kitchensink/client_action_executor.go @@ -7,6 +7,7 @@ import ( "time" "github.com/google/uuid" + commonpb "go.temporal.io/api/common/v1" enumspb "go.temporal.io/api/enums/v1" "go.temporal.io/sdk/client" "go.temporal.io/sdk/workflow" @@ -205,27 +206,45 @@ func (e *ClientActionsExecutor) executeUpdateAction(ctx context.Context, upd *Do return run, err } -func (e *ClientActionsExecutor) executeStandaloneNexusOperation(ctx context.Context, sno *DoStandaloneNexusOperation) error { +func (e *ClientActionsExecutor) executeStandaloneNexusOperation(ctx context.Context, sano *DoStandaloneNexusOperation) error { + nexusOp := sano.GetOperation() + if nexusOp == nil { + return fmt.Errorf("standalone Nexus operation requires operation") + } + if awaitableChoice := nexusOp.GetAwaitableChoice(); awaitableChoice != nil && awaitableChoice.GetWaitFinish() == nil { + return fmt.Errorf("standalone Nexus operation only supports the wait_finish awaitable choice") + } operationID := fmt.Sprintf("standalone-nexus-%s-%s", e.WorkflowOptions.ID, uuid.NewString()) nexusClient, err := e.Client.NewNexusClient(client.NexusClientOptions{ - Endpoint: sno.Endpoint, - Service: sno.Service, + Endpoint: nexusOp.GetEndpoint(), + Service: KitchenSinkNexusServiceName, }) if err != nil { - return fmt.Errorf("NewNexusClient: %w", err) + return fmt.Errorf("new standalone Nexus client: %w", err) } - handle, err := nexusClient.ExecuteOperation(ctx, sno.Operation, &NexusHandlerInput{}, client.StartNexusOperationOptions{ + handle, err := nexusClient.ExecuteOperation(ctx, nexusOp.GetOperation(), nexusOp.GetInput(), client.StartNexusOperationOptions{ ID: operationID, ScheduleToCloseTimeout: 90 * time.Second, }) if err != nil { - return fmt.Errorf("ExecuteOperation: %w", err) + return fmt.Errorf("execute standalone Nexus operation: %w", err) + } + + if expectedOutput := nexusOp.GetExpectedOutput(); expectedOutput != nil { + var result commonpb.Payload + if err := handle.Get(ctx, &result); err != nil { + return fmt.Errorf("get standalone Nexus operation: %w", err) + } + if !expectedOutput.Equal(&result) { + return fmt.Errorf("expected standalone Nexus operation output %v, got %v", expectedOutput, &result) + } + return nil } err = handle.Get(ctx, nil) if err != nil { - return fmt.Errorf("Get standalone nexus operation: %w", err) + return fmt.Errorf("get standalone Nexus operation: %w", err) } return nil } diff --git a/loadgen/kitchensink/helpers.go b/loadgen/kitchensink/helpers.go index 810bdd45..b91bb524 100644 --- a/loadgen/kitchensink/helpers.go +++ b/loadgen/kitchensink/helpers.go @@ -14,7 +14,15 @@ import ( ) // Using human-readable JSON encoding for payloads to aid with debugging. -var jsonPayloadConverter = converter.NewProtoJSONPayloadConverter() +var jsonPayloadConverter = converter.GetDefaultDataConverter() + +const ( + // KitchenSinkNexusServiceName is the kitchen sink Nexus service. + KitchenSinkNexusServiceName = "kitchen-sink" + + // KitchenSinkNexusOperationName is the operation exposed by the kitchen sink Nexus service. + KitchenSinkNexusOperationName = "execute" +) // ActivityNameAndArgs maps an ExecuteActivityAction's activity variant to the // registered activity name and its args. Shared by the workflow-scheduled path diff --git a/loadgen/kitchensink/kitchen_sink.pb.go b/loadgen/kitchensink/kitchen_sink.pb.go index 4bdc297f..02841f97 100644 --- a/loadgen/kitchensink/kitchen_sink.pb.go +++ b/loadgen/kitchensink/kitchen_sink.pb.go @@ -748,9 +748,7 @@ type DoStandaloneNexusOperation struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"` + Operation *ExecuteNexusOperation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` } func (x *DoStandaloneNexusOperation) Reset() { @@ -785,25 +783,11 @@ func (*DoStandaloneNexusOperation) Descriptor() ([]byte, []int) { return file_kitchen_sink_proto_rawDescGZIP(), []int{5} } -func (x *DoStandaloneNexusOperation) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -func (x *DoStandaloneNexusOperation) GetService() string { - if x != nil { - return x.Service - } - return "" -} - -func (x *DoStandaloneNexusOperation) GetOperation() string { +func (x *DoStandaloneNexusOperation) GetOperation() *ExecuteNexusOperation { if x != nil { return x.Operation } - return "" + return nil } // DoStandaloneActivity starts an activity outside of any workflow context using @@ -3242,29 +3226,20 @@ func (x *RemoteActivityOptions) GetVersioningIntent() VersioningIntent { return VersioningIntent_UNSPECIFIED } -// Execute a Nexus operation +// Execute a Nexus operation. type ExecuteNexusOperation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // Operation name to call - Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"` - // Input payload for the operation - Input string `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + // Operation name on the Nexus service. + Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"` + Input *NexusOperationRequest `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` // How to await on the operation AwaitableChoice *AwaitableChoice `protobuf:"bytes,5,opt,name=awaitable_choice,json=awaitableChoice,proto3" json:"awaitable_choice,omitempty"` - // Expected output for verification - ExpectedOutput string `protobuf:"bytes,6,opt,name=expected_output,json=expectedOutput,proto3" json:"expected_output,omitempty"` - // Actions to execute before returning from the handler workflow - BeforeActions []*ActionSet `protobuf:"bytes,7,rep,name=before_actions,json=beforeActions,proto3" json:"before_actions,omitempty"` - // Override the handler workflow ID (defaults to per-request random). - HandlerWorkflowId string `protobuf:"bytes,8,opt,name=handler_workflow_id,json=handlerWorkflowId,proto3" json:"handler_workflow_id,omitempty"` - // Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set. - HandlerWorkflowIdConflictPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,9,opt,name=handler_workflow_id_conflict_policy,json=handlerWorkflowIdConflictPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"handler_workflow_id_conflict_policy,omitempty"` - // If true, the handler workflow waits on the "unblock" signal before returning. - WaitForSignal bool `protobuf:"varint,10,opt,name=wait_for_signal,json=waitForSignal,proto3" json:"wait_for_signal,omitempty"` + // If set, the operation's output is compared against this value after completion. + ExpectedOutput *v1.Payload `protobuf:"bytes,6,opt,name=expected_output,json=expectedOutput,proto3" json:"expected_output,omitempty"` } func (x *ExecuteNexusOperation) Reset() { @@ -3313,11 +3288,11 @@ func (x *ExecuteNexusOperation) GetOperation() string { return "" } -func (x *ExecuteNexusOperation) GetInput() string { +func (x *ExecuteNexusOperation) GetInput() *NexusOperationRequest { if x != nil { return x.Input } - return "" + return nil } func (x *ExecuteNexusOperation) GetAwaitableChoice() *AwaitableChoice { @@ -3327,72 +3302,144 @@ func (x *ExecuteNexusOperation) GetAwaitableChoice() *AwaitableChoice { return nil } -func (x *ExecuteNexusOperation) GetExpectedOutput() string { +func (x *ExecuteNexusOperation) GetExpectedOutput() *v1.Payload { if x != nil { return x.ExpectedOutput } - return "" + return nil } -func (x *ExecuteNexusOperation) GetBeforeActions() []*ActionSet { - if x != nil { - return x.BeforeActions +// Input for the kitchen sink Nexus operation. +type NexusOperationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Action: + // + // *NexusOperationRequest_Echo + // *NexusOperationRequest_WorkflowAction + // *NexusOperationRequest_StartActivity + Action isNexusOperationRequest_Action `protobuf_oneof:"action"` +} + +func (x *NexusOperationRequest) Reset() { + *x = NexusOperationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_kitchen_sink_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NexusOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationRequest) ProtoMessage() {} + +func (x *NexusOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_kitchen_sink_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationRequest.ProtoReflect.Descriptor instead. +func (*NexusOperationRequest) Descriptor() ([]byte, []int) { + return file_kitchen_sink_proto_rawDescGZIP(), []int{33} +} + +func (m *NexusOperationRequest) GetAction() isNexusOperationRequest_Action { + if m != nil { + return m.Action } return nil } -func (x *ExecuteNexusOperation) GetHandlerWorkflowId() string { - if x != nil { - return x.HandlerWorkflowId +func (x *NexusOperationRequest) GetEcho() string { + if x, ok := x.GetAction().(*NexusOperationRequest_Echo); ok { + return x.Echo } return "" } -func (x *ExecuteNexusOperation) GetHandlerWorkflowIdConflictPolicy() v11.WorkflowIdConflictPolicy { - if x != nil { - return x.HandlerWorkflowIdConflictPolicy +func (x *NexusOperationRequest) GetWorkflowAction() *NexusWorkflowAction { + if x, ok := x.GetAction().(*NexusOperationRequest_WorkflowAction); ok { + return x.WorkflowAction } - return v11.WorkflowIdConflictPolicy(0) + return nil } -func (x *ExecuteNexusOperation) GetWaitForSignal() bool { - if x != nil { - return x.WaitForSignal +func (x *NexusOperationRequest) GetStartActivity() *ExecuteActivityAction { + if x, ok := x.GetAction().(*NexusOperationRequest_StartActivity); ok { + return x.StartActivity } - return false + return nil +} + +type isNexusOperationRequest_Action interface { + isNexusOperationRequest_Action() +} + +type NexusOperationRequest_Echo struct { + // Return this value synchronously. + Echo string `protobuf:"bytes,1,opt,name=echo,proto3,oneof"` +} + +type NexusOperationRequest_WorkflowAction struct { + // Act on a kitchenSink workflow. + WorkflowAction *NexusWorkflowAction `protobuf:"bytes,2,opt,name=workflow_action,json=workflowAction,proto3,oneof"` +} + +type NexusOperationRequest_StartActivity struct { + // Start a standalone activity. + StartActivity *ExecuteActivityAction `protobuf:"bytes,3,opt,name=start_activity,json=startActivity,proto3,oneof"` } -// Input for the Nexus handler workflow that backs echo-sync and echo-async operations -type NexusHandlerInput struct { +func (*NexusOperationRequest_Echo) isNexusOperationRequest_Action() {} + +func (*NexusOperationRequest_WorkflowAction) isNexusOperationRequest_Action() {} + +func (*NexusOperationRequest_StartActivity) isNexusOperationRequest_Action() {} + +type NexusWorkflowAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` - BeforeActions []*ActionSet `protobuf:"bytes,2,rep,name=before_actions,json=beforeActions,proto3" json:"before_actions,omitempty"` - HandlerWorkflowId string `protobuf:"bytes,3,opt,name=handler_workflow_id,json=handlerWorkflowId,proto3" json:"handler_workflow_id,omitempty"` - HandlerWorkflowIdConflictPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,4,opt,name=handler_workflow_id_conflict_policy,json=handlerWorkflowIdConflictPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"handler_workflow_id_conflict_policy,omitempty"` - // If true, the handler workflow waits on the "unblock" signal before returning. - WaitForSignal bool `protobuf:"varint,5,opt,name=wait_for_signal,json=waitForSignal,proto3" json:"wait_for_signal,omitempty"` + WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Options used when the action may start a workflow. + StartOptions *NexusWorkflowStartOptions `protobuf:"bytes,3,opt,name=start_options,json=startOptions,proto3" json:"start_options,omitempty"` + // Types that are assignable to Action: + // + // *NexusWorkflowAction_Start + Action isNexusWorkflowAction_Action `protobuf_oneof:"action"` } -func (x *NexusHandlerInput) Reset() { - *x = NexusHandlerInput{} +func (x *NexusWorkflowAction) Reset() { + *x = NexusWorkflowAction{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[33] + mi := &file_kitchen_sink_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NexusHandlerInput) String() string { +func (x *NexusWorkflowAction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NexusHandlerInput) ProtoMessage() {} +func (*NexusWorkflowAction) ProtoMessage() {} -func (x *NexusHandlerInput) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[33] +func (x *NexusWorkflowAction) ProtoReflect() protoreflect.Message { + mi := &file_kitchen_sink_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3403,44 +3450,121 @@ func (x *NexusHandlerInput) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NexusHandlerInput.ProtoReflect.Descriptor instead. -func (*NexusHandlerInput) Descriptor() ([]byte, []int) { - return file_kitchen_sink_proto_rawDescGZIP(), []int{33} +// Deprecated: Use NexusWorkflowAction.ProtoReflect.Descriptor instead. +func (*NexusWorkflowAction) Descriptor() ([]byte, []int) { + return file_kitchen_sink_proto_rawDescGZIP(), []int{34} } -func (x *NexusHandlerInput) GetInput() string { +func (x *NexusWorkflowAction) GetWorkflowId() string { if x != nil { - return x.Input + return x.WorkflowId } return "" } -func (x *NexusHandlerInput) GetBeforeActions() []*ActionSet { +func (x *NexusWorkflowAction) GetRunId() string { if x != nil { - return x.BeforeActions + return x.RunId + } + return "" +} + +func (x *NexusWorkflowAction) GetStartOptions() *NexusWorkflowStartOptions { + if x != nil { + return x.StartOptions + } + return nil +} + +func (m *NexusWorkflowAction) GetAction() isNexusWorkflowAction_Action { + if m != nil { + return m.Action } return nil } -func (x *NexusHandlerInput) GetHandlerWorkflowId() string { +func (x *NexusWorkflowAction) GetStart() *emptypb.Empty { + if x, ok := x.GetAction().(*NexusWorkflowAction_Start); ok { + return x.Start + } + return nil +} + +type isNexusWorkflowAction_Action interface { + isNexusWorkflowAction_Action() +} + +type NexusWorkflowAction_Start struct { + Start *emptypb.Empty `protobuf:"bytes,4,opt,name=start,proto3,oneof"` +} + +func (*NexusWorkflowAction_Start) isNexusWorkflowAction_Action() {} + +// Configuration for starting a kitchenSink workflow through a Nexus operation. +type NexusWorkflowStartOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Task queue. Defaults to the task queue handling the Nexus request when empty. + TaskQueue string `protobuf:"bytes,1,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Conflict policy when starting the workflow. + WorkflowIdConflictPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,2,opt,name=workflow_id_conflict_policy,json=workflowIdConflictPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"workflow_id_conflict_policy,omitempty"` + // Typed input passed to the kitchenSink workflow. + WorkflowInput *WorkflowInput `protobuf:"bytes,3,opt,name=workflow_input,json=workflowInput,proto3" json:"workflow_input,omitempty"` +} + +func (x *NexusWorkflowStartOptions) Reset() { + *x = NexusWorkflowStartOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_kitchen_sink_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NexusWorkflowStartOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusWorkflowStartOptions) ProtoMessage() {} + +func (x *NexusWorkflowStartOptions) ProtoReflect() protoreflect.Message { + mi := &file_kitchen_sink_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusWorkflowStartOptions.ProtoReflect.Descriptor instead. +func (*NexusWorkflowStartOptions) Descriptor() ([]byte, []int) { + return file_kitchen_sink_proto_rawDescGZIP(), []int{35} +} + +func (x *NexusWorkflowStartOptions) GetTaskQueue() string { if x != nil { - return x.HandlerWorkflowId + return x.TaskQueue } return "" } -func (x *NexusHandlerInput) GetHandlerWorkflowIdConflictPolicy() v11.WorkflowIdConflictPolicy { +func (x *NexusWorkflowStartOptions) GetWorkflowIdConflictPolicy() v11.WorkflowIdConflictPolicy { if x != nil { - return x.HandlerWorkflowIdConflictPolicy + return x.WorkflowIdConflictPolicy } return v11.WorkflowIdConflictPolicy(0) } -func (x *NexusHandlerInput) GetWaitForSignal() bool { +func (x *NexusWorkflowStartOptions) GetWorkflowInput() *WorkflowInput { if x != nil { - return x.WaitForSignal + return x.WorkflowInput } - return false + return nil } // Await completion of all actions that were started in the same workflow with @@ -3454,7 +3578,7 @@ type AwaitPendingActions struct { func (x *AwaitPendingActions) Reset() { *x = AwaitPendingActions{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[34] + mi := &file_kitchen_sink_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3467,7 +3591,7 @@ func (x *AwaitPendingActions) String() string { func (*AwaitPendingActions) ProtoMessage() {} func (x *AwaitPendingActions) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[34] + mi := &file_kitchen_sink_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3480,7 +3604,7 @@ func (x *AwaitPendingActions) ProtoReflect() protoreflect.Message { // Deprecated: Use AwaitPendingActions.ProtoReflect.Descriptor instead. func (*AwaitPendingActions) Descriptor() ([]byte, []int) { - return file_kitchen_sink_proto_rawDescGZIP(), []int{34} + return file_kitchen_sink_proto_rawDescGZIP(), []int{36} } type DoSignal_DoSignalActions struct { @@ -3500,7 +3624,7 @@ type DoSignal_DoSignalActions struct { func (x *DoSignal_DoSignalActions) Reset() { *x = DoSignal_DoSignalActions{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[35] + mi := &file_kitchen_sink_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3513,7 +3637,7 @@ func (x *DoSignal_DoSignalActions) String() string { func (*DoSignal_DoSignalActions) ProtoMessage() {} func (x *DoSignal_DoSignalActions) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[35] + mi := &file_kitchen_sink_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3590,7 +3714,7 @@ type ExecuteActivityAction_GenericActivity struct { func (x *ExecuteActivityAction_GenericActivity) Reset() { *x = ExecuteActivityAction_GenericActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[37] + mi := &file_kitchen_sink_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3603,7 +3727,7 @@ func (x *ExecuteActivityAction_GenericActivity) String() string { func (*ExecuteActivityAction_GenericActivity) ProtoMessage() {} func (x *ExecuteActivityAction_GenericActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[37] + mi := &file_kitchen_sink_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3647,7 +3771,7 @@ type ExecuteActivityAction_ResourcesActivity struct { func (x *ExecuteActivityAction_ResourcesActivity) Reset() { *x = ExecuteActivityAction_ResourcesActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[38] + mi := &file_kitchen_sink_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3660,7 +3784,7 @@ func (x *ExecuteActivityAction_ResourcesActivity) String() string { func (*ExecuteActivityAction_ResourcesActivity) ProtoMessage() {} func (x *ExecuteActivityAction_ResourcesActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[38] + mi := &file_kitchen_sink_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3716,7 +3840,7 @@ type ExecuteActivityAction_PayloadActivity struct { func (x *ExecuteActivityAction_PayloadActivity) Reset() { *x = ExecuteActivityAction_PayloadActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[39] + mi := &file_kitchen_sink_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3729,7 +3853,7 @@ func (x *ExecuteActivityAction_PayloadActivity) String() string { func (*ExecuteActivityAction_PayloadActivity) ProtoMessage() {} func (x *ExecuteActivityAction_PayloadActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[39] + mi := &file_kitchen_sink_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3770,7 +3894,7 @@ type ExecuteActivityAction_ClientActivity struct { func (x *ExecuteActivityAction_ClientActivity) Reset() { *x = ExecuteActivityAction_ClientActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[40] + mi := &file_kitchen_sink_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3783,7 +3907,7 @@ func (x *ExecuteActivityAction_ClientActivity) String() string { func (*ExecuteActivityAction_ClientActivity) ProtoMessage() {} func (x *ExecuteActivityAction_ClientActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[40] + mi := &file_kitchen_sink_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3820,7 +3944,7 @@ type ExecuteActivityAction_RetryableErrorActivity struct { func (x *ExecuteActivityAction_RetryableErrorActivity) Reset() { *x = ExecuteActivityAction_RetryableErrorActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[41] + mi := &file_kitchen_sink_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3833,7 +3957,7 @@ func (x *ExecuteActivityAction_RetryableErrorActivity) String() string { func (*ExecuteActivityAction_RetryableErrorActivity) ProtoMessage() {} func (x *ExecuteActivityAction_RetryableErrorActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[41] + mi := &file_kitchen_sink_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3874,7 +3998,7 @@ type ExecuteActivityAction_TimeoutActivity struct { func (x *ExecuteActivityAction_TimeoutActivity) Reset() { *x = ExecuteActivityAction_TimeoutActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[42] + mi := &file_kitchen_sink_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3887,7 +4011,7 @@ func (x *ExecuteActivityAction_TimeoutActivity) String() string { func (*ExecuteActivityAction_TimeoutActivity) ProtoMessage() {} func (x *ExecuteActivityAction_TimeoutActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[42] + mi := &file_kitchen_sink_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3944,7 +4068,7 @@ type ExecuteActivityAction_HeartbeatTimeoutActivity struct { func (x *ExecuteActivityAction_HeartbeatTimeoutActivity) Reset() { *x = ExecuteActivityAction_HeartbeatTimeoutActivity{} if protoimpl.UnsafeEnabled { - mi := &file_kitchen_sink_proto_msgTypes[43] + mi := &file_kitchen_sink_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3957,7 +4081,7 @@ func (x *ExecuteActivityAction_HeartbeatTimeoutActivity) String() string { func (*ExecuteActivityAction_HeartbeatTimeoutActivity) ProtoMessage() {} func (x *ExecuteActivityAction_HeartbeatTimeoutActivity) ProtoReflect() protoreflect.Message { - mi := &file_kitchen_sink_proto_msgTypes[43] + mi := &file_kitchen_sink_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4117,809 +4241,820 @@ var file_kitchen_sink_proto_rawDesc = []byte{ 0x00, 0x52, 0x24, 0x64, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x6e, 0x74, 0x22, 0x70, 0x0a, 0x1a, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, + 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x1a, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x14, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, - 0x6c, 0x6f, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, - 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0xdc, 0x02, 0x0a, 0x24, - 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x12, 0x6f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, - 0x6f, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x74, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, - 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, - 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x22, 0xbb, 0x03, 0x0a, 0x08, 0x44, - 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x62, 0x0a, 0x11, 0x64, 0x6f, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, - 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, - 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, - 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x1a, 0xd7, 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, - 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x54, 0x0a, 0x12, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x69, 0x6e, - 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, + 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x65, 0x0a, 0x14, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, - 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, - 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x49, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x42, 0x09, 0x0a, - 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x0c, 0x0a, 0x0a, 0x44, 0x6f, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x07, 0x44, 0x6f, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x45, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, - 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, - 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, - 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, - 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xf6, 0x01, 0x0a, 0x08, 0x44, 0x6f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0xdc, 0x02, 0x0a, 0x24, 0x44, 0x6f, 0x53, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, - 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x78, - 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, - 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, - 0x09, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, - 0x5c, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, - 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x44, 0x0a, 0x03, 0x6b, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, - 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4b, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x03, 0x6b, 0x76, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x4b, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf3, 0x01, - 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, - 0x4e, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x12, 0x6f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x74, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, + 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, + 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, 0x17, + 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x22, 0xbb, 0x03, 0x0a, 0x08, 0x44, 0x6f, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x62, 0x0a, 0x11, 0x64, 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x6f, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, - 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, - 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x49, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x12, 0x3c, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xca, - 0x0b, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x69, 0x6d, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x1a, 0xd7, 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, - 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0d, 0x65, 0x78, - 0x65, 0x63, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x65, 0x78, 0x65, - 0x63, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x62, - 0x0a, 0x14, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, - 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x12, - 0x61, 0x77, 0x61, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, - 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, - 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, - 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x12, 0x5c, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, - 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, - 0x73, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x74, - 0x0a, 0x18, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, - 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x75, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6d, - 0x65, 0x6d, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x12, + 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, + 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x4d, 0x61, + 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x42, + 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x0c, 0x0a, 0x0a, 0x44, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x07, 0x44, 0x6f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x45, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, + 0x29, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xf6, 0x01, 0x0a, 0x08, 0x44, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x47, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, + 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, + 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x9b, + 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x09, 0x64, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x11, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x03, + 0x6b, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4b, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6b, + 0x76, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x4b, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf3, 0x01, 0x0a, 0x0d, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x0f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x0e, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, 0x65, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x73, + 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x73, + 0x22, 0x69, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x0a, + 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xca, 0x0b, 0x0a, 0x06, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x43, 0x68, + 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x62, 0x0a, 0x14, 0x61, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x10, - 0x73, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x12, 0x61, 0x77, 0x61, + 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x4f, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, + 0x6b, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x12, 0x5b, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x5c, 0x0a, + 0x10, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, - 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x18, 0x75, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, - 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x59, 0x0a, 0x0f, 0x63, - 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, - 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, - 0x6b, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, - 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x53, 0x0a, 0x11, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x5c, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x75, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x75, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, + 0x6d, 0x6f, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x74, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, + 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, - 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x75, 0x73, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x15, 0x61, 0x77, 0x61, - 0x69, 0x74, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, - 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, - 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x61, - 0x69, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x0f, - 0x41, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, - 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, - 0x77, 0x61, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x62, - 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x12, 0x4c, - 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x14, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x66, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, - 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, - 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, - 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xc7, - 0x16, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x12, 0x31, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x6f, - 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6b, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, + 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x59, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, + 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, + 0x4e, 0x65, 0x77, 0x12, 0x53, 0x0a, 0x11, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x5c, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x75, + 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, + 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x15, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x61, 0x69, 0x74, 0x50, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, + 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x0f, 0x41, 0x77, 0x61, + 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x0b, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x77, 0x61, 0x69, + 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x63, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x65, + 0x48, 0x00, 0x52, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x15, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x14, 0x63, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x12, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x14, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x89, 0x01, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, + 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x77, 0x61, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xc7, 0x16, 0x0a, 0x15, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x12, 0x31, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x63, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, + 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5d, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x5a, 0x0a, 0x06, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x5a, 0x0a, 0x06, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, + 0x6e, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x72, + 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5d, 0x0a, 0x07, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, + 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x6a, 0x0a, 0x09, 0x68, 0x65, 0x61, + 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x72, - 0x79, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x48, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5d, 0x0a, - 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, - 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, - 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x48, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x6a, 0x0a, 0x09, - 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x4a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, - 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x09, 0x68, - 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, - 0x73, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, - 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, - 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x54, 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x6f, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, - 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, - 0x16, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, - 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, - 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, - 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, - 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x69, - 0x72, 0x6e, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, - 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x1a, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x61, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xdc, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, - 0x07, 0x72, 0x75, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x46, 0x6f, - 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x54, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, - 0x1c, 0x63, 0x70, 0x75, 0x5f, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x72, 0x79, - 0x5f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x70, 0x75, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, - 0x72, 0x79, 0x4e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, - 0x10, 0x63, 0x70, 0x75, 0x5f, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x59, 0x69, 0x65, 0x6c, - 0x64, 0x46, 0x6f, 0x72, 0x4d, 0x73, 0x1a, 0x63, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x1a, 0x65, 0x0a, 0x0e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x53, 0x0a, - 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x1a, 0x3d, 0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, - 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x73, 0x1a, 0xc2, 0x01, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, - 0x69, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x44, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x12, 0x58, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, + 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x19, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x6f, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x16, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x95, 0x02, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, - 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, - 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x68, 0x65, 0x61, - 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x5b, - 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xe6, 0x0c, 0x0a, 0x1a, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x12, 0x57, 0x0a, 0x1a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x6f, 0x43, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x68, 0x65, + 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5d, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, - 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, - 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x65, 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x5f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, - 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x52, 0x65, 0x75, 0x73, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, - 0x64, 0x52, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x0c, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, - 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, - 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, - 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, - 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x79, - 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, - 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, - 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x63, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, - 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, - 0x6b, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x59, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, - 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, + 0x52, 0x10, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, + 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x48, 0x01, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, + 0x4b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x1a, 0x5b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x58, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x15, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x3c, 0x0a, 0x12, 0x41, 0x77, 0x61, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x22, - 0xaa, 0x03, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x53, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x6f, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, + 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, 0x73, + 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x66, 0x61, 0x69, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x64, + 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xdc, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x75, + 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x46, 0x6f, 0x72, 0x12, 0x2a, + 0x0a, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x54, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x70, + 0x75, 0x5f, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x5f, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x18, 0x63, 0x70, 0x75, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x72, 0x79, 0x4e, + 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x63, 0x70, + 0x75, 0x5f, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x6f, + 0x72, 0x4d, 0x73, 0x1a, 0x63, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x54, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x1a, 0x65, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x53, 0x0a, 0x0f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, - 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, - 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, - 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, - 0x5b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x14, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, - 0x14, 0x53, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x45, 0x0a, 0x0c, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, + 0x3d, 0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, + 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x1a, 0xc2, + 0x01, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x41, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, + 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0x95, 0x02, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x41, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x66, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x48, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x5b, 0x0a, 0x0c, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xe6, 0x0c, 0x0a, 0x1a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, + 0x73, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x57, + 0x0a, 0x1a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x5d, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, + 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x50, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x65, 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, + 0x64, 0x5f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x52, 0x65, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x52, 0x65, + 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, + 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, + 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x10, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x79, 0x0a, 0x11, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, - 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x6e, 0x6e, 0x65, - 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x39, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, + 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, + 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x59, + 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, + 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, - 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x10, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x41, 0x0a, 0x0d, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x0c, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x65, - 0x6d, 0x6f, 0x22, 0x56, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x74, 0x68, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x0f, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x1a, 0x5b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x58, + 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, + 0x0a, 0x12, 0x41, 0x77, 0x61, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x74, 0x65, 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, 0x22, 0xaa, 0x03, 0x0a, + 0x10, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x53, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, + 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x77, 0x61, + 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0x5b, 0x0a, 0x0c, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x35, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0a, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x68, 0x69, 0x73, 0x22, 0x4f, 0x0a, 0x11, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3a, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x8f, 0x08, 0x0a, 0x13, - 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, - 0x73, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x14, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x53, 0x65, + 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x45, 0x0a, + 0x0c, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, + 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0d, + 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, + 0x6f, 0x52, 0x0c, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x22, + 0x56, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x74, 0x68, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x61, 0x72, 0x67, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, - 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x6d, - 0x6f, 0x12, 0x56, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, - 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x11, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, - 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, - 0x6b, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a, - 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x59, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, - 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x1a, 0x58, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x0c, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x54, 0x68, 0x69, 0x73, 0x22, 0x4f, 0x0a, 0x11, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, + 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, + 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x8f, 0x08, 0x0a, 0x13, 0x43, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x4d, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x4d, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, + 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, + 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x56, + 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x45, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, + 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x73, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, + 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x59, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, + 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x58, 0x0a, + 0x09, 0x4d, 0x65, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x02, - 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x61, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, - 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x6f, - 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x61, 0x67, 0x65, 0x72, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x6f, 0x4e, 0x6f, - 0x74, 0x45, 0x61, 0x67, 0x65, 0x72, 0x6c, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, - 0x59, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8a, 0x02, 0x0a, 0x15, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x61, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x34, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x65, 0x61, 0x67, 0x65, 0x72, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x61, + 0x67, 0x65, 0x72, 0x6c, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x11, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, + 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, - 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x8d, 0x04, 0x0a, 0x15, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, + 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x77, 0x61, - 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, + 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x0e, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, - 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x49, 0x64, 0x12, 0x7d, 0x0a, 0x23, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x77, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xef, 0x01, 0x0a, 0x15, 0x4e, 0x65, 0x78, 0x75, 0x73, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x12, 0x5a, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x4e, 0x65, 0x78, + 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, + 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x08, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x78, + 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, + 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, + 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x4e, 0x65, 0x78, + 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, + 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x6e, 0x0a, 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, + 0x69, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x1f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x61, 0x69, - 0x74, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0xce, 0x02, 0x0a, 0x11, 0x4e, - 0x65, 0x78, 0x75, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x0e, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, - 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x49, 0x64, 0x12, 0x7d, 0x0a, 0x23, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x1f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x61, - 0x69, 0x74, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x15, 0x0a, 0x13, 0x41, - 0x77, 0x61, 0x69, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2a, 0xa4, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x41, 0x52, 0x45, - 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, - 0x1d, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x10, 0x01, - 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, - 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, - 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x10, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0f, 0x0a, - 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, - 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x2a, 0xa2, 0x01, 0x0a, 0x1d, - 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x10, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, 0x46, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, - 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, 0x46, 0x5f, - 0x54, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, - 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, 0x46, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, - 0x57, 0x46, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x2a, 0x58, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, - 0x54, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, - 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x42, 0x0a, 0x10, 0x69, 0x6f, - 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, 0x5a, 0x2e, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6f, - 0x72, 0x61, 0x6c, 0x69, 0x6f, 0x2f, 0x6f, 0x6d, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x67, - 0x65, 0x6e, 0x2f, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6e, 0x6b, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x52, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x43, 0x6f, 0x6e, + 0x66, 0x6c, 0x69, 0x63, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x50, 0x0a, 0x0e, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, + 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0d, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x15, 0x0a, + 0x13, 0x41, 0x77, 0x61, 0x69, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xa4, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x41, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x21, 0x0a, 0x1d, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, + 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, + 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, + 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, + 0x4f, 0x53, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x10, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x2a, 0xa2, 0x01, + 0x0a, 0x1d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x10, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, 0x46, 0x5f, 0x41, 0x42, 0x41, 0x4e, + 0x44, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, + 0x46, 0x5f, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x28, + 0x0a, 0x24, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x57, 0x46, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, + 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x49, 0x4c, + 0x44, 0x5f, 0x57, 0x46, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, + 0x10, 0x03, 0x2a, 0x58, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, + 0x0a, 0x0a, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x1f, + 0x0a, 0x1b, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x42, 0x0a, 0x10, + 0x69, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x6f, 0x6d, 0x65, 0x73, + 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x69, 0x6f, 0x2f, 0x6f, 0x6d, 0x65, 0x73, 0x2f, 0x6c, 0x6f, 0x61, + 0x64, 0x67, 0x65, 0x6e, 0x2f, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6e, 0x6b, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4935,7 +5070,7 @@ func file_kitchen_sink_proto_rawDescGZIP() []byte { } var file_kitchen_sink_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_kitchen_sink_proto_msgTypes = make([]protoimpl.MessageInfo, 53) +var file_kitchen_sink_proto_msgTypes = make([]protoimpl.MessageInfo, 55) var file_kitchen_sink_proto_goTypes = []interface{}{ (ParentClosePolicy)(0), // 0: temporal.omes.kitchen_sink.ParentClosePolicy (VersioningIntent)(0), // 1: temporal.omes.kitchen_sink.VersioningIntent @@ -4975,36 +5110,38 @@ var file_kitchen_sink_proto_goTypes = []interface{}{ (*ContinueAsNewAction)(nil), // 35: temporal.omes.kitchen_sink.ContinueAsNewAction (*RemoteActivityOptions)(nil), // 36: temporal.omes.kitchen_sink.RemoteActivityOptions (*ExecuteNexusOperation)(nil), // 37: temporal.omes.kitchen_sink.ExecuteNexusOperation - (*NexusHandlerInput)(nil), // 38: temporal.omes.kitchen_sink.NexusHandlerInput - (*AwaitPendingActions)(nil), // 39: temporal.omes.kitchen_sink.AwaitPendingActions - (*DoSignal_DoSignalActions)(nil), // 40: temporal.omes.kitchen_sink.DoSignal.DoSignalActions - nil, // 41: temporal.omes.kitchen_sink.WorkflowState.KvsEntry - (*ExecuteActivityAction_GenericActivity)(nil), // 42: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity - (*ExecuteActivityAction_ResourcesActivity)(nil), // 43: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity - (*ExecuteActivityAction_PayloadActivity)(nil), // 44: temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivity - (*ExecuteActivityAction_ClientActivity)(nil), // 45: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity - (*ExecuteActivityAction_RetryableErrorActivity)(nil), // 46: temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivity - (*ExecuteActivityAction_TimeoutActivity)(nil), // 47: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity - (*ExecuteActivityAction_HeartbeatTimeoutActivity)(nil), // 48: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity - nil, // 49: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry - nil, // 50: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry - nil, // 51: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry - nil, // 52: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry - nil, // 53: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry - nil, // 54: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry - nil, // 55: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry - nil, // 56: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry - nil, // 57: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry - (*durationpb.Duration)(nil), // 58: google.protobuf.Duration - (*v1.Payloads)(nil), // 59: temporal.api.common.v1.Payloads - (*emptypb.Empty)(nil), // 60: google.protobuf.Empty - (*v1.Payload)(nil), // 61: temporal.api.common.v1.Payload - (*v1.RetryPolicy)(nil), // 62: temporal.api.common.v1.RetryPolicy - (*v1.Priority)(nil), // 63: temporal.api.common.v1.Priority - (v11.WorkflowIdReusePolicy)(0), // 64: temporal.api.enums.v1.WorkflowIdReusePolicy - (*v1.Memo)(nil), // 65: temporal.api.common.v1.Memo - (*v12.Failure)(nil), // 66: temporal.api.failure.v1.Failure - (v11.WorkflowIdConflictPolicy)(0), // 67: temporal.api.enums.v1.WorkflowIdConflictPolicy + (*NexusOperationRequest)(nil), // 38: temporal.omes.kitchen_sink.NexusOperationRequest + (*NexusWorkflowAction)(nil), // 39: temporal.omes.kitchen_sink.NexusWorkflowAction + (*NexusWorkflowStartOptions)(nil), // 40: temporal.omes.kitchen_sink.NexusWorkflowStartOptions + (*AwaitPendingActions)(nil), // 41: temporal.omes.kitchen_sink.AwaitPendingActions + (*DoSignal_DoSignalActions)(nil), // 42: temporal.omes.kitchen_sink.DoSignal.DoSignalActions + nil, // 43: temporal.omes.kitchen_sink.WorkflowState.KvsEntry + (*ExecuteActivityAction_GenericActivity)(nil), // 44: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity + (*ExecuteActivityAction_ResourcesActivity)(nil), // 45: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity + (*ExecuteActivityAction_PayloadActivity)(nil), // 46: temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivity + (*ExecuteActivityAction_ClientActivity)(nil), // 47: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity + (*ExecuteActivityAction_RetryableErrorActivity)(nil), // 48: temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivity + (*ExecuteActivityAction_TimeoutActivity)(nil), // 49: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity + (*ExecuteActivityAction_HeartbeatTimeoutActivity)(nil), // 50: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity + nil, // 51: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry + nil, // 52: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry + nil, // 53: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry + nil, // 54: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry + nil, // 55: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry + nil, // 56: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry + nil, // 57: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry + nil, // 58: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry + nil, // 59: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry + (*durationpb.Duration)(nil), // 60: google.protobuf.Duration + (*v1.Payloads)(nil), // 61: temporal.api.common.v1.Payloads + (*emptypb.Empty)(nil), // 62: google.protobuf.Empty + (*v1.Payload)(nil), // 63: temporal.api.common.v1.Payload + (*v1.RetryPolicy)(nil), // 64: temporal.api.common.v1.RetryPolicy + (*v1.Priority)(nil), // 65: temporal.api.common.v1.Priority + (v11.WorkflowIdReusePolicy)(0), // 66: temporal.api.enums.v1.WorkflowIdReusePolicy + (*v1.Memo)(nil), // 67: temporal.api.common.v1.Memo + (*v12.Failure)(nil), // 68: temporal.api.failure.v1.Failure + (v11.WorkflowIdConflictPolicy)(0), // 69: temporal.api.enums.v1.WorkflowIdConflictPolicy } var file_kitchen_sink_proto_depIdxs = []int32{ 20, // 0: temporal.omes.kitchen_sink.TestInput.workflow_input:type_name -> temporal.omes.kitchen_sink.WorkflowInput @@ -5012,7 +5149,7 @@ var file_kitchen_sink_proto_depIdxs = []int32{ 8, // 2: temporal.omes.kitchen_sink.TestInput.with_start_action:type_name -> temporal.omes.kitchen_sink.WithStartClientAction 7, // 3: temporal.omes.kitchen_sink.ClientSequence.action_sets:type_name -> temporal.omes.kitchen_sink.ClientActionSet 9, // 4: temporal.omes.kitchen_sink.ClientActionSet.actions:type_name -> temporal.omes.kitchen_sink.ClientAction - 58, // 5: temporal.omes.kitchen_sink.ClientActionSet.wait_at_end:type_name -> google.protobuf.Duration + 60, // 5: temporal.omes.kitchen_sink.ClientActionSet.wait_at_end:type_name -> google.protobuf.Duration 13, // 6: temporal.omes.kitchen_sink.WithStartClientAction.do_signal:type_name -> temporal.omes.kitchen_sink.DoSignal 16, // 7: temporal.omes.kitchen_sink.WithStartClientAction.do_update:type_name -> temporal.omes.kitchen_sink.DoUpdate 13, // 8: temporal.omes.kitchen_sink.ClientAction.do_signal:type_name -> temporal.omes.kitchen_sink.DoSignal @@ -5023,123 +5160,128 @@ var file_kitchen_sink_proto_depIdxs = []int32{ 10, // 13: temporal.omes.kitchen_sink.ClientAction.do_standalone_nexus_operation:type_name -> temporal.omes.kitchen_sink.DoStandaloneNexusOperation 11, // 14: temporal.omes.kitchen_sink.ClientAction.do_standalone_activity:type_name -> temporal.omes.kitchen_sink.DoStandaloneActivity 12, // 15: temporal.omes.kitchen_sink.ClientAction.do_standalone_activity_operator_commands:type_name -> temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands - 25, // 16: temporal.omes.kitchen_sink.DoStandaloneActivity.activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction - 25, // 17: temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction - 4, // 18: temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.command_type:type_name -> temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType - 40, // 19: temporal.omes.kitchen_sink.DoSignal.do_signal_actions:type_name -> temporal.omes.kitchen_sink.DoSignal.DoSignalActions - 18, // 20: temporal.omes.kitchen_sink.DoSignal.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation - 59, // 21: temporal.omes.kitchen_sink.DoQuery.report_state:type_name -> temporal.api.common.v1.Payloads - 18, // 22: temporal.omes.kitchen_sink.DoQuery.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation - 17, // 23: temporal.omes.kitchen_sink.DoUpdate.do_actions:type_name -> temporal.omes.kitchen_sink.DoActionsUpdate - 18, // 24: temporal.omes.kitchen_sink.DoUpdate.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation - 21, // 25: temporal.omes.kitchen_sink.DoActionsUpdate.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet - 60, // 26: temporal.omes.kitchen_sink.DoActionsUpdate.reject_me:type_name -> google.protobuf.Empty - 61, // 27: temporal.omes.kitchen_sink.HandlerInvocation.args:type_name -> temporal.api.common.v1.Payload - 41, // 28: temporal.omes.kitchen_sink.WorkflowState.kvs:type_name -> temporal.omes.kitchen_sink.WorkflowState.KvsEntry - 21, // 29: temporal.omes.kitchen_sink.WorkflowInput.initial_actions:type_name -> temporal.omes.kitchen_sink.ActionSet - 22, // 30: temporal.omes.kitchen_sink.ActionSet.actions:type_name -> temporal.omes.kitchen_sink.Action - 24, // 31: temporal.omes.kitchen_sink.Action.timer:type_name -> temporal.omes.kitchen_sink.TimerAction - 25, // 32: temporal.omes.kitchen_sink.Action.exec_activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction - 26, // 33: temporal.omes.kitchen_sink.Action.exec_child_workflow:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction - 27, // 34: temporal.omes.kitchen_sink.Action.await_workflow_state:type_name -> temporal.omes.kitchen_sink.AwaitWorkflowState - 28, // 35: temporal.omes.kitchen_sink.Action.send_signal:type_name -> temporal.omes.kitchen_sink.SendSignalAction - 29, // 36: temporal.omes.kitchen_sink.Action.cancel_workflow:type_name -> temporal.omes.kitchen_sink.CancelWorkflowAction - 30, // 37: temporal.omes.kitchen_sink.Action.set_patch_marker:type_name -> temporal.omes.kitchen_sink.SetPatchMarkerAction - 31, // 38: temporal.omes.kitchen_sink.Action.upsert_search_attributes:type_name -> temporal.omes.kitchen_sink.UpsertSearchAttributesAction - 32, // 39: temporal.omes.kitchen_sink.Action.upsert_memo:type_name -> temporal.omes.kitchen_sink.UpsertMemoAction - 19, // 40: temporal.omes.kitchen_sink.Action.set_workflow_state:type_name -> temporal.omes.kitchen_sink.WorkflowState - 33, // 41: temporal.omes.kitchen_sink.Action.return_result:type_name -> temporal.omes.kitchen_sink.ReturnResultAction - 34, // 42: temporal.omes.kitchen_sink.Action.return_error:type_name -> temporal.omes.kitchen_sink.ReturnErrorAction - 35, // 43: temporal.omes.kitchen_sink.Action.continue_as_new:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction - 21, // 44: temporal.omes.kitchen_sink.Action.nested_action_set:type_name -> temporal.omes.kitchen_sink.ActionSet - 37, // 45: temporal.omes.kitchen_sink.Action.nexus_operation:type_name -> temporal.omes.kitchen_sink.ExecuteNexusOperation - 39, // 46: temporal.omes.kitchen_sink.Action.await_pending_actions:type_name -> temporal.omes.kitchen_sink.AwaitPendingActions - 60, // 47: temporal.omes.kitchen_sink.AwaitableChoice.wait_finish:type_name -> google.protobuf.Empty - 60, // 48: temporal.omes.kitchen_sink.AwaitableChoice.abandon:type_name -> google.protobuf.Empty - 60, // 49: temporal.omes.kitchen_sink.AwaitableChoice.cancel_before_started:type_name -> google.protobuf.Empty - 60, // 50: temporal.omes.kitchen_sink.AwaitableChoice.cancel_after_started:type_name -> google.protobuf.Empty - 60, // 51: temporal.omes.kitchen_sink.AwaitableChoice.cancel_after_completed:type_name -> google.protobuf.Empty - 60, // 52: temporal.omes.kitchen_sink.AwaitableChoice.wait_started:type_name -> google.protobuf.Empty - 23, // 53: temporal.omes.kitchen_sink.TimerAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice - 42, // 54: temporal.omes.kitchen_sink.ExecuteActivityAction.generic:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity - 58, // 55: temporal.omes.kitchen_sink.ExecuteActivityAction.delay:type_name -> google.protobuf.Duration - 60, // 56: temporal.omes.kitchen_sink.ExecuteActivityAction.noop:type_name -> google.protobuf.Empty - 43, // 57: temporal.omes.kitchen_sink.ExecuteActivityAction.resources:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity - 44, // 58: temporal.omes.kitchen_sink.ExecuteActivityAction.payload:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivity - 45, // 59: temporal.omes.kitchen_sink.ExecuteActivityAction.client:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity - 46, // 60: temporal.omes.kitchen_sink.ExecuteActivityAction.retryable_error:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivity - 47, // 61: temporal.omes.kitchen_sink.ExecuteActivityAction.timeout:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity - 48, // 62: temporal.omes.kitchen_sink.ExecuteActivityAction.heartbeat:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity - 49, // 63: temporal.omes.kitchen_sink.ExecuteActivityAction.headers:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry - 58, // 64: temporal.omes.kitchen_sink.ExecuteActivityAction.schedule_to_close_timeout:type_name -> google.protobuf.Duration - 58, // 65: temporal.omes.kitchen_sink.ExecuteActivityAction.schedule_to_start_timeout:type_name -> google.protobuf.Duration - 58, // 66: temporal.omes.kitchen_sink.ExecuteActivityAction.start_to_close_timeout:type_name -> google.protobuf.Duration - 58, // 67: temporal.omes.kitchen_sink.ExecuteActivityAction.heartbeat_timeout:type_name -> google.protobuf.Duration - 62, // 68: temporal.omes.kitchen_sink.ExecuteActivityAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy - 60, // 69: temporal.omes.kitchen_sink.ExecuteActivityAction.is_local:type_name -> google.protobuf.Empty - 36, // 70: temporal.omes.kitchen_sink.ExecuteActivityAction.remote:type_name -> temporal.omes.kitchen_sink.RemoteActivityOptions - 23, // 71: temporal.omes.kitchen_sink.ExecuteActivityAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice - 63, // 72: temporal.omes.kitchen_sink.ExecuteActivityAction.priority:type_name -> temporal.api.common.v1.Priority - 61, // 73: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.input:type_name -> temporal.api.common.v1.Payload - 58, // 74: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_execution_timeout:type_name -> google.protobuf.Duration - 58, // 75: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_run_timeout:type_name -> google.protobuf.Duration - 58, // 76: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_task_timeout:type_name -> google.protobuf.Duration - 0, // 77: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.parent_close_policy:type_name -> temporal.omes.kitchen_sink.ParentClosePolicy - 64, // 78: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy - 62, // 79: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy - 50, // 80: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.headers:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry - 51, // 81: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.memo:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry - 52, // 82: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.search_attributes:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry - 2, // 83: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.cancellation_type:type_name -> temporal.omes.kitchen_sink.ChildWorkflowCancellationType - 1, // 84: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent - 23, // 85: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice - 61, // 86: temporal.omes.kitchen_sink.SendSignalAction.args:type_name -> temporal.api.common.v1.Payload - 53, // 87: temporal.omes.kitchen_sink.SendSignalAction.headers:type_name -> temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry - 23, // 88: temporal.omes.kitchen_sink.SendSignalAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice - 22, // 89: temporal.omes.kitchen_sink.SetPatchMarkerAction.inner_action:type_name -> temporal.omes.kitchen_sink.Action - 54, // 90: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.search_attributes:type_name -> temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry - 65, // 91: temporal.omes.kitchen_sink.UpsertMemoAction.upserted_memo:type_name -> temporal.api.common.v1.Memo - 61, // 92: temporal.omes.kitchen_sink.ReturnResultAction.return_this:type_name -> temporal.api.common.v1.Payload - 66, // 93: temporal.omes.kitchen_sink.ReturnErrorAction.failure:type_name -> temporal.api.failure.v1.Failure - 61, // 94: temporal.omes.kitchen_sink.ContinueAsNewAction.arguments:type_name -> temporal.api.common.v1.Payload - 58, // 95: temporal.omes.kitchen_sink.ContinueAsNewAction.workflow_run_timeout:type_name -> google.protobuf.Duration - 58, // 96: temporal.omes.kitchen_sink.ContinueAsNewAction.workflow_task_timeout:type_name -> google.protobuf.Duration - 55, // 97: temporal.omes.kitchen_sink.ContinueAsNewAction.memo:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry - 56, // 98: temporal.omes.kitchen_sink.ContinueAsNewAction.headers:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry - 57, // 99: temporal.omes.kitchen_sink.ContinueAsNewAction.search_attributes:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry - 62, // 100: temporal.omes.kitchen_sink.ContinueAsNewAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy - 1, // 101: temporal.omes.kitchen_sink.ContinueAsNewAction.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent - 3, // 102: temporal.omes.kitchen_sink.RemoteActivityOptions.cancellation_type:type_name -> temporal.omes.kitchen_sink.ActivityCancellationType - 1, // 103: temporal.omes.kitchen_sink.RemoteActivityOptions.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent - 23, // 104: temporal.omes.kitchen_sink.ExecuteNexusOperation.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice - 21, // 105: temporal.omes.kitchen_sink.ExecuteNexusOperation.before_actions:type_name -> temporal.omes.kitchen_sink.ActionSet - 67, // 106: temporal.omes.kitchen_sink.ExecuteNexusOperation.handler_workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy - 21, // 107: temporal.omes.kitchen_sink.NexusHandlerInput.before_actions:type_name -> temporal.omes.kitchen_sink.ActionSet - 67, // 108: temporal.omes.kitchen_sink.NexusHandlerInput.handler_workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy - 21, // 109: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet - 21, // 110: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions_in_main:type_name -> temporal.omes.kitchen_sink.ActionSet - 61, // 111: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity.arguments:type_name -> temporal.api.common.v1.Payload - 58, // 112: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity.run_for:type_name -> google.protobuf.Duration - 6, // 113: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity.client_sequence:type_name -> temporal.omes.kitchen_sink.ClientSequence - 58, // 114: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.success_duration:type_name -> google.protobuf.Duration - 58, // 115: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.failure_duration:type_name -> google.protobuf.Duration - 58, // 116: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.success_duration:type_name -> google.protobuf.Duration - 58, // 117: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.failure_duration:type_name -> google.protobuf.Duration - 58, // 118: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.heartbeat_interval:type_name -> google.protobuf.Duration - 61, // 119: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 120: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 121: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 122: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 123: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 124: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 125: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 126: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload - 61, // 127: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload - 128, // [128:128] is the sub-list for method output_type - 128, // [128:128] is the sub-list for method input_type - 128, // [128:128] is the sub-list for extension type_name - 128, // [128:128] is the sub-list for extension extendee - 0, // [0:128] is the sub-list for field type_name + 37, // 16: temporal.omes.kitchen_sink.DoStandaloneNexusOperation.operation:type_name -> temporal.omes.kitchen_sink.ExecuteNexusOperation + 25, // 17: temporal.omes.kitchen_sink.DoStandaloneActivity.activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction + 25, // 18: temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction + 4, // 19: temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.command_type:type_name -> temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType + 42, // 20: temporal.omes.kitchen_sink.DoSignal.do_signal_actions:type_name -> temporal.omes.kitchen_sink.DoSignal.DoSignalActions + 18, // 21: temporal.omes.kitchen_sink.DoSignal.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation + 61, // 22: temporal.omes.kitchen_sink.DoQuery.report_state:type_name -> temporal.api.common.v1.Payloads + 18, // 23: temporal.omes.kitchen_sink.DoQuery.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation + 17, // 24: temporal.omes.kitchen_sink.DoUpdate.do_actions:type_name -> temporal.omes.kitchen_sink.DoActionsUpdate + 18, // 25: temporal.omes.kitchen_sink.DoUpdate.custom:type_name -> temporal.omes.kitchen_sink.HandlerInvocation + 21, // 26: temporal.omes.kitchen_sink.DoActionsUpdate.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet + 62, // 27: temporal.omes.kitchen_sink.DoActionsUpdate.reject_me:type_name -> google.protobuf.Empty + 63, // 28: temporal.omes.kitchen_sink.HandlerInvocation.args:type_name -> temporal.api.common.v1.Payload + 43, // 29: temporal.omes.kitchen_sink.WorkflowState.kvs:type_name -> temporal.omes.kitchen_sink.WorkflowState.KvsEntry + 21, // 30: temporal.omes.kitchen_sink.WorkflowInput.initial_actions:type_name -> temporal.omes.kitchen_sink.ActionSet + 22, // 31: temporal.omes.kitchen_sink.ActionSet.actions:type_name -> temporal.omes.kitchen_sink.Action + 24, // 32: temporal.omes.kitchen_sink.Action.timer:type_name -> temporal.omes.kitchen_sink.TimerAction + 25, // 33: temporal.omes.kitchen_sink.Action.exec_activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction + 26, // 34: temporal.omes.kitchen_sink.Action.exec_child_workflow:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction + 27, // 35: temporal.omes.kitchen_sink.Action.await_workflow_state:type_name -> temporal.omes.kitchen_sink.AwaitWorkflowState + 28, // 36: temporal.omes.kitchen_sink.Action.send_signal:type_name -> temporal.omes.kitchen_sink.SendSignalAction + 29, // 37: temporal.omes.kitchen_sink.Action.cancel_workflow:type_name -> temporal.omes.kitchen_sink.CancelWorkflowAction + 30, // 38: temporal.omes.kitchen_sink.Action.set_patch_marker:type_name -> temporal.omes.kitchen_sink.SetPatchMarkerAction + 31, // 39: temporal.omes.kitchen_sink.Action.upsert_search_attributes:type_name -> temporal.omes.kitchen_sink.UpsertSearchAttributesAction + 32, // 40: temporal.omes.kitchen_sink.Action.upsert_memo:type_name -> temporal.omes.kitchen_sink.UpsertMemoAction + 19, // 41: temporal.omes.kitchen_sink.Action.set_workflow_state:type_name -> temporal.omes.kitchen_sink.WorkflowState + 33, // 42: temporal.omes.kitchen_sink.Action.return_result:type_name -> temporal.omes.kitchen_sink.ReturnResultAction + 34, // 43: temporal.omes.kitchen_sink.Action.return_error:type_name -> temporal.omes.kitchen_sink.ReturnErrorAction + 35, // 44: temporal.omes.kitchen_sink.Action.continue_as_new:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction + 21, // 45: temporal.omes.kitchen_sink.Action.nested_action_set:type_name -> temporal.omes.kitchen_sink.ActionSet + 37, // 46: temporal.omes.kitchen_sink.Action.nexus_operation:type_name -> temporal.omes.kitchen_sink.ExecuteNexusOperation + 41, // 47: temporal.omes.kitchen_sink.Action.await_pending_actions:type_name -> temporal.omes.kitchen_sink.AwaitPendingActions + 62, // 48: temporal.omes.kitchen_sink.AwaitableChoice.wait_finish:type_name -> google.protobuf.Empty + 62, // 49: temporal.omes.kitchen_sink.AwaitableChoice.abandon:type_name -> google.protobuf.Empty + 62, // 50: temporal.omes.kitchen_sink.AwaitableChoice.cancel_before_started:type_name -> google.protobuf.Empty + 62, // 51: temporal.omes.kitchen_sink.AwaitableChoice.cancel_after_started:type_name -> google.protobuf.Empty + 62, // 52: temporal.omes.kitchen_sink.AwaitableChoice.cancel_after_completed:type_name -> google.protobuf.Empty + 62, // 53: temporal.omes.kitchen_sink.AwaitableChoice.wait_started:type_name -> google.protobuf.Empty + 23, // 54: temporal.omes.kitchen_sink.TimerAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice + 44, // 55: temporal.omes.kitchen_sink.ExecuteActivityAction.generic:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity + 60, // 56: temporal.omes.kitchen_sink.ExecuteActivityAction.delay:type_name -> google.protobuf.Duration + 62, // 57: temporal.omes.kitchen_sink.ExecuteActivityAction.noop:type_name -> google.protobuf.Empty + 45, // 58: temporal.omes.kitchen_sink.ExecuteActivityAction.resources:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity + 46, // 59: temporal.omes.kitchen_sink.ExecuteActivityAction.payload:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivity + 47, // 60: temporal.omes.kitchen_sink.ExecuteActivityAction.client:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity + 48, // 61: temporal.omes.kitchen_sink.ExecuteActivityAction.retryable_error:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivity + 49, // 62: temporal.omes.kitchen_sink.ExecuteActivityAction.timeout:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity + 50, // 63: temporal.omes.kitchen_sink.ExecuteActivityAction.heartbeat:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity + 51, // 64: temporal.omes.kitchen_sink.ExecuteActivityAction.headers:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry + 60, // 65: temporal.omes.kitchen_sink.ExecuteActivityAction.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 60, // 66: temporal.omes.kitchen_sink.ExecuteActivityAction.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 60, // 67: temporal.omes.kitchen_sink.ExecuteActivityAction.start_to_close_timeout:type_name -> google.protobuf.Duration + 60, // 68: temporal.omes.kitchen_sink.ExecuteActivityAction.heartbeat_timeout:type_name -> google.protobuf.Duration + 64, // 69: temporal.omes.kitchen_sink.ExecuteActivityAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 62, // 70: temporal.omes.kitchen_sink.ExecuteActivityAction.is_local:type_name -> google.protobuf.Empty + 36, // 71: temporal.omes.kitchen_sink.ExecuteActivityAction.remote:type_name -> temporal.omes.kitchen_sink.RemoteActivityOptions + 23, // 72: temporal.omes.kitchen_sink.ExecuteActivityAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice + 65, // 73: temporal.omes.kitchen_sink.ExecuteActivityAction.priority:type_name -> temporal.api.common.v1.Priority + 63, // 74: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.input:type_name -> temporal.api.common.v1.Payload + 60, // 75: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_execution_timeout:type_name -> google.protobuf.Duration + 60, // 76: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_run_timeout:type_name -> google.protobuf.Duration + 60, // 77: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_task_timeout:type_name -> google.protobuf.Duration + 0, // 78: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.parent_close_policy:type_name -> temporal.omes.kitchen_sink.ParentClosePolicy + 66, // 79: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 64, // 80: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 52, // 81: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.headers:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry + 53, // 82: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.memo:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry + 54, // 83: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.search_attributes:type_name -> temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry + 2, // 84: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.cancellation_type:type_name -> temporal.omes.kitchen_sink.ChildWorkflowCancellationType + 1, // 85: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent + 23, // 86: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice + 63, // 87: temporal.omes.kitchen_sink.SendSignalAction.args:type_name -> temporal.api.common.v1.Payload + 55, // 88: temporal.omes.kitchen_sink.SendSignalAction.headers:type_name -> temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry + 23, // 89: temporal.omes.kitchen_sink.SendSignalAction.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice + 22, // 90: temporal.omes.kitchen_sink.SetPatchMarkerAction.inner_action:type_name -> temporal.omes.kitchen_sink.Action + 56, // 91: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.search_attributes:type_name -> temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry + 67, // 92: temporal.omes.kitchen_sink.UpsertMemoAction.upserted_memo:type_name -> temporal.api.common.v1.Memo + 63, // 93: temporal.omes.kitchen_sink.ReturnResultAction.return_this:type_name -> temporal.api.common.v1.Payload + 68, // 94: temporal.omes.kitchen_sink.ReturnErrorAction.failure:type_name -> temporal.api.failure.v1.Failure + 63, // 95: temporal.omes.kitchen_sink.ContinueAsNewAction.arguments:type_name -> temporal.api.common.v1.Payload + 60, // 96: temporal.omes.kitchen_sink.ContinueAsNewAction.workflow_run_timeout:type_name -> google.protobuf.Duration + 60, // 97: temporal.omes.kitchen_sink.ContinueAsNewAction.workflow_task_timeout:type_name -> google.protobuf.Duration + 57, // 98: temporal.omes.kitchen_sink.ContinueAsNewAction.memo:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry + 58, // 99: temporal.omes.kitchen_sink.ContinueAsNewAction.headers:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry + 59, // 100: temporal.omes.kitchen_sink.ContinueAsNewAction.search_attributes:type_name -> temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry + 64, // 101: temporal.omes.kitchen_sink.ContinueAsNewAction.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 1, // 102: temporal.omes.kitchen_sink.ContinueAsNewAction.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent + 3, // 103: temporal.omes.kitchen_sink.RemoteActivityOptions.cancellation_type:type_name -> temporal.omes.kitchen_sink.ActivityCancellationType + 1, // 104: temporal.omes.kitchen_sink.RemoteActivityOptions.versioning_intent:type_name -> temporal.omes.kitchen_sink.VersioningIntent + 38, // 105: temporal.omes.kitchen_sink.ExecuteNexusOperation.input:type_name -> temporal.omes.kitchen_sink.NexusOperationRequest + 23, // 106: temporal.omes.kitchen_sink.ExecuteNexusOperation.awaitable_choice:type_name -> temporal.omes.kitchen_sink.AwaitableChoice + 63, // 107: temporal.omes.kitchen_sink.ExecuteNexusOperation.expected_output:type_name -> temporal.api.common.v1.Payload + 39, // 108: temporal.omes.kitchen_sink.NexusOperationRequest.workflow_action:type_name -> temporal.omes.kitchen_sink.NexusWorkflowAction + 25, // 109: temporal.omes.kitchen_sink.NexusOperationRequest.start_activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction + 40, // 110: temporal.omes.kitchen_sink.NexusWorkflowAction.start_options:type_name -> temporal.omes.kitchen_sink.NexusWorkflowStartOptions + 62, // 111: temporal.omes.kitchen_sink.NexusWorkflowAction.start:type_name -> google.protobuf.Empty + 69, // 112: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy + 20, // 113: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_input:type_name -> temporal.omes.kitchen_sink.WorkflowInput + 21, // 114: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet + 21, // 115: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions_in_main:type_name -> temporal.omes.kitchen_sink.ActionSet + 63, // 116: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity.arguments:type_name -> temporal.api.common.v1.Payload + 60, // 117: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity.run_for:type_name -> google.protobuf.Duration + 6, // 118: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity.client_sequence:type_name -> temporal.omes.kitchen_sink.ClientSequence + 60, // 119: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.success_duration:type_name -> google.protobuf.Duration + 60, // 120: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.failure_duration:type_name -> google.protobuf.Duration + 60, // 121: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.success_duration:type_name -> google.protobuf.Duration + 60, // 122: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.failure_duration:type_name -> google.protobuf.Duration + 60, // 123: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.heartbeat_interval:type_name -> google.protobuf.Duration + 63, // 124: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 125: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 126: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 127: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 128: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 129: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 130: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 131: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload + 63, // 132: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload + 133, // [133:133] is the sub-list for method output_type + 133, // [133:133] is the sub-list for method input_type + 133, // [133:133] is the sub-list for extension type_name + 133, // [133:133] is the sub-list for extension extendee + 0, // [0:133] is the sub-list for field type_name } func init() { file_kitchen_sink_proto_init() } @@ -5545,7 +5687,7 @@ func file_kitchen_sink_proto_init() { } } file_kitchen_sink_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NexusHandlerInput); i { + switch v := v.(*NexusOperationRequest); i { case 0: return &v.state case 1: @@ -5557,7 +5699,7 @@ func file_kitchen_sink_proto_init() { } } file_kitchen_sink_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AwaitPendingActions); i { + switch v := v.(*NexusWorkflowAction); i { case 0: return &v.state case 1: @@ -5569,7 +5711,19 @@ func file_kitchen_sink_proto_init() { } } file_kitchen_sink_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DoSignal_DoSignalActions); i { + switch v := v.(*NexusWorkflowStartOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_kitchen_sink_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AwaitPendingActions); i { case 0: return &v.state case 1: @@ -5581,6 +5735,18 @@ func file_kitchen_sink_proto_init() { } } file_kitchen_sink_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoSignal_DoSignalActions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_kitchen_sink_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_GenericActivity); i { case 0: return &v.state @@ -5592,7 +5758,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_ResourcesActivity); i { case 0: return &v.state @@ -5604,7 +5770,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_PayloadActivity); i { case 0: return &v.state @@ -5616,7 +5782,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_ClientActivity); i { case 0: return &v.state @@ -5628,7 +5794,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_RetryableErrorActivity); i { case 0: return &v.state @@ -5640,7 +5806,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_TimeoutActivity); i { case 0: return &v.state @@ -5652,7 +5818,7 @@ func file_kitchen_sink_proto_init() { return nil } } - file_kitchen_sink_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_kitchen_sink_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteActivityAction_HeartbeatTimeoutActivity); i { case 0: return &v.state @@ -5734,7 +5900,15 @@ func file_kitchen_sink_proto_init() { (*ExecuteActivityAction_IsLocal)(nil), (*ExecuteActivityAction_Remote)(nil), } - file_kitchen_sink_proto_msgTypes[35].OneofWrappers = []interface{}{ + file_kitchen_sink_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*NexusOperationRequest_Echo)(nil), + (*NexusOperationRequest_WorkflowAction)(nil), + (*NexusOperationRequest_StartActivity)(nil), + } + file_kitchen_sink_proto_msgTypes[34].OneofWrappers = []interface{}{ + (*NexusWorkflowAction_Start)(nil), + } + file_kitchen_sink_proto_msgTypes[37].OneofWrappers = []interface{}{ (*DoSignal_DoSignalActions_DoActions)(nil), (*DoSignal_DoSignalActions_DoActionsInMain)(nil), } @@ -5744,7 +5918,7 @@ func file_kitchen_sink_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_kitchen_sink_proto_rawDesc, NumEnums: 5, - NumMessages: 53, + NumMessages: 55, NumExtensions: 0, NumServices: 0, }, diff --git a/scenarios/throughput_stress.go b/scenarios/throughput_stress.go index 66c206b4..6423f6cd 100644 --- a/scenarios/throughput_stress.go +++ b/scenarios/throughput_stress.go @@ -582,20 +582,37 @@ func (t *tpsExecutor) createActionsChunk( // Add Nexus operations, if configured. if t.config.NexusEnabled { asyncActions = append(asyncActions, t.createNexusEchoSyncAction()) - asyncActions = append(asyncActions, t.createNexusEchoAsyncAction()) + asyncActions = append(asyncActions, t.createNexusStartWorkflowAction()) asyncActions = append(asyncActions, t.createNexusWaitForCancelAction()) asyncActions = append(asyncActions, t.createNexusAttachCallbacksAction()) if t.config.IncludeStandaloneNexus { asyncActions = append(asyncActions, - t.createStandaloneNexusOperationAction("echo-async"), - t.createStandaloneNexusOperationAction("echo-sync"), + t.createStandaloneNexusOperationAction(&NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet(NewEmptyReturnResultAction()), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }), + t.createStandaloneNexusOperationAction(&NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "hello"}, + }), ) } if t.config.IncludeNexusStandaloneActivity { asyncActions = append(asyncActions, t.createNexusStandaloneActivityAction()) if t.config.IncludeStandaloneNexus { asyncActions = append(asyncActions, - t.createStandaloneNexusOperationAction("standalone-activity"), + t.createStandaloneNexusOperationAction(&NexusOperationRequest{ + Action: &NexusOperationRequest_StartActivity{StartActivity: &ExecuteActivityAction{ + ActivityType: &ExecuteActivityAction_Noop{}, + }}, + }), ) } } @@ -793,23 +810,35 @@ func (t *tpsExecutor) createNexusEchoSyncAction() *Action { return &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Endpoint: t.config.NexusEndpoint, - Operation: "echo-sync", - Input: "hello", - ExpectedOutput: "hello", + Endpoint: t.config.NexusEndpoint, + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_Echo{Echo: "hello"}, + }, + ExpectedOutput: ConvertToPayload("hello"), }, }, } } -func (t *tpsExecutor) createNexusEchoAsyncAction() *Action { +func (t *tpsExecutor) createNexusStartWorkflowAction() *Action { return &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Endpoint: t.config.NexusEndpoint, - Operation: "echo-async", - Input: "hello", - ExpectedOutput: "hello", + Endpoint: t.config.NexusEndpoint, + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet(NewEmptyReturnResultAction()), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, }, }, } @@ -820,10 +849,21 @@ func (t *tpsExecutor) createNexusWaitForCancelAction() *Action { Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ Endpoint: t.config.NexusEndpoint, - Operation: "echo-async", - BeforeActions: ListActionSet( - NewAwaitWorkflowStateAction("never", "resolves"), - ), + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + StartOptions: &NexusWorkflowStartOptions{ + WorkflowInput: &WorkflowInput{ + InitialActions: ListActionSet( + NewAwaitWorkflowStateAction("never", "resolves"), + ), + }, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_CancelAfterStarted{ CancelAfterStarted: &emptypb.Empty{}, @@ -844,12 +884,19 @@ func (t *tpsExecutor) createNexusAttachCallbacksAction() *Action { return &Action{ Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ - Endpoint: t.config.NexusEndpoint, - Operation: "echo-async", - Input: "hello", - HandlerWorkflowId: handlerWfID, - HandlerWorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING, - WaitForSignal: true, + Endpoint: t.config.NexusEndpoint, + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_WorkflowAction{ + WorkflowAction: &NexusWorkflowAction{ + WorkflowId: handlerWfID, + StartOptions: &NexusWorkflowStartOptions{ + WorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING, + }, + Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}}, + }, + }, + }, AwaitableChoice: &AwaitableChoice{ Condition: &AwaitableChoice_WaitStarted{WaitStarted: &emptypb.Empty{}}, }, @@ -872,7 +919,12 @@ func (t *tpsExecutor) createNexusAttachCallbacksAction() *Action { {Variant: &Action_SendSignal{ SendSignal: &SendSignalAction{ WorkflowId: handlerWfID, - SignalName: "unblock", + SignalName: "do_actions_signal", + Args: []*common.Payload{ConvertToPayload(&DoSignal_DoSignalActions{ + Variant: &DoSignal_DoSignalActions_DoActions{ + DoActions: SingleActionSet(NewEmptyReturnResultAction()), + }, + })}, AwaitableChoice: &AwaitableChoice{ // The operation futures below are the correctness gate. Do not fail if an // active/passive transition replays this after the handler has completed. @@ -894,19 +946,26 @@ func (t *tpsExecutor) createNexusStandaloneActivityAction() *Action { Variant: &Action_NexusOperation{ NexusOperation: &ExecuteNexusOperation{ Endpoint: t.config.NexusEndpoint, - Operation: "standalone-activity", + Operation: KitchenSinkNexusOperationName, + Input: &NexusOperationRequest{ + Action: &NexusOperationRequest_StartActivity{StartActivity: &ExecuteActivityAction{ + ActivityType: &ExecuteActivityAction_Noop{}, + }}, + }, }, }, } } -func (t *tpsExecutor) createStandaloneNexusOperationAction(operation string) *Action { +func (t *tpsExecutor) createStandaloneNexusOperationAction(input *NexusOperationRequest) *Action { return ClientActivity(ClientActions(&ClientAction{ Variant: &ClientAction_DoStandaloneNexusOperation{ DoStandaloneNexusOperation: &DoStandaloneNexusOperation{ - Endpoint: t.config.NexusEndpoint, - Service: "kitchen-sink", - Operation: operation, + Operation: &ExecuteNexusOperation{ + Endpoint: t.config.NexusEndpoint, + Operation: KitchenSinkNexusOperationName, + Input: input, + }, }, }, }), DefaultRemoteActivity) diff --git a/scenarios/throughput_stress_test.go b/scenarios/throughput_stress_test.go index 0620638b..a7f0b0c7 100644 --- a/scenarios/throughput_stress_test.go +++ b/scenarios/throughput_stress_test.go @@ -213,14 +213,14 @@ func TestThroughputStressNexusStandaloneActivityActions(t *testing.T) { var walk func(actions []*ks.Action) walk = func(actions []*ks.Action) { for _, a := range actions { - if op := a.GetNexusOperation(); op.GetOperation() == "standalone-activity" { + if op := a.GetNexusOperation(); op.GetInput().GetStartActivity() != nil { inWorkflow = true } // Find the nested standalone-Nexus client action. if seq := a.GetExecActivity().GetClient().GetClientSequence(); seq != nil { for _, set := range seq.GetActionSets() { for _, ca := range set.GetActions() { - if sn := ca.GetDoStandaloneNexusOperation(); sn.GetOperation() == "standalone-activity" { + if sn := ca.GetDoStandaloneNexusOperation().GetOperation(); sn.GetInput().GetStartActivity() != nil { standalone = true } } @@ -236,9 +236,9 @@ func TestThroughputStressNexusStandaloneActivityActions(t *testing.T) { } require.True(t, inWorkflow, - `expected an in-workflow Nexus operation action with Operation "standalone-activity"`) + `expected an in-workflow Nexus start-activity action`) require.True(t, standalone, - `expected a DoStandaloneNexusOperation client action with Operation "standalone-activity"`) + `expected a standalone Nexus start-activity client action`) } func TestThroughputStressNexusAttachSignalIsFireAndForget(t *testing.T) { diff --git a/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs b/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs index c4700b16..b69df2ad 100644 --- a/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs +++ b/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs @@ -57,242 +57,247 @@ static KitchenSinkReflection() { "bC5vbWVzLmtpdGNoZW5fc2luay5Eb1N0YW5kYWxvbmVBY3Rpdml0eUgAEnQK", "KGRvX3N0YW5kYWxvbmVfYWN0aXZpdHlfb3BlcmF0b3JfY29tbWFuZHMYCCAB", "KAsyQC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Eb1N0YW5kYWxvbmVB", - "Y3Rpdml0eU9wZXJhdG9yQ29tbWFuZHNIAEIJCgd2YXJpYW50IlIKGkRvU3Rh", - "bmRhbG9uZU5leHVzT3BlcmF0aW9uEhAKCGVuZHBvaW50GAEgASgJEg8KB3Nl", - "cnZpY2UYAiABKAkSEQoJb3BlcmF0aW9uGAMgASgJIlsKFERvU3RhbmRhbG9u", - "ZUFjdGl2aXR5EkMKCGFjdGl2aXR5GAEgASgLMjEudGVtcG9yYWwub21lcy5r", - "aXRjaGVuX3NpbmsuRXhlY3V0ZUFjdGl2aXR5QWN0aW9uIsUCCiREb1N0YW5k", - "YWxvbmVBY3Rpdml0eU9wZXJhdG9yQ29tbWFuZHMSQwoIYWN0aXZpdHkYASAB", - "KAsyMS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQWN0aXZp", - "dHlBY3Rpb24SYgoMY29tbWFuZF90eXBlGAIgASgOMkwudGVtcG9yYWwub21l", - "cy5raXRjaGVuX3NpbmsuRG9TdGFuZGFsb25lQWN0aXZpdHlPcGVyYXRvckNv", - "bW1hbmRzLkNvbW1hbmRUeXBlInQKC0NvbW1hbmRUeXBlEhwKGENPTU1BTkRf", - "VFlQRV9VTlNQRUNJRklFRBAAEhYKEkNPTU1BTkRfVFlQRV9QQVVTRRABEhYK", - "EkNPTU1BTkRfVFlQRV9SRVNFVBACEhcKE0NPTU1BTkRfVFlQRV9VUERBVEUQ", - "AyLxAgoIRG9TaWduYWwSUQoRZG9fc2lnbmFsX2FjdGlvbnMYASABKAsyNC50", - "ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Eb1NpZ25hbC5Eb1NpZ25hbEFj", - "dGlvbnNIABI/CgZjdXN0b20YAiABKAsyLS50ZW1wb3JhbC5vbWVzLmtpdGNo", - "ZW5fc2luay5IYW5kbGVySW52b2NhdGlvbkgAEhIKCndpdGhfc3RhcnQYAyAB", - "KAgasQEKD0RvU2lnbmFsQWN0aW9ucxI7Cgpkb19hY3Rpb25zGAEgASgLMiUu", - "dGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQWN0aW9uU2V0SAASQwoSZG9f", - "YWN0aW9uc19pbl9tYWluGAIgASgLMiUudGVtcG9yYWwub21lcy5raXRjaGVu", - "X3NpbmsuQWN0aW9uU2V0SAASEQoJc2lnbmFsX2lkGAMgASgFQgkKB3Zhcmlh", - "bnRCCQoHdmFyaWFudCIMCgpEb0Rlc2NyaWJlIqkBCgdEb1F1ZXJ5EjgKDHJl", - "cG9ydF9zdGF0ZRgBIAEoCzIgLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5", - "bG9hZHNIABI/CgZjdXN0b20YAiABKAsyLS50ZW1wb3JhbC5vbWVzLmtpdGNo", - "ZW5fc2luay5IYW5kbGVySW52b2NhdGlvbkgAEhgKEGZhaWx1cmVfZXhwZWN0", - "ZWQYCiABKAhCCQoHdmFyaWFudCLHAQoIRG9VcGRhdGUSQQoKZG9fYWN0aW9u", - "cxgBIAEoCzIrLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkRvQWN0aW9u", - "c1VwZGF0ZUgAEj8KBmN1c3RvbRgCIAEoCzItLnRlbXBvcmFsLm9tZXMua2l0", - "Y2hlbl9zaW5rLkhhbmRsZXJJbnZvY2F0aW9uSAASEgoKd2l0aF9zdGFydBgD", - "IAEoCBIYChBmYWlsdXJlX2V4cGVjdGVkGAogASgIQgkKB3ZhcmlhbnQihgEK", - "D0RvQWN0aW9uc1VwZGF0ZRI7Cgpkb19hY3Rpb25zGAEgASgLMiUudGVtcG9y", - "YWwub21lcy5raXRjaGVuX3NpbmsuQWN0aW9uU2V0SAASKwoJcmVqZWN0X21l", - "GAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SABCCQoHdmFyaWFudCJQ", - "ChFIYW5kbGVySW52b2NhdGlvbhIMCgRuYW1lGAEgASgJEi0KBGFyZ3MYAiAD", - "KAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYxLlBheWxvYWQifAoNV29ya2Zs", - "b3dTdGF0ZRI/CgNrdnMYASADKAsyMi50ZW1wb3JhbC5vbWVzLmtpdGNoZW5f", - "c2luay5Xb3JrZmxvd1N0YXRlLkt2c0VudHJ5GioKCEt2c0VudHJ5EgsKA2tl", - "eRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiqAEKDVdvcmtmbG93SW5wdXQS", - "PgoPaW5pdGlhbF9hY3Rpb25zGAEgAygLMiUudGVtcG9yYWwub21lcy5raXRj", - "aGVuX3NpbmsuQWN0aW9uU2V0Eh0KFWV4cGVjdGVkX3NpZ25hbF9jb3VudBgC", - "IAEoBRIbChNleHBlY3RlZF9zaWduYWxfaWRzGAMgAygFEhsKE3JlY2VpdmVk", - "X3NpZ25hbF9pZHMYBCADKAUiVAoJQWN0aW9uU2V0EjMKB2FjdGlvbnMYASAD", - "KAsyIi50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5BY3Rpb24SEgoKY29u", - "Y3VycmVudBgCIAEoCCLMCQoGQWN0aW9uEjgKBXRpbWVyGAEgASgLMicudGVt", - "cG9yYWwub21lcy5raXRjaGVuX3NpbmsuVGltZXJBY3Rpb25IABJKCg1leGVj", - "X2FjdGl2aXR5GAIgASgLMjEudGVtcG9yYWwub21lcy5raXRjaGVuX3Npbmsu", - "RXhlY3V0ZUFjdGl2aXR5QWN0aW9uSAASVQoTZXhlY19jaGlsZF93b3JrZmxv", - "dxgDIAEoCzI2LnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVD", - "aGlsZFdvcmtmbG93QWN0aW9uSAASTgoUYXdhaXRfd29ya2Zsb3dfc3RhdGUY", - "BCABKAsyLi50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Bd2FpdFdvcmtm", - "bG93U3RhdGVIABJDCgtzZW5kX3NpZ25hbBgFIAEoCzIsLnRlbXBvcmFsLm9t", - "ZXMua2l0Y2hlbl9zaW5rLlNlbmRTaWduYWxBY3Rpb25IABJLCg9jYW5jZWxf", - "d29ya2Zsb3cYBiABKAsyMC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5D", - "YW5jZWxXb3JrZmxvd0FjdGlvbkgAEkwKEHNldF9wYXRjaF9tYXJrZXIYByAB", - "KAsyMC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5TZXRQYXRjaE1hcmtl", - "ckFjdGlvbkgAElwKGHVwc2VydF9zZWFyY2hfYXR0cmlidXRlcxgIIAEoCzI4", - "LnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLlVwc2VydFNlYXJjaEF0dHJp", - "YnV0ZXNBY3Rpb25IABJDCgt1cHNlcnRfbWVtbxgJIAEoCzIsLnRlbXBvcmFs", - "Lm9tZXMua2l0Y2hlbl9zaW5rLlVwc2VydE1lbW9BY3Rpb25IABJHChJzZXRf", - "d29ya2Zsb3dfc3RhdGUYCiABKAsyKS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5f", - "c2luay5Xb3JrZmxvd1N0YXRlSAASRwoNcmV0dXJuX3Jlc3VsdBgLIAEoCzIu", - "LnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLlJldHVyblJlc3VsdEFjdGlv", - "bkgAEkUKDHJldHVybl9lcnJvchgMIAEoCzItLnRlbXBvcmFsLm9tZXMua2l0", - "Y2hlbl9zaW5rLlJldHVybkVycm9yQWN0aW9uSAASSgoPY29udGludWVfYXNf", - "bmV3GA0gASgLMi8udGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQ29udGlu", - "dWVBc05ld0FjdGlvbkgAEkIKEW5lc3RlZF9hY3Rpb25fc2V0GA4gASgLMiUu", - "dGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQWN0aW9uU2V0SAASTAoPbmV4", - "dXNfb3BlcmF0aW9uGA8gASgLMjEudGVtcG9yYWwub21lcy5raXRjaGVuX3Np", - "bmsuRXhlY3V0ZU5leHVzT3BlcmF0aW9uSAASUAoVYXdhaXRfcGVuZGluZ19h", - "Y3Rpb25zGBEgASgLMi8udGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQXdh", - "aXRQZW5kaW5nQWN0aW9uc0gAQgkKB3ZhcmlhbnQi0wIKD0F3YWl0YWJsZUNo", - "b2ljZRItCgt3YWl0X2ZpbmlzaBgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5F", - "bXB0eUgAEikKB2FiYW5kb24YAiABKAsyFi5nb29nbGUucHJvdG9idWYuRW1w", - "dHlIABI3ChVjYW5jZWxfYmVmb3JlX3N0YXJ0ZWQYAyABKAsyFi5nb29nbGUu", - "cHJvdG9idWYuRW1wdHlIABI2ChRjYW5jZWxfYWZ0ZXJfc3RhcnRlZBgEIAEo", - "CzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEjgKFmNhbmNlbF9hZnRlcl9j", - "b21wbGV0ZWQYBSABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABIuCgx3", - "YWl0X3N0YXJ0ZWQYBiABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAEIL", - "Cgljb25kaXRpb24iagoLVGltZXJBY3Rpb24SFAoMbWlsbGlzZWNvbmRzGAEg", - "ASgEEkUKEGF3YWl0YWJsZV9jaG9pY2UYAiABKAsyKy50ZW1wb3JhbC5vbWVz", - "LmtpdGNoZW5fc2luay5Bd2FpdGFibGVDaG9pY2UioRIKFUV4ZWN1dGVBY3Rp", - "dml0eUFjdGlvbhJUCgdnZW5lcmljGAEgASgLMkEudGVtcG9yYWwub21lcy5r", - "aXRjaGVuX3NpbmsuRXhlY3V0ZUFjdGl2aXR5QWN0aW9uLkdlbmVyaWNBY3Rp", - "dml0eUgAEioKBWRlbGF5GAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0", - "aW9uSAASJgoEbm9vcBgDIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgA", - "ElgKCXJlc291cmNlcxgOIAEoCzJDLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9z", - "aW5rLkV4ZWN1dGVBY3Rpdml0eUFjdGlvbi5SZXNvdXJjZXNBY3Rpdml0eUgA", - "ElQKB3BheWxvYWQYEiABKAsyQS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2lu", - "ay5FeGVjdXRlQWN0aXZpdHlBY3Rpb24uUGF5bG9hZEFjdGl2aXR5SAASUgoG", - "Y2xpZW50GBMgASgLMkAudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuRXhl", - "Y3V0ZUFjdGl2aXR5QWN0aW9uLkNsaWVudEFjdGl2aXR5SAASYwoPcmV0cnlh", - "YmxlX2Vycm9yGBQgASgLMkgudGVtcG9yYWwub21lcy5raXRjaGVuX3Npbmsu", - "RXhlY3V0ZUFjdGl2aXR5QWN0aW9uLlJldHJ5YWJsZUVycm9yQWN0aXZpdHlI", - "ABJUCgd0aW1lb3V0GBUgASgLMkEudGVtcG9yYWwub21lcy5raXRjaGVuX3Np", - "bmsuRXhlY3V0ZUFjdGl2aXR5QWN0aW9uLlRpbWVvdXRBY3Rpdml0eUgAEl8K", - "CWhlYXJ0YmVhdBgWIAEoCzJKLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r", - "LkV4ZWN1dGVBY3Rpdml0eUFjdGlvbi5IZWFydGJlYXRUaW1lb3V0QWN0aXZp", - "dHlIABISCgp0YXNrX3F1ZXVlGAQgASgJEk8KB2hlYWRlcnMYBSADKAsyPi50", - "ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQWN0aXZpdHlBY3Rp", - "b24uSGVhZGVyc0VudHJ5EjwKGXNjaGVkdWxlX3RvX2Nsb3NlX3RpbWVvdXQY", - "BiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SPAoZc2NoZWR1bGVf", - "dG9fc3RhcnRfdGltZW91dBgHIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJh", - "dGlvbhI5ChZzdGFydF90b19jbG9zZV90aW1lb3V0GAggASgLMhkuZ29vZ2xl", - "LnByb3RvYnVmLkR1cmF0aW9uEjQKEWhlYXJ0YmVhdF90aW1lb3V0GAkgASgL", - "MhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjkKDHJldHJ5X3BvbGljeRgK", - "IAEoCzIjLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUmV0cnlQb2xpY3kSKgoI", - "aXNfbG9jYWwYCyABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIARJDCgZy", - "ZW1vdGUYDCABKAsyMS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5SZW1v", - "dGVBY3Rpdml0eU9wdGlvbnNIARJFChBhd2FpdGFibGVfY2hvaWNlGA0gASgL", + "Y3Rpdml0eU9wZXJhdG9yQ29tbWFuZHNIAEIJCgd2YXJpYW50ImIKGkRvU3Rh", + "bmRhbG9uZU5leHVzT3BlcmF0aW9uEkQKCW9wZXJhdGlvbhgBIAEoCzIxLnRl", + "bXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVOZXh1c09wZXJhdGlv", + "biJbChREb1N0YW5kYWxvbmVBY3Rpdml0eRJDCghhY3Rpdml0eRgBIAEoCzIx", + "LnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFj", + "dGlvbiLFAgokRG9TdGFuZGFsb25lQWN0aXZpdHlPcGVyYXRvckNvbW1hbmRz", + "EkMKCGFjdGl2aXR5GAEgASgLMjEudGVtcG9yYWwub21lcy5raXRjaGVuX3Np", + "bmsuRXhlY3V0ZUFjdGl2aXR5QWN0aW9uEmIKDGNvbW1hbmRfdHlwZRgCIAEo", + "DjJMLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkRvU3RhbmRhbG9uZUFj", + "dGl2aXR5T3BlcmF0b3JDb21tYW5kcy5Db21tYW5kVHlwZSJ0CgtDb21tYW5k", + "VHlwZRIcChhDT01NQU5EX1RZUEVfVU5TUEVDSUZJRUQQABIWChJDT01NQU5E", + "X1RZUEVfUEFVU0UQARIWChJDT01NQU5EX1RZUEVfUkVTRVQQAhIXChNDT01N", + "QU5EX1RZUEVfVVBEQVRFEAMi8QIKCERvU2lnbmFsElEKEWRvX3NpZ25hbF9h", + "Y3Rpb25zGAEgASgLMjQudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuRG9T", + "aWduYWwuRG9TaWduYWxBY3Rpb25zSAASPwoGY3VzdG9tGAIgASgLMi0udGVt", + "cG9yYWwub21lcy5raXRjaGVuX3NpbmsuSGFuZGxlckludm9jYXRpb25IABIS", + "Cgp3aXRoX3N0YXJ0GAMgASgIGrEBCg9Eb1NpZ25hbEFjdGlvbnMSOwoKZG9f", + "YWN0aW9ucxgBIAEoCzIlLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFj", + "dGlvblNldEgAEkMKEmRvX2FjdGlvbnNfaW5fbWFpbhgCIAEoCzIlLnRlbXBv", + "cmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFjdGlvblNldEgAEhEKCXNpZ25hbF9p", + "ZBgDIAEoBUIJCgd2YXJpYW50QgkKB3ZhcmlhbnQiDAoKRG9EZXNjcmliZSKp", + "AQoHRG9RdWVyeRI4CgxyZXBvcnRfc3RhdGUYASABKAsyIC50ZW1wb3JhbC5h", + "cGkuY29tbW9uLnYxLlBheWxvYWRzSAASPwoGY3VzdG9tGAIgASgLMi0udGVt", + "cG9yYWwub21lcy5raXRjaGVuX3NpbmsuSGFuZGxlckludm9jYXRpb25IABIY", + "ChBmYWlsdXJlX2V4cGVjdGVkGAogASgIQgkKB3ZhcmlhbnQixwEKCERvVXBk", + "YXRlEkEKCmRvX2FjdGlvbnMYASABKAsyKy50ZW1wb3JhbC5vbWVzLmtpdGNo", + "ZW5fc2luay5Eb0FjdGlvbnNVcGRhdGVIABI/CgZjdXN0b20YAiABKAsyLS50", + "ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5IYW5kbGVySW52b2NhdGlvbkgA", + "EhIKCndpdGhfc3RhcnQYAyABKAgSGAoQZmFpbHVyZV9leHBlY3RlZBgKIAEo", + "CEIJCgd2YXJpYW50IoYBCg9Eb0FjdGlvbnNVcGRhdGUSOwoKZG9fYWN0aW9u", + "cxgBIAEoCzIlLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFjdGlvblNl", + "dEgAEisKCXJlamVjdF9tZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0", + "eUgAQgkKB3ZhcmlhbnQiUAoRSGFuZGxlckludm9jYXRpb24SDAoEbmFtZRgB", + "IAEoCRItCgRhcmdzGAIgAygLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5Q", + "YXlsb2FkInwKDVdvcmtmbG93U3RhdGUSPwoDa3ZzGAEgAygLMjIudGVtcG9y", + "YWwub21lcy5raXRjaGVuX3NpbmsuV29ya2Zsb3dTdGF0ZS5LdnNFbnRyeRoq", + "CghLdnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqgB", + "Cg1Xb3JrZmxvd0lucHV0Ej4KD2luaXRpYWxfYWN0aW9ucxgBIAMoCzIlLnRl", + "bXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFjdGlvblNldBIdChVleHBlY3Rl", + "ZF9zaWduYWxfY291bnQYAiABKAUSGwoTZXhwZWN0ZWRfc2lnbmFsX2lkcxgD", + "IAMoBRIbChNyZWNlaXZlZF9zaWduYWxfaWRzGAQgAygFIlQKCUFjdGlvblNl", + "dBIzCgdhY3Rpb25zGAEgAygLMiIudGVtcG9yYWwub21lcy5raXRjaGVuX3Np", + "bmsuQWN0aW9uEhIKCmNvbmN1cnJlbnQYAiABKAgizAkKBkFjdGlvbhI4CgV0", + "aW1lchgBIAEoCzInLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLlRpbWVy", + "QWN0aW9uSAASSgoNZXhlY19hY3Rpdml0eRgCIAEoCzIxLnRlbXBvcmFsLm9t", + "ZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFjdGlvbkgAElUKE2V4", + "ZWNfY2hpbGRfd29ya2Zsb3cYAyABKAsyNi50ZW1wb3JhbC5vbWVzLmtpdGNo", + "ZW5fc2luay5FeGVjdXRlQ2hpbGRXb3JrZmxvd0FjdGlvbkgAEk4KFGF3YWl0", + "X3dvcmtmbG93X3N0YXRlGAQgASgLMi4udGVtcG9yYWwub21lcy5raXRjaGVu", + "X3NpbmsuQXdhaXRXb3JrZmxvd1N0YXRlSAASQwoLc2VuZF9zaWduYWwYBSAB", + "KAsyLC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5TZW5kU2lnbmFsQWN0", + "aW9uSAASSwoPY2FuY2VsX3dvcmtmbG93GAYgASgLMjAudGVtcG9yYWwub21l", + "cy5raXRjaGVuX3NpbmsuQ2FuY2VsV29ya2Zsb3dBY3Rpb25IABJMChBzZXRf", + "cGF0Y2hfbWFya2VyGAcgASgLMjAudGVtcG9yYWwub21lcy5raXRjaGVuX3Np", + "bmsuU2V0UGF0Y2hNYXJrZXJBY3Rpb25IABJcChh1cHNlcnRfc2VhcmNoX2F0", + "dHJpYnV0ZXMYCCABKAsyOC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5V", + "cHNlcnRTZWFyY2hBdHRyaWJ1dGVzQWN0aW9uSAASQwoLdXBzZXJ0X21lbW8Y", + "CSABKAsyLC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5VcHNlcnRNZW1v", + "QWN0aW9uSAASRwoSc2V0X3dvcmtmbG93X3N0YXRlGAogASgLMikudGVtcG9y", + "YWwub21lcy5raXRjaGVuX3NpbmsuV29ya2Zsb3dTdGF0ZUgAEkcKDXJldHVy", + "bl9yZXN1bHQYCyABKAsyLi50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5S", + "ZXR1cm5SZXN1bHRBY3Rpb25IABJFCgxyZXR1cm5fZXJyb3IYDCABKAsyLS50", + "ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5SZXR1cm5FcnJvckFjdGlvbkgA", + "EkoKD2NvbnRpbnVlX2FzX25ldxgNIAEoCzIvLnRlbXBvcmFsLm9tZXMua2l0", + "Y2hlbl9zaW5rLkNvbnRpbnVlQXNOZXdBY3Rpb25IABJCChFuZXN0ZWRfYWN0", + "aW9uX3NldBgOIAEoCzIlLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFj", + "dGlvblNldEgAEkwKD25leHVzX29wZXJhdGlvbhgPIAEoCzIxLnRlbXBvcmFs", + "Lm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVOZXh1c09wZXJhdGlvbkgAElAK", + "FWF3YWl0X3BlbmRpbmdfYWN0aW9ucxgRIAEoCzIvLnRlbXBvcmFsLm9tZXMu", + "a2l0Y2hlbl9zaW5rLkF3YWl0UGVuZGluZ0FjdGlvbnNIAEIJCgd2YXJpYW50", + "ItMCCg9Bd2FpdGFibGVDaG9pY2USLQoLd2FpdF9maW5pc2gYASABKAsyFi5n", + "b29nbGUucHJvdG9idWYuRW1wdHlIABIpCgdhYmFuZG9uGAIgASgLMhYuZ29v", + "Z2xlLnByb3RvYnVmLkVtcHR5SAASNwoVY2FuY2VsX2JlZm9yZV9zdGFydGVk", + "GAMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SAASNgoUY2FuY2VsX2Fm", + "dGVyX3N0YXJ0ZWQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABI4", + "ChZjYW5jZWxfYWZ0ZXJfY29tcGxldGVkGAUgASgLMhYuZ29vZ2xlLnByb3Rv", + "YnVmLkVtcHR5SAASLgoMd2FpdF9zdGFydGVkGAYgASgLMhYuZ29vZ2xlLnBy", + "b3RvYnVmLkVtcHR5SABCCwoJY29uZGl0aW9uImoKC1RpbWVyQWN0aW9uEhQK", + "DG1pbGxpc2Vjb25kcxgBIAEoBBJFChBhd2FpdGFibGVfY2hvaWNlGAIgASgL", "MisudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQXdhaXRhYmxlQ2hvaWNl", - "EjIKCHByaW9yaXR5GA8gASgLMiAudGVtcG9yYWwuYXBpLmNvbW1vbi52MS5Q", - "cmlvcml0eRIUCgxmYWlybmVzc19rZXkYECABKAkSFwoPZmFpcm5lc3Nfd2Vp", - "Z2h0GBEgASgCGlMKD0dlbmVyaWNBY3Rpdml0eRIMCgR0eXBlGAEgASgJEjIK", - "CWFyZ3VtZW50cxgCIAMoCzIfLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5", - "bG9hZBqaAQoRUmVzb3VyY2VzQWN0aXZpdHkSKgoHcnVuX2ZvchgBIAEoCzIZ", - "Lmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIZChFieXRlc190b19hbGxvY2F0", - "ZRgCIAEoBBIkChxjcHVfeWllbGRfZXZlcnlfbl9pdGVyYXRpb25zGAMgASgN", - "EhgKEGNwdV95aWVsZF9mb3JfbXMYBCABKA0aRAoPUGF5bG9hZEFjdGl2aXR5", - "EhgKEGJ5dGVzX3RvX3JlY2VpdmUYASABKAUSFwoPYnl0ZXNfdG9fcmV0dXJu", - "GAIgASgFGlUKDkNsaWVudEFjdGl2aXR5EkMKD2NsaWVudF9zZXF1ZW5jZRgB", - "IAEoCzIqLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkNsaWVudFNlcXVl", - "bmNlGi8KFlJldHJ5YWJsZUVycm9yQWN0aXZpdHkSFQoNZmFpbF9hdHRlbXB0", - "cxgBIAEoBRqSAQoPVGltZW91dEFjdGl2aXR5EhUKDWZhaWxfYXR0ZW1wdHMY", - "ASABKAUSMwoQc3VjY2Vzc19kdXJhdGlvbhgCIAEoCzIZLmdvb2dsZS5wcm90", - "b2J1Zi5EdXJhdGlvbhIzChBmYWlsdXJlX2R1cmF0aW9uGAMgASgLMhkuZ29v", - "Z2xlLnByb3RvYnVmLkR1cmF0aW9uGtIBChhIZWFydGJlYXRUaW1lb3V0QWN0", - "aXZpdHkSFQoNZmFpbF9hdHRlbXB0cxgBIAEoBRIzChBzdWNjZXNzX2R1cmF0", - "aW9uGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjMKEGZhaWx1", - "cmVfZHVyYXRpb24YAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24S", - "NQoSaGVhcnRiZWF0X2ludGVydmFsGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVm", - "LkR1cmF0aW9uGk8KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSLgoFdmFs", - "dWUYAiABKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYxLlBheWxvYWQ6AjgB", - "Qg8KDWFjdGl2aXR5X3R5cGVCCgoIbG9jYWxpdHkirQoKGkV4ZWN1dGVDaGls", - "ZFdvcmtmbG93QWN0aW9uEhEKCW5hbWVzcGFjZRgCIAEoCRITCgt3b3JrZmxv", - "d19pZBgDIAEoCRIVCg13b3JrZmxvd190eXBlGAQgASgJEhIKCnRhc2tfcXVl", - "dWUYBSABKAkSLgoFaW5wdXQYBiADKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9u", - "LnYxLlBheWxvYWQSPQoad29ya2Zsb3dfZXhlY3V0aW9uX3RpbWVvdXQYByAB", - "KAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SNwoUd29ya2Zsb3dfcnVu", - "X3RpbWVvdXQYCCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SOAoV", - "d29ya2Zsb3dfdGFza190aW1lb3V0GAkgASgLMhkuZ29vZ2xlLnByb3RvYnVm", - "LkR1cmF0aW9uEkoKE3BhcmVudF9jbG9zZV9wb2xpY3kYCiABKA4yLS50ZW1w", - "b3JhbC5vbWVzLmtpdGNoZW5fc2luay5QYXJlbnRDbG9zZVBvbGljeRJOChh3", - "b3JrZmxvd19pZF9yZXVzZV9wb2xpY3kYDCABKA4yLC50ZW1wb3JhbC5hcGku", - "ZW51bXMudjEuV29ya2Zsb3dJZFJldXNlUG9saWN5EjkKDHJldHJ5X3BvbGlj", - "eRgNIAEoCzIjLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUmV0cnlQb2xpY3kS", - "FQoNY3Jvbl9zY2hlZHVsZRgOIAEoCRJUCgdoZWFkZXJzGA8gAygLMkMudGVt", - "cG9yYWwub21lcy5raXRjaGVuX3NpbmsuRXhlY3V0ZUNoaWxkV29ya2Zsb3dB", - "Y3Rpb24uSGVhZGVyc0VudHJ5Ek4KBG1lbW8YECADKAsyQC50ZW1wb3JhbC5v", - "bWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQ2hpbGRXb3JrZmxvd0FjdGlvbi5N", - "ZW1vRW50cnkSZwoRc2VhcmNoX2F0dHJpYnV0ZXMYESADKAsyTC50ZW1wb3Jh", - "bC5vbWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQ2hpbGRXb3JrZmxvd0FjdGlv", - "bi5TZWFyY2hBdHRyaWJ1dGVzRW50cnkSVAoRY2FuY2VsbGF0aW9uX3R5cGUY", - "EiABKA4yOS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5DaGlsZFdvcmtm", - "bG93Q2FuY2VsbGF0aW9uVHlwZRJHChF2ZXJzaW9uaW5nX2ludGVudBgTIAEo", - "DjIsLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLlZlcnNpb25pbmdJbnRl", - "bnQSRQoQYXdhaXRhYmxlX2Nob2ljZRgUIAEoCzIrLnRlbXBvcmFsLm9tZXMu", - "a2l0Y2hlbl9zaW5rLkF3YWl0YWJsZUNob2ljZRpPCgxIZWFkZXJzRW50cnkS", - "CwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNv", - "bW1vbi52MS5QYXlsb2FkOgI4ARpMCglNZW1vRW50cnkSCwoDa2V5GAEgASgJ", - "Ei4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXls", - "b2FkOgI4ARpYChVTZWFyY2hBdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJ", - "Ei4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXls", - "b2FkOgI4ASIwChJBd2FpdFdvcmtmbG93U3RhdGUSCwoDa2V5GAEgASgJEg0K", - "BXZhbHVlGAIgASgJIt8CChBTZW5kU2lnbmFsQWN0aW9uEhMKC3dvcmtmbG93", - "X2lkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRITCgtzaWduYWxfbmFtZRgDIAEo", - "CRItCgRhcmdzGAQgAygLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXls", - "b2FkEkoKB2hlYWRlcnMYBSADKAsyOS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5f", - "c2luay5TZW5kU2lnbmFsQWN0aW9uLkhlYWRlcnNFbnRyeRJFChBhd2FpdGFi", - "bGVfY2hvaWNlGAYgASgLMisudGVtcG9yYWwub21lcy5raXRjaGVuX3Npbmsu", - "QXdhaXRhYmxlQ2hvaWNlGk8KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkS", - "LgoFdmFsdWUYAiABKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYxLlBheWxv", - "YWQ6AjgBIjsKFENhbmNlbFdvcmtmbG93QWN0aW9uEhMKC3dvcmtmbG93X2lk", - "GAEgASgJEg4KBnJ1bl9pZBgCIAEoCSJ2ChRTZXRQYXRjaE1hcmtlckFjdGlv", - "bhIQCghwYXRjaF9pZBgBIAEoCRISCgpkZXByZWNhdGVkGAIgASgIEjgKDGlu", - "bmVyX2FjdGlvbhgDIAEoCzIiLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r", - "LkFjdGlvbiLjAQocVXBzZXJ0U2VhcmNoQXR0cmlidXRlc0FjdGlvbhJpChFz", - "ZWFyY2hfYXR0cmlidXRlcxgBIAMoCzJOLnRlbXBvcmFsLm9tZXMua2l0Y2hl", - "bl9zaW5rLlVwc2VydFNlYXJjaEF0dHJpYnV0ZXNBY3Rpb24uU2VhcmNoQXR0", - "cmlidXRlc0VudHJ5GlgKFVNlYXJjaEF0dHJpYnV0ZXNFbnRyeRILCgNrZXkY", - "ASABKAkSLgoFdmFsdWUYAiABKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYx", - "LlBheWxvYWQ6AjgBIkcKEFVwc2VydE1lbW9BY3Rpb24SMwoNdXBzZXJ0ZWRf", - "bWVtbxgBIAEoCzIcLnRlbXBvcmFsLmFwaS5jb21tb24udjEuTWVtbyJKChJS", - "ZXR1cm5SZXN1bHRBY3Rpb24SNAoLcmV0dXJuX3RoaXMYASABKAsyHy50ZW1w", - "b3JhbC5hcGkuY29tbW9uLnYxLlBheWxvYWQiRgoRUmV0dXJuRXJyb3JBY3Rp", - "b24SMQoHZmFpbHVyZRgBIAEoCzIgLnRlbXBvcmFsLmFwaS5mYWlsdXJlLnYx", - "LkZhaWx1cmUi3gYKE0NvbnRpbnVlQXNOZXdBY3Rpb24SFQoNd29ya2Zsb3df", - "dHlwZRgBIAEoCRISCgp0YXNrX3F1ZXVlGAIgASgJEjIKCWFyZ3VtZW50cxgD", - "IAMoCzIfLnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5bG9hZBI3ChR3b3Jr", - "Zmxvd19ydW5fdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJh", - "dGlvbhI4ChV3b3JrZmxvd190YXNrX3RpbWVvdXQYBSABKAsyGS5nb29nbGUu", - "cHJvdG9idWYuRHVyYXRpb24SRwoEbWVtbxgGIAMoCzI5LnRlbXBvcmFsLm9t", - "ZXMua2l0Y2hlbl9zaW5rLkNvbnRpbnVlQXNOZXdBY3Rpb24uTWVtb0VudHJ5", - "Ek0KB2hlYWRlcnMYByADKAsyPC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2lu", - "ay5Db250aW51ZUFzTmV3QWN0aW9uLkhlYWRlcnNFbnRyeRJgChFzZWFyY2hf", - "YXR0cmlidXRlcxgIIAMoCzJFLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r", - "LkNvbnRpbnVlQXNOZXdBY3Rpb24uU2VhcmNoQXR0cmlidXRlc0VudHJ5EjkK", - "DHJldHJ5X3BvbGljeRgJIAEoCzIjLnRlbXBvcmFsLmFwaS5jb21tb24udjEu", - "UmV0cnlQb2xpY3kSRwoRdmVyc2lvbmluZ19pbnRlbnQYCiABKA4yLC50ZW1w", - "b3JhbC5vbWVzLmtpdGNoZW5fc2luay5WZXJzaW9uaW5nSW50ZW50GkwKCU1l", - "bW9FbnRyeRILCgNrZXkYASABKAkSLgoFdmFsdWUYAiABKAsyHy50ZW1wb3Jh", - "bC5hcGkuY29tbW9uLnYxLlBheWxvYWQ6AjgBGk8KDEhlYWRlcnNFbnRyeRIL", - "CgNrZXkYASABKAkSLgoFdmFsdWUYAiABKAsyHy50ZW1wb3JhbC5hcGkuY29t", - "bW9uLnYxLlBheWxvYWQ6AjgBGlgKFVNlYXJjaEF0dHJpYnV0ZXNFbnRyeRIL", - "CgNrZXkYASABKAkSLgoFdmFsdWUYAiABKAsyHy50ZW1wb3JhbC5hcGkuY29t", - "bW9uLnYxLlBheWxvYWQ6AjgBItEBChVSZW1vdGVBY3Rpdml0eU9wdGlvbnMS", - "TwoRY2FuY2VsbGF0aW9uX3R5cGUYASABKA4yNC50ZW1wb3JhbC5vbWVzLmtp", - "dGNoZW5fc2luay5BY3Rpdml0eUNhbmNlbGxhdGlvblR5cGUSHgoWZG9fbm90", - "X2VhZ2VybHlfZXhlY3V0ZRgCIAEoCBJHChF2ZXJzaW9uaW5nX2ludGVudBgD", - "IAEoDjIsLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLlZlcnNpb25pbmdJ", - "bnRlbnQi/gIKFUV4ZWN1dGVOZXh1c09wZXJhdGlvbhIQCghlbmRwb2ludBgB", - "IAEoCRIRCglvcGVyYXRpb24YAiABKAkSDQoFaW5wdXQYAyABKAkSRQoQYXdh", - "aXRhYmxlX2Nob2ljZRgFIAEoCzIrLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9z", - "aW5rLkF3YWl0YWJsZUNob2ljZRIXCg9leHBlY3RlZF9vdXRwdXQYBiABKAkS", - "PQoOYmVmb3JlX2FjdGlvbnMYByADKAsyJS50ZW1wb3JhbC5vbWVzLmtpdGNo", - "ZW5fc2luay5BY3Rpb25TZXQSGwoTaGFuZGxlcl93b3JrZmxvd19pZBgIIAEo", - "CRJcCiNoYW5kbGVyX3dvcmtmbG93X2lkX2NvbmZsaWN0X3BvbGljeRgJIAEo", - "DjIvLnRlbXBvcmFsLmFwaS5lbnVtcy52MS5Xb3JrZmxvd0lkQ29uZmxpY3RQ", - "b2xpY3kSFwoPd2FpdF9mb3Jfc2lnbmFsGAogASgIIvUBChFOZXh1c0hhbmRs", - "ZXJJbnB1dBINCgVpbnB1dBgBIAEoCRI9Cg5iZWZvcmVfYWN0aW9ucxgCIAMo", - "CzIlLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkFjdGlvblNldBIbChNo", - "YW5kbGVyX3dvcmtmbG93X2lkGAMgASgJElwKI2hhbmRsZXJfd29ya2Zsb3df", - "aWRfY29uZmxpY3RfcG9saWN5GAQgASgOMi8udGVtcG9yYWwuYXBpLmVudW1z", - "LnYxLldvcmtmbG93SWRDb25mbGljdFBvbGljeRIXCg93YWl0X2Zvcl9zaWdu", - "YWwYBSABKAgiFQoTQXdhaXRQZW5kaW5nQWN0aW9ucyqkAQoRUGFyZW50Q2xv", - "c2VQb2xpY3kSIwofUEFSRU5UX0NMT1NFX1BPTElDWV9VTlNQRUNJRklFRBAA", - "EiEKHVBBUkVOVF9DTE9TRV9QT0xJQ1lfVEVSTUlOQVRFEAESHwobUEFSRU5U", - "X0NMT1NFX1BPTElDWV9BQkFORE9OEAISJgoiUEFSRU5UX0NMT1NFX1BPTElD", - "WV9SRVFVRVNUX0NBTkNFTBADKkAKEFZlcnNpb25pbmdJbnRlbnQSDwoLVU5T", - "UEVDSUZJRUQQABIOCgpDT01QQVRJQkxFEAESCwoHREVGQVVMVBACKqIBCh1D", - "aGlsZFdvcmtmbG93Q2FuY2VsbGF0aW9uVHlwZRIUChBDSElMRF9XRl9BQkFO", - "RE9OEAASFwoTQ0hJTERfV0ZfVFJZX0NBTkNFTBABEigKJENISUxEX1dGX1dB", - "SVRfQ0FOQ0VMTEFUSU9OX0NPTVBMRVRFRBACEigKJENISUxEX1dGX1dBSVRf", - "Q0FOQ0VMTEFUSU9OX1JFUVVFU1RFRBADKlgKGEFjdGl2aXR5Q2FuY2VsbGF0", - "aW9uVHlwZRIOCgpUUllfQ0FOQ0VMEAASHwobV0FJVF9DQU5DRUxMQVRJT05f", - "Q09NUExFVEVEEAESCwoHQUJBTkRPThACQkIKEGlvLnRlbXBvcmFsLm9tZXNa", - "LmdpdGh1Yi5jb20vdGVtcG9yYWxpby9vbWVzL2xvYWRnZW4va2l0Y2hlbnNp", - "bmtiBnByb3RvMw==")); + "IqESChVFeGVjdXRlQWN0aXZpdHlBY3Rpb24SVAoHZ2VuZXJpYxgBIAEoCzJB", + "LnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFj", + "dGlvbi5HZW5lcmljQWN0aXZpdHlIABIqCgVkZWxheRgCIAEoCzIZLmdvb2ds", + "ZS5wcm90b2J1Zi5EdXJhdGlvbkgAEiYKBG5vb3AYAyABKAsyFi5nb29nbGUu", + "cHJvdG9idWYuRW1wdHlIABJYCglyZXNvdXJjZXMYDiABKAsyQy50ZW1wb3Jh", + "bC5vbWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQWN0aXZpdHlBY3Rpb24uUmVz", + "b3VyY2VzQWN0aXZpdHlIABJUCgdwYXlsb2FkGBIgASgLMkEudGVtcG9yYWwu", + "b21lcy5raXRjaGVuX3NpbmsuRXhlY3V0ZUFjdGl2aXR5QWN0aW9uLlBheWxv", + "YWRBY3Rpdml0eUgAElIKBmNsaWVudBgTIAEoCzJALnRlbXBvcmFsLm9tZXMu", + "a2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFjdGlvbi5DbGllbnRBY3Rp", + "dml0eUgAEmMKD3JldHJ5YWJsZV9lcnJvchgUIAEoCzJILnRlbXBvcmFsLm9t", + "ZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFjdGlvbi5SZXRyeWFi", + "bGVFcnJvckFjdGl2aXR5SAASVAoHdGltZW91dBgVIAEoCzJBLnRlbXBvcmFs", + "Lm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1dGVBY3Rpdml0eUFjdGlvbi5UaW1l", + "b3V0QWN0aXZpdHlIABJfCgloZWFydGJlYXQYFiABKAsySi50ZW1wb3JhbC5v", + "bWVzLmtpdGNoZW5fc2luay5FeGVjdXRlQWN0aXZpdHlBY3Rpb24uSGVhcnRi", + "ZWF0VGltZW91dEFjdGl2aXR5SAASEgoKdGFza19xdWV1ZRgEIAEoCRJPCgdo", + "ZWFkZXJzGAUgAygLMj4udGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuRXhl", + "Y3V0ZUFjdGl2aXR5QWN0aW9uLkhlYWRlcnNFbnRyeRI8ChlzY2hlZHVsZV90", + "b19jbG9zZV90aW1lb3V0GAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0", + "aW9uEjwKGXNjaGVkdWxlX3RvX3N0YXJ0X3RpbWVvdXQYByABKAsyGS5nb29n", + "bGUucHJvdG9idWYuRHVyYXRpb24SOQoWc3RhcnRfdG9fY2xvc2VfdGltZW91", + "dBgIIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI0ChFoZWFydGJl", + "YXRfdGltZW91dBgJIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI5", + "CgxyZXRyeV9wb2xpY3kYCiABKAsyIy50ZW1wb3JhbC5hcGkuY29tbW9uLnYx", + "LlJldHJ5UG9saWN5EioKCGlzX2xvY2FsGAsgASgLMhYuZ29vZ2xlLnByb3Rv", + "YnVmLkVtcHR5SAESQwoGcmVtb3RlGAwgASgLMjEudGVtcG9yYWwub21lcy5r", + "aXRjaGVuX3NpbmsuUmVtb3RlQWN0aXZpdHlPcHRpb25zSAESRQoQYXdhaXRh", + "YmxlX2Nob2ljZRgNIAEoCzIrLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r", + "LkF3YWl0YWJsZUNob2ljZRIyCghwcmlvcml0eRgPIAEoCzIgLnRlbXBvcmFs", + "LmFwaS5jb21tb24udjEuUHJpb3JpdHkSFAoMZmFpcm5lc3Nfa2V5GBAgASgJ", + "EhcKD2ZhaXJuZXNzX3dlaWdodBgRIAEoAhpTCg9HZW5lcmljQWN0aXZpdHkS", + "DAoEdHlwZRgBIAEoCRIyCglhcmd1bWVudHMYAiADKAsyHy50ZW1wb3JhbC5h", + "cGkuY29tbW9uLnYxLlBheWxvYWQamgEKEVJlc291cmNlc0FjdGl2aXR5EioK", + "B3J1bl9mb3IYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SGQoR", + "Ynl0ZXNfdG9fYWxsb2NhdGUYAiABKAQSJAocY3B1X3lpZWxkX2V2ZXJ5X25f", + "aXRlcmF0aW9ucxgDIAEoDRIYChBjcHVfeWllbGRfZm9yX21zGAQgASgNGkQK", + "D1BheWxvYWRBY3Rpdml0eRIYChBieXRlc190b19yZWNlaXZlGAEgASgFEhcK", + "D2J5dGVzX3RvX3JldHVybhgCIAEoBRpVCg5DbGllbnRBY3Rpdml0eRJDCg9j", + "bGllbnRfc2VxdWVuY2UYASABKAsyKi50ZW1wb3JhbC5vbWVzLmtpdGNoZW5f", + "c2luay5DbGllbnRTZXF1ZW5jZRovChZSZXRyeWFibGVFcnJvckFjdGl2aXR5", + "EhUKDWZhaWxfYXR0ZW1wdHMYASABKAUakgEKD1RpbWVvdXRBY3Rpdml0eRIV", + "Cg1mYWlsX2F0dGVtcHRzGAEgASgFEjMKEHN1Y2Nlc3NfZHVyYXRpb24YAiAB", + "KAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SMwoQZmFpbHVyZV9kdXJh", + "dGlvbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhrSAQoYSGVh", + "cnRiZWF0VGltZW91dEFjdGl2aXR5EhUKDWZhaWxfYXR0ZW1wdHMYASABKAUS", + "MwoQc3VjY2Vzc19kdXJhdGlvbhgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5E", + "dXJhdGlvbhIzChBmYWlsdXJlX2R1cmF0aW9uGAMgASgLMhkuZ29vZ2xlLnBy", + "b3RvYnVmLkR1cmF0aW9uEjUKEmhlYXJ0YmVhdF9pbnRlcnZhbBgEIAEoCzIZ", + "Lmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhpPCgxIZWFkZXJzRW50cnkSCwoD", + "a2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1v", + "bi52MS5QYXlsb2FkOgI4AUIPCg1hY3Rpdml0eV90eXBlQgoKCGxvY2FsaXR5", + "Iq0KChpFeGVjdXRlQ2hpbGRXb3JrZmxvd0FjdGlvbhIRCgluYW1lc3BhY2UY", + "AiABKAkSEwoLd29ya2Zsb3dfaWQYAyABKAkSFQoNd29ya2Zsb3dfdHlwZRgE", + "IAEoCRISCgp0YXNrX3F1ZXVlGAUgASgJEi4KBWlucHV0GAYgAygLMh8udGVt", + "cG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkEj0KGndvcmtmbG93X2V4ZWN1", + "dGlvbl90aW1lb3V0GAcgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9u", + "EjcKFHdvcmtmbG93X3J1bl90aW1lb3V0GAggASgLMhkuZ29vZ2xlLnByb3Rv", + "YnVmLkR1cmF0aW9uEjgKFXdvcmtmbG93X3Rhc2tfdGltZW91dBgJIAEoCzIZ", + "Lmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJKChNwYXJlbnRfY2xvc2VfcG9s", + "aWN5GAogASgOMi0udGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuUGFyZW50", + "Q2xvc2VQb2xpY3kSTgoYd29ya2Zsb3dfaWRfcmV1c2VfcG9saWN5GAwgASgO", + "MiwudGVtcG9yYWwuYXBpLmVudW1zLnYxLldvcmtmbG93SWRSZXVzZVBvbGlj", + "eRI5CgxyZXRyeV9wb2xpY3kYDSABKAsyIy50ZW1wb3JhbC5hcGkuY29tbW9u", + "LnYxLlJldHJ5UG9saWN5EhUKDWNyb25fc2NoZWR1bGUYDiABKAkSVAoHaGVh", + "ZGVycxgPIAMoCzJDLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLkV4ZWN1", + "dGVDaGlsZFdvcmtmbG93QWN0aW9uLkhlYWRlcnNFbnRyeRJOCgRtZW1vGBAg", + "AygLMkAudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuRXhlY3V0ZUNoaWxk", + "V29ya2Zsb3dBY3Rpb24uTWVtb0VudHJ5EmcKEXNlYXJjaF9hdHRyaWJ1dGVz", + "GBEgAygLMkwudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuRXhlY3V0ZUNo", + "aWxkV29ya2Zsb3dBY3Rpb24uU2VhcmNoQXR0cmlidXRlc0VudHJ5ElQKEWNh", + "bmNlbGxhdGlvbl90eXBlGBIgASgOMjkudGVtcG9yYWwub21lcy5raXRjaGVu", + "X3NpbmsuQ2hpbGRXb3JrZmxvd0NhbmNlbGxhdGlvblR5cGUSRwoRdmVyc2lv", + "bmluZ19pbnRlbnQYEyABKA4yLC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2lu", + "ay5WZXJzaW9uaW5nSW50ZW50EkUKEGF3YWl0YWJsZV9jaG9pY2UYFCABKAsy", + "Ky50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Bd2FpdGFibGVDaG9pY2Ua", + "TwoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIf", + "LnRlbXBvcmFsLmFwaS5jb21tb24udjEuUGF5bG9hZDoCOAEaTAoJTWVtb0Vu", + "dHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLnRlbXBvcmFsLmFw", + "aS5jb21tb24udjEuUGF5bG9hZDoCOAEaWAoVU2VhcmNoQXR0cmlidXRlc0Vu", + "dHJ5EgsKA2tleRgBIAEoCRIuCgV2YWx1ZRgCIAEoCzIfLnRlbXBvcmFsLmFw", + "aS5jb21tb24udjEuUGF5bG9hZDoCOAEiMAoSQXdhaXRXb3JrZmxvd1N0YXRl", + "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSLfAgoQU2VuZFNpZ25hbEFj", + "dGlvbhITCgt3b3JrZmxvd19pZBgBIAEoCRIOCgZydW5faWQYAiABKAkSEwoL", + "c2lnbmFsX25hbWUYAyABKAkSLQoEYXJncxgEIAMoCzIfLnRlbXBvcmFsLmFw", + "aS5jb21tb24udjEuUGF5bG9hZBJKCgdoZWFkZXJzGAUgAygLMjkudGVtcG9y", + "YWwub21lcy5raXRjaGVuX3NpbmsuU2VuZFNpZ25hbEFjdGlvbi5IZWFkZXJz", + "RW50cnkSRQoQYXdhaXRhYmxlX2Nob2ljZRgGIAEoCzIrLnRlbXBvcmFsLm9t", + "ZXMua2l0Y2hlbl9zaW5rLkF3YWl0YWJsZUNob2ljZRpPCgxIZWFkZXJzRW50", + "cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9yYWwuYXBp", + "LmNvbW1vbi52MS5QYXlsb2FkOgI4ASI7ChRDYW5jZWxXb3JrZmxvd0FjdGlv", + "bhITCgt3b3JrZmxvd19pZBgBIAEoCRIOCgZydW5faWQYAiABKAkidgoUU2V0", + "UGF0Y2hNYXJrZXJBY3Rpb24SEAoIcGF0Y2hfaWQYASABKAkSEgoKZGVwcmVj", + "YXRlZBgCIAEoCBI4Cgxpbm5lcl9hY3Rpb24YAyABKAsyIi50ZW1wb3JhbC5v", + "bWVzLmtpdGNoZW5fc2luay5BY3Rpb24i4wEKHFVwc2VydFNlYXJjaEF0dHJp", + "YnV0ZXNBY3Rpb24SaQoRc2VhcmNoX2F0dHJpYnV0ZXMYASADKAsyTi50ZW1w", + "b3JhbC5vbWVzLmtpdGNoZW5fc2luay5VcHNlcnRTZWFyY2hBdHRyaWJ1dGVz", + "QWN0aW9uLlNlYXJjaEF0dHJpYnV0ZXNFbnRyeRpYChVTZWFyY2hBdHRyaWJ1", + "dGVzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8udGVtcG9y", + "YWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ASJHChBVcHNlcnRNZW1vQWN0", + "aW9uEjMKDXVwc2VydGVkX21lbW8YASABKAsyHC50ZW1wb3JhbC5hcGkuY29t", + "bW9uLnYxLk1lbW8iSgoSUmV0dXJuUmVzdWx0QWN0aW9uEjQKC3JldHVybl90", + "aGlzGAEgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkIkYK", + "EVJldHVybkVycm9yQWN0aW9uEjEKB2ZhaWx1cmUYASABKAsyIC50ZW1wb3Jh", + "bC5hcGkuZmFpbHVyZS52MS5GYWlsdXJlIt4GChNDb250aW51ZUFzTmV3QWN0", + "aW9uEhUKDXdvcmtmbG93X3R5cGUYASABKAkSEgoKdGFza19xdWV1ZRgCIAEo", + "CRIyCglhcmd1bWVudHMYAyADKAsyHy50ZW1wb3JhbC5hcGkuY29tbW9uLnYx", + "LlBheWxvYWQSNwoUd29ya2Zsb3dfcnVuX3RpbWVvdXQYBCABKAsyGS5nb29n", + "bGUucHJvdG9idWYuRHVyYXRpb24SOAoVd29ya2Zsb3dfdGFza190aW1lb3V0", + "GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEkcKBG1lbW8YBiAD", + "KAsyOS50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Db250aW51ZUFzTmV3", + "QWN0aW9uLk1lbW9FbnRyeRJNCgdoZWFkZXJzGAcgAygLMjwudGVtcG9yYWwu", + "b21lcy5raXRjaGVuX3NpbmsuQ29udGludWVBc05ld0FjdGlvbi5IZWFkZXJz", + "RW50cnkSYAoRc2VhcmNoX2F0dHJpYnV0ZXMYCCADKAsyRS50ZW1wb3JhbC5v", + "bWVzLmtpdGNoZW5fc2luay5Db250aW51ZUFzTmV3QWN0aW9uLlNlYXJjaEF0", + "dHJpYnV0ZXNFbnRyeRI5CgxyZXRyeV9wb2xpY3kYCSABKAsyIy50ZW1wb3Jh", + "bC5hcGkuY29tbW9uLnYxLlJldHJ5UG9saWN5EkcKEXZlcnNpb25pbmdfaW50", + "ZW50GAogASgOMiwudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuVmVyc2lv", + "bmluZ0ludGVudBpMCglNZW1vRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVl", + "GAIgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ARpP", + "CgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8u", + "dGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ARpYChVTZWFyY2hB", + "dHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8u", + "dGVtcG9yYWwuYXBpLmNvbW1vbi52MS5QYXlsb2FkOgI4ASLRAQoVUmVtb3Rl", + "QWN0aXZpdHlPcHRpb25zEk8KEWNhbmNlbGxhdGlvbl90eXBlGAEgASgOMjQu", + "dGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuQWN0aXZpdHlDYW5jZWxsYXRp", + "b25UeXBlEh4KFmRvX25vdF9lYWdlcmx5X2V4ZWN1dGUYAiABKAgSRwoRdmVy", + "c2lvbmluZ19pbnRlbnQYAyABKA4yLC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5f", + "c2luay5WZXJzaW9uaW5nSW50ZW50Iv8BChVFeGVjdXRlTmV4dXNPcGVyYXRp", + "b24SEAoIZW5kcG9pbnQYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEkAKBWlu", + "cHV0GAMgASgLMjEudGVtcG9yYWwub21lcy5raXRjaGVuX3NpbmsuTmV4dXNP", + "cGVyYXRpb25SZXF1ZXN0EkUKEGF3YWl0YWJsZV9jaG9pY2UYBSABKAsyKy50", + "ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Bd2FpdGFibGVDaG9pY2USOAoP", + "ZXhwZWN0ZWRfb3V0cHV0GAYgASgLMh8udGVtcG9yYWwuYXBpLmNvbW1vbi52", + "MS5QYXlsb2FkIsoBChVOZXh1c09wZXJhdGlvblJlcXVlc3QSDgoEZWNobxgB", + "IAEoCUgAEkoKD3dvcmtmbG93X2FjdGlvbhgCIAEoCzIvLnRlbXBvcmFsLm9t", + "ZXMua2l0Y2hlbl9zaW5rLk5leHVzV29ya2Zsb3dBY3Rpb25IABJLCg5zdGFy", + "dF9hY3Rpdml0eRgDIAEoCzIxLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r", + "LkV4ZWN1dGVBY3Rpdml0eUFjdGlvbkgAQggKBmFjdGlvbiK7AQoTTmV4dXNX", + "b3JrZmxvd0FjdGlvbhITCgt3b3JrZmxvd19pZBgBIAEoCRIOCgZydW5faWQY", + "AiABKAkSTAoNc3RhcnRfb3B0aW9ucxgDIAEoCzI1LnRlbXBvcmFsLm9tZXMu", + "a2l0Y2hlbl9zaW5rLk5leHVzV29ya2Zsb3dTdGFydE9wdGlvbnMSJwoFc3Rh", + "cnQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAEIICgZhY3Rpb24i", + "yAEKGU5leHVzV29ya2Zsb3dTdGFydE9wdGlvbnMSEgoKdGFza19xdWV1ZRgB", + "IAEoCRJUCht3b3JrZmxvd19pZF9jb25mbGljdF9wb2xpY3kYAiABKA4yLy50", + "ZW1wb3JhbC5hcGkuZW51bXMudjEuV29ya2Zsb3dJZENvbmZsaWN0UG9saWN5", + "EkEKDndvcmtmbG93X2lucHV0GAMgASgLMikudGVtcG9yYWwub21lcy5raXRj", + "aGVuX3NpbmsuV29ya2Zsb3dJbnB1dCIVChNBd2FpdFBlbmRpbmdBY3Rpb25z", + "KqQBChFQYXJlbnRDbG9zZVBvbGljeRIjCh9QQVJFTlRfQ0xPU0VfUE9MSUNZ", + "X1VOU1BFQ0lGSUVEEAASIQodUEFSRU5UX0NMT1NFX1BPTElDWV9URVJNSU5B", + "VEUQARIfChtQQVJFTlRfQ0xPU0VfUE9MSUNZX0FCQU5ET04QAhImCiJQQVJF", + "TlRfQ0xPU0VfUE9MSUNZX1JFUVVFU1RfQ0FOQ0VMEAMqQAoQVmVyc2lvbmlu", + "Z0ludGVudBIPCgtVTlNQRUNJRklFRBAAEg4KCkNPTVBBVElCTEUQARILCgdE", + "RUZBVUxUEAIqogEKHUNoaWxkV29ya2Zsb3dDYW5jZWxsYXRpb25UeXBlEhQK", + "EENISUxEX1dGX0FCQU5ET04QABIXChNDSElMRF9XRl9UUllfQ0FOQ0VMEAES", + "KAokQ0hJTERfV0ZfV0FJVF9DQU5DRUxMQVRJT05fQ09NUExFVEVEEAISKAok", + "Q0hJTERfV0ZfV0FJVF9DQU5DRUxMQVRJT05fUkVRVUVTVEVEEAMqWAoYQWN0", + "aXZpdHlDYW5jZWxsYXRpb25UeXBlEg4KClRSWV9DQU5DRUwQABIfChtXQUlU", + "X0NBTkNFTExBVElPTl9DT01QTEVURUQQARILCgdBQkFORE9OEAJCQgoQaW8u", + "dGVtcG9yYWwub21lc1ouZ2l0aHViLmNvbS90ZW1wb3JhbGlvL29tZXMvbG9h", + "ZGdlbi9raXRjaGVuc2lua2IGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Temporalio.Api.Common.V1.MessageReflection.Descriptor, global::Temporalio.Api.Failure.V1.MessageReflection.Descriptor, global::Temporalio.Api.Enums.V1.WorkflowReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Temporal.Omes.KitchenSink.ParentClosePolicy), typeof(global::Temporal.Omes.KitchenSink.VersioningIntent), typeof(global::Temporal.Omes.KitchenSink.ChildWorkflowCancellationType), typeof(global::Temporal.Omes.KitchenSink.ActivityCancellationType), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -301,7 +306,7 @@ static KitchenSinkReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ClientActionSet), global::Temporal.Omes.KitchenSink.ClientActionSet.Parser, new[]{ "Actions", "Concurrent", "WaitAtEnd", "WaitForCurrentRunToFinishAtEnd" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.WithStartClientAction), global::Temporal.Omes.KitchenSink.WithStartClientAction.Parser, new[]{ "DoSignal", "DoUpdate" }, new[]{ "Variant" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ClientAction), global::Temporal.Omes.KitchenSink.ClientAction.Parser, new[]{ "DoSignal", "DoQuery", "DoUpdate", "NestedActions", "DoDescribe", "DoStandaloneNexusOperation", "DoStandaloneActivity", "DoStandaloneActivityOperatorCommands" }, new[]{ "Variant" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoStandaloneNexusOperation), global::Temporal.Omes.KitchenSink.DoStandaloneNexusOperation.Parser, new[]{ "Endpoint", "Service", "Operation" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoStandaloneNexusOperation), global::Temporal.Omes.KitchenSink.DoStandaloneNexusOperation.Parser, new[]{ "Operation" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoStandaloneActivity), global::Temporal.Omes.KitchenSink.DoStandaloneActivity.Parser, new[]{ "Activity" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoStandaloneActivityOperatorCommands), global::Temporal.Omes.KitchenSink.DoStandaloneActivityOperatorCommands.Parser, new[]{ "Activity", "CommandType" }, null, new[]{ typeof(global::Temporal.Omes.KitchenSink.DoStandaloneActivityOperatorCommands.Types.CommandType) }, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoSignal), global::Temporal.Omes.KitchenSink.DoSignal.Parser, new[]{ "DoSignalActions", "Custom", "WithStart" }, new[]{ "Variant" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.DoSignal.Types.DoSignalActions), global::Temporal.Omes.KitchenSink.DoSignal.Types.DoSignalActions.Parser, new[]{ "DoActions", "DoActionsInMain", "SignalId" }, new[]{ "Variant" }, null, null, null)}), @@ -335,8 +340,10 @@ static KitchenSinkReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ReturnErrorAction), global::Temporal.Omes.KitchenSink.ReturnErrorAction.Parser, new[]{ "Failure" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ContinueAsNewAction), global::Temporal.Omes.KitchenSink.ContinueAsNewAction.Parser, new[]{ "WorkflowType", "TaskQueue", "Arguments", "WorkflowRunTimeout", "WorkflowTaskTimeout", "Memo", "Headers", "SearchAttributes", "RetryPolicy", "VersioningIntent" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, }), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.RemoteActivityOptions), global::Temporal.Omes.KitchenSink.RemoteActivityOptions.Parser, new[]{ "CancellationType", "DoNotEagerlyExecute", "VersioningIntent" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ExecuteNexusOperation), global::Temporal.Omes.KitchenSink.ExecuteNexusOperation.Parser, new[]{ "Endpoint", "Operation", "Input", "AwaitableChoice", "ExpectedOutput", "BeforeActions", "HandlerWorkflowId", "HandlerWorkflowIdConflictPolicy", "WaitForSignal" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusHandlerInput), global::Temporal.Omes.KitchenSink.NexusHandlerInput.Parser, new[]{ "Input", "BeforeActions", "HandlerWorkflowId", "HandlerWorkflowIdConflictPolicy", "WaitForSignal" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ExecuteNexusOperation), global::Temporal.Omes.KitchenSink.ExecuteNexusOperation.Parser, new[]{ "Endpoint", "Operation", "Input", "AwaitableChoice", "ExpectedOutput" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusOperationRequest), global::Temporal.Omes.KitchenSink.NexusOperationRequest.Parser, new[]{ "Echo", "WorkflowAction", "StartActivity" }, new[]{ "Action" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusWorkflowAction), global::Temporal.Omes.KitchenSink.NexusWorkflowAction.Parser, new[]{ "WorkflowId", "RunId", "StartOptions", "Start" }, new[]{ "Action" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions), global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions.Parser, new[]{ "TaskQueue", "WorkflowIdConflictPolicy", "WorkflowInput" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.AwaitPendingActions), global::Temporal.Omes.KitchenSink.AwaitPendingActions.Parser, null, null, null, null, null) })); } @@ -2155,9 +2162,7 @@ public DoStandaloneNexusOperation() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public DoStandaloneNexusOperation(DoStandaloneNexusOperation other) : this() { - endpoint_ = other.endpoint_; - service_ = other.service_; - operation_ = other.operation_; + operation_ = other.operation_ != null ? other.operation_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2167,39 +2172,15 @@ public DoStandaloneNexusOperation Clone() { return new DoStandaloneNexusOperation(this); } - /// Field number for the "endpoint" field. - public const int EndpointFieldNumber = 1; - private string endpoint_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Endpoint { - get { return endpoint_; } - set { - endpoint_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "service" field. - public const int ServiceFieldNumber = 2; - private string service_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Service { - get { return service_; } - set { - service_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - /// Field number for the "operation" field. - public const int OperationFieldNumber = 3; - private string operation_ = ""; + public const int OperationFieldNumber = 1; + private global::Temporal.Omes.KitchenSink.ExecuteNexusOperation operation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Operation { + public global::Temporal.Omes.KitchenSink.ExecuteNexusOperation Operation { get { return operation_; } set { - operation_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + operation_ = value; } } @@ -2218,9 +2199,7 @@ public bool Equals(DoStandaloneNexusOperation other) { if (ReferenceEquals(other, this)) { return true; } - if (Endpoint != other.Endpoint) return false; - if (Service != other.Service) return false; - if (Operation != other.Operation) return false; + if (!object.Equals(Operation, other.Operation)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2228,9 +2207,7 @@ public bool Equals(DoStandaloneNexusOperation other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Endpoint.Length != 0) hash ^= Endpoint.GetHashCode(); - if (Service.Length != 0) hash ^= Service.GetHashCode(); - if (Operation.Length != 0) hash ^= Operation.GetHashCode(); + if (operation_ != null) hash ^= Operation.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2249,17 +2226,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Endpoint.Length != 0) { + if (operation_ != null) { output.WriteRawTag(10); - output.WriteString(Endpoint); - } - if (Service.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Service); - } - if (Operation.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Operation); + output.WriteMessage(Operation); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -2271,17 +2240,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Endpoint.Length != 0) { + if (operation_ != null) { output.WriteRawTag(10); - output.WriteString(Endpoint); - } - if (Service.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Service); - } - if (Operation.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Operation); + output.WriteMessage(Operation); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -2293,14 +2254,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Endpoint.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Endpoint); - } - if (Service.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Service); - } - if (Operation.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Operation); + if (operation_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Operation); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -2314,14 +2269,11 @@ public void MergeFrom(DoStandaloneNexusOperation other) { if (other == null) { return; } - if (other.Endpoint.Length != 0) { - Endpoint = other.Endpoint; - } - if (other.Service.Length != 0) { - Service = other.Service; - } - if (other.Operation.Length != 0) { - Operation = other.Operation; + if (other.operation_ != null) { + if (operation_ == null) { + Operation = new global::Temporal.Omes.KitchenSink.ExecuteNexusOperation(); + } + Operation.MergeFrom(other.Operation); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2339,15 +2291,10 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - Endpoint = input.ReadString(); - break; - } - case 18: { - Service = input.ReadString(); - break; - } - case 26: { - Operation = input.ReadString(); + if (operation_ == null) { + Operation = new global::Temporal.Omes.KitchenSink.ExecuteNexusOperation(); + } + input.ReadMessage(Operation); break; } } @@ -2366,15 +2313,10 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - Endpoint = input.ReadString(); - break; - } - case 18: { - Service = input.ReadString(); - break; - } - case 26: { - Operation = input.ReadString(); + if (operation_ == null) { + Operation = new global::Temporal.Omes.KitchenSink.ExecuteNexusOperation(); + } + input.ReadMessage(Operation); break; } } @@ -14037,7 +13979,7 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// Execute a Nexus operation + /// Execute a Nexus operation. /// [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ExecuteNexusOperation : pb::IMessage @@ -14076,13 +14018,9 @@ public ExecuteNexusOperation() { public ExecuteNexusOperation(ExecuteNexusOperation other) : this() { endpoint_ = other.endpoint_; operation_ = other.operation_; - input_ = other.input_; + input_ = other.input_ != null ? other.input_.Clone() : null; awaitableChoice_ = other.awaitableChoice_ != null ? other.awaitableChoice_.Clone() : null; - expectedOutput_ = other.expectedOutput_; - beforeActions_ = other.beforeActions_.Clone(); - handlerWorkflowId_ = other.handlerWorkflowId_; - handlerWorkflowIdConflictPolicy_ = other.handlerWorkflowIdConflictPolicy_; - waitForSignal_ = other.waitForSignal_; + expectedOutput_ = other.expectedOutput_ != null ? other.expectedOutput_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -14108,7 +14046,7 @@ public string Endpoint { public const int OperationFieldNumber = 2; private string operation_ = ""; /// - /// Operation name to call + /// Operation name on the Nexus service. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14121,16 +14059,13 @@ public string Operation { /// Field number for the "input" field. public const int InputFieldNumber = 3; - private string input_ = ""; - /// - /// Input payload for the operation - /// + private global::Temporal.Omes.KitchenSink.NexusOperationRequest input_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Input { + public global::Temporal.Omes.KitchenSink.NexusOperationRequest Input { get { return input_; } set { - input_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + input_ = value; } } @@ -14151,75 +14086,16 @@ public string Input { /// Field number for the "expected_output" field. public const int ExpectedOutputFieldNumber = 6; - private string expectedOutput_ = ""; + private global::Temporalio.Api.Common.V1.Payload expectedOutput_; /// - /// Expected output for verification + /// If set, the operation's output is compared against this value after completion. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ExpectedOutput { + public global::Temporalio.Api.Common.V1.Payload ExpectedOutput { get { return expectedOutput_; } set { - expectedOutput_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "before_actions" field. - public const int BeforeActionsFieldNumber = 7; - private static readonly pb::FieldCodec _repeated_beforeActions_codec - = pb::FieldCodec.ForMessage(58, global::Temporal.Omes.KitchenSink.ActionSet.Parser); - private readonly pbc::RepeatedField beforeActions_ = new pbc::RepeatedField(); - /// - /// Actions to execute before returning from the handler workflow - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField BeforeActions { - get { return beforeActions_; } - } - - /// Field number for the "handler_workflow_id" field. - public const int HandlerWorkflowIdFieldNumber = 8; - private string handlerWorkflowId_ = ""; - /// - /// Override the handler workflow ID (defaults to per-request random). - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string HandlerWorkflowId { - get { return handlerWorkflowId_; } - set { - handlerWorkflowId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "handler_workflow_id_conflict_policy" field. - public const int HandlerWorkflowIdConflictPolicyFieldNumber = 9; - private global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy handlerWorkflowIdConflictPolicy_ = global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified; - /// - /// Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy HandlerWorkflowIdConflictPolicy { - get { return handlerWorkflowIdConflictPolicy_; } - set { - handlerWorkflowIdConflictPolicy_ = value; - } - } - - /// Field number for the "wait_for_signal" field. - public const int WaitForSignalFieldNumber = 10; - private bool waitForSignal_; - /// - /// If true, the handler workflow waits on the "unblock" signal before returning. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool WaitForSignal { - get { return waitForSignal_; } - set { - waitForSignal_ = value; + expectedOutput_ = value; } } @@ -14240,13 +14116,9 @@ public bool Equals(ExecuteNexusOperation other) { } if (Endpoint != other.Endpoint) return false; if (Operation != other.Operation) return false; - if (Input != other.Input) return false; + if (!object.Equals(Input, other.Input)) return false; if (!object.Equals(AwaitableChoice, other.AwaitableChoice)) return false; - if (ExpectedOutput != other.ExpectedOutput) return false; - if(!beforeActions_.Equals(other.beforeActions_)) return false; - if (HandlerWorkflowId != other.HandlerWorkflowId) return false; - if (HandlerWorkflowIdConflictPolicy != other.HandlerWorkflowIdConflictPolicy) return false; - if (WaitForSignal != other.WaitForSignal) return false; + if (!object.Equals(ExpectedOutput, other.ExpectedOutput)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -14256,13 +14128,9 @@ public override int GetHashCode() { int hash = 1; if (Endpoint.Length != 0) hash ^= Endpoint.GetHashCode(); if (Operation.Length != 0) hash ^= Operation.GetHashCode(); - if (Input.Length != 0) hash ^= Input.GetHashCode(); + if (input_ != null) hash ^= Input.GetHashCode(); if (awaitableChoice_ != null) hash ^= AwaitableChoice.GetHashCode(); - if (ExpectedOutput.Length != 0) hash ^= ExpectedOutput.GetHashCode(); - hash ^= beforeActions_.GetHashCode(); - if (HandlerWorkflowId.Length != 0) hash ^= HandlerWorkflowId.GetHashCode(); - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) hash ^= HandlerWorkflowIdConflictPolicy.GetHashCode(); - if (WaitForSignal != false) hash ^= WaitForSignal.GetHashCode(); + if (expectedOutput_ != null) hash ^= ExpectedOutput.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -14289,30 +14157,17 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteString(Operation); } - if (Input.Length != 0) { + if (input_ != null) { output.WriteRawTag(26); - output.WriteString(Input); + output.WriteMessage(Input); } if (awaitableChoice_ != null) { output.WriteRawTag(42); output.WriteMessage(AwaitableChoice); } - if (ExpectedOutput.Length != 0) { + if (expectedOutput_ != null) { output.WriteRawTag(50); - output.WriteString(ExpectedOutput); - } - beforeActions_.WriteTo(output, _repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - output.WriteRawTag(66); - output.WriteString(HandlerWorkflowId); - } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - output.WriteRawTag(72); - output.WriteEnum((int) HandlerWorkflowIdConflictPolicy); - } - if (WaitForSignal != false) { - output.WriteRawTag(80); - output.WriteBool(WaitForSignal); + output.WriteMessage(ExpectedOutput); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -14332,30 +14187,17 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteString(Operation); } - if (Input.Length != 0) { + if (input_ != null) { output.WriteRawTag(26); - output.WriteString(Input); + output.WriteMessage(Input); } if (awaitableChoice_ != null) { output.WriteRawTag(42); output.WriteMessage(AwaitableChoice); } - if (ExpectedOutput.Length != 0) { + if (expectedOutput_ != null) { output.WriteRawTag(50); - output.WriteString(ExpectedOutput); - } - beforeActions_.WriteTo(ref output, _repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - output.WriteRawTag(66); - output.WriteString(HandlerWorkflowId); - } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - output.WriteRawTag(72); - output.WriteEnum((int) HandlerWorkflowIdConflictPolicy); - } - if (WaitForSignal != false) { - output.WriteRawTag(80); - output.WriteBool(WaitForSignal); + output.WriteMessage(ExpectedOutput); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -14373,24 +14215,14 @@ public int CalculateSize() { if (Operation.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Operation); } - if (Input.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Input); + if (input_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Input); } if (awaitableChoice_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(AwaitableChoice); } - if (ExpectedOutput.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ExpectedOutput); - } - size += beforeActions_.CalculateSize(_repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(HandlerWorkflowId); - } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HandlerWorkflowIdConflictPolicy); - } - if (WaitForSignal != false) { - size += 1 + 1; + if (expectedOutput_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExpectedOutput); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -14410,8 +14242,11 @@ public void MergeFrom(ExecuteNexusOperation other) { if (other.Operation.Length != 0) { Operation = other.Operation; } - if (other.Input.Length != 0) { - Input = other.Input; + if (other.input_ != null) { + if (input_ == null) { + Input = new global::Temporal.Omes.KitchenSink.NexusOperationRequest(); + } + Input.MergeFrom(other.Input); } if (other.awaitableChoice_ != null) { if (awaitableChoice_ == null) { @@ -14419,18 +14254,11 @@ public void MergeFrom(ExecuteNexusOperation other) { } AwaitableChoice.MergeFrom(other.AwaitableChoice); } - if (other.ExpectedOutput.Length != 0) { - ExpectedOutput = other.ExpectedOutput; - } - beforeActions_.Add(other.beforeActions_); - if (other.HandlerWorkflowId.Length != 0) { - HandlerWorkflowId = other.HandlerWorkflowId; - } - if (other.HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - HandlerWorkflowIdConflictPolicy = other.HandlerWorkflowIdConflictPolicy; - } - if (other.WaitForSignal != false) { - WaitForSignal = other.WaitForSignal; + if (other.expectedOutput_ != null) { + if (expectedOutput_ == null) { + ExpectedOutput = new global::Temporalio.Api.Common.V1.Payload(); + } + ExpectedOutput.MergeFrom(other.ExpectedOutput); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -14456,7 +14284,10 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - Input = input.ReadString(); + if (input_ == null) { + Input = new global::Temporal.Omes.KitchenSink.NexusOperationRequest(); + } + input.ReadMessage(Input); break; } case 42: { @@ -14467,23 +14298,10 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 50: { - ExpectedOutput = input.ReadString(); - break; - } - case 58: { - beforeActions_.AddEntriesFrom(input, _repeated_beforeActions_codec); - break; - } - case 66: { - HandlerWorkflowId = input.ReadString(); - break; - } - case 72: { - HandlerWorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); - break; - } - case 80: { - WaitForSignal = input.ReadBool(); + if (expectedOutput_ == null) { + ExpectedOutput = new global::Temporalio.Api.Common.V1.Payload(); + } + input.ReadMessage(ExpectedOutput); break; } } @@ -14510,7 +14328,10 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - Input = input.ReadString(); + if (input_ == null) { + Input = new global::Temporal.Omes.KitchenSink.NexusOperationRequest(); + } + input.ReadMessage(Input); break; } case 42: { @@ -14521,23 +14342,10 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 50: { - ExpectedOutput = input.ReadString(); - break; - } - case 58: { - beforeActions_.AddEntriesFrom(ref input, _repeated_beforeActions_codec); - break; - } - case 66: { - HandlerWorkflowId = input.ReadString(); - break; - } - case 72: { - HandlerWorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); - break; - } - case 80: { - WaitForSignal = input.ReadBool(); + if (expectedOutput_ == null) { + ExpectedOutput = new global::Temporalio.Api.Common.V1.Payload(); + } + input.ReadMessage(ExpectedOutput); break; } } @@ -14548,19 +14356,19 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// Input for the Nexus handler workflow that backs echo-sync and echo-async operations + /// Input for the kitchen sink Nexus operation. /// [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class NexusHandlerInput : pb::IMessage + public sealed partial class NexusOperationRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NexusHandlerInput()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NexusOperationRequest()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14576,7 +14384,7 @@ public sealed partial class NexusHandlerInput : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NexusHandlerInput() { + public NexusOperationRequest() { OnConstruction(); } @@ -14584,103 +14392,128 @@ public NexusHandlerInput() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NexusHandlerInput(NexusHandlerInput other) : this() { - input_ = other.input_; - beforeActions_ = other.beforeActions_.Clone(); - handlerWorkflowId_ = other.handlerWorkflowId_; - handlerWorkflowIdConflictPolicy_ = other.handlerWorkflowIdConflictPolicy_; - waitForSignal_ = other.waitForSignal_; + public NexusOperationRequest(NexusOperationRequest other) : this() { + switch (other.ActionCase) { + case ActionOneofCase.Echo: + Echo = other.Echo; + break; + case ActionOneofCase.WorkflowAction: + WorkflowAction = other.WorkflowAction.Clone(); + break; + case ActionOneofCase.StartActivity: + StartActivity = other.StartActivity.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NexusHandlerInput Clone() { - return new NexusHandlerInput(this); + public NexusOperationRequest Clone() { + return new NexusOperationRequest(this); } - /// Field number for the "input" field. - public const int InputFieldNumber = 1; - private string input_ = ""; + /// Field number for the "echo" field. + public const int EchoFieldNumber = 1; + /// + /// Return this value synchronously. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Input { - get { return input_; } + public string Echo { + get { return HasEcho ? (string) action_ : ""; } set { - input_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + action_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + actionCase_ = ActionOneofCase.Echo; } } - - /// Field number for the "before_actions" field. - public const int BeforeActionsFieldNumber = 2; - private static readonly pb::FieldCodec _repeated_beforeActions_codec - = pb::FieldCodec.ForMessage(18, global::Temporal.Omes.KitchenSink.ActionSet.Parser); - private readonly pbc::RepeatedField beforeActions_ = new pbc::RepeatedField(); + /// Gets whether the "echo" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField BeforeActions { - get { return beforeActions_; } + public bool HasEcho { + get { return actionCase_ == ActionOneofCase.Echo; } } - - /// Field number for the "handler_workflow_id" field. - public const int HandlerWorkflowIdFieldNumber = 3; - private string handlerWorkflowId_ = ""; + /// Clears the value of the oneof if it's currently set to "echo" [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string HandlerWorkflowId { - get { return handlerWorkflowId_; } - set { - handlerWorkflowId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + public void ClearEcho() { + if (HasEcho) { + ClearAction(); } } - /// Field number for the "handler_workflow_id_conflict_policy" field. - public const int HandlerWorkflowIdConflictPolicyFieldNumber = 4; - private global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy handlerWorkflowIdConflictPolicy_ = global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified; + /// Field number for the "workflow_action" field. + public const int WorkflowActionFieldNumber = 2; + /// + /// Act on a kitchenSink workflow. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy HandlerWorkflowIdConflictPolicy { - get { return handlerWorkflowIdConflictPolicy_; } + public global::Temporal.Omes.KitchenSink.NexusWorkflowAction WorkflowAction { + get { return actionCase_ == ActionOneofCase.WorkflowAction ? (global::Temporal.Omes.KitchenSink.NexusWorkflowAction) action_ : null; } set { - handlerWorkflowIdConflictPolicy_ = value; + action_ = value; + actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.WorkflowAction; } } - /// Field number for the "wait_for_signal" field. - public const int WaitForSignalFieldNumber = 5; - private bool waitForSignal_; + /// Field number for the "start_activity" field. + public const int StartActivityFieldNumber = 3; /// - /// If true, the handler workflow waits on the "unblock" signal before returning. + /// Start a standalone activity. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool WaitForSignal { - get { return waitForSignal_; } + public global::Temporal.Omes.KitchenSink.ExecuteActivityAction StartActivity { + get { return actionCase_ == ActionOneofCase.StartActivity ? (global::Temporal.Omes.KitchenSink.ExecuteActivityAction) action_ : null; } set { - waitForSignal_ = value; + action_ = value; + actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.StartActivity; } } + private object action_; + /// Enum of possible cases for the "action" oneof. + public enum ActionOneofCase { + None = 0, + Echo = 1, + WorkflowAction = 2, + StartActivity = 3, + } + private ActionOneofCase actionCase_ = ActionOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ActionOneofCase ActionCase { + get { return actionCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAction() { + actionCase_ = ActionOneofCase.None; + action_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NexusHandlerInput); + return Equals(other as NexusOperationRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NexusHandlerInput other) { + public bool Equals(NexusOperationRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Input != other.Input) return false; - if(!beforeActions_.Equals(other.beforeActions_)) return false; - if (HandlerWorkflowId != other.HandlerWorkflowId) return false; - if (HandlerWorkflowIdConflictPolicy != other.HandlerWorkflowIdConflictPolicy) return false; - if (WaitForSignal != other.WaitForSignal) return false; + if (Echo != other.Echo) return false; + if (!object.Equals(WorkflowAction, other.WorkflowAction)) return false; + if (!object.Equals(StartActivity, other.StartActivity)) return false; + if (ActionCase != other.ActionCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -14688,11 +14521,10 @@ public bool Equals(NexusHandlerInput other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Input.Length != 0) hash ^= Input.GetHashCode(); - hash ^= beforeActions_.GetHashCode(); - if (HandlerWorkflowId.Length != 0) hash ^= HandlerWorkflowId.GetHashCode(); - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) hash ^= HandlerWorkflowIdConflictPolicy.GetHashCode(); - if (WaitForSignal != false) hash ^= WaitForSignal.GetHashCode(); + if (HasEcho) hash ^= Echo.GetHashCode(); + if (actionCase_ == ActionOneofCase.WorkflowAction) hash ^= WorkflowAction.GetHashCode(); + if (actionCase_ == ActionOneofCase.StartActivity) hash ^= StartActivity.GetHashCode(); + hash ^= (int) actionCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -14711,22 +14543,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Input.Length != 0) { + if (HasEcho) { output.WriteRawTag(10); - output.WriteString(Input); - } - beforeActions_.WriteTo(output, _repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - output.WriteRawTag(26); - output.WriteString(HandlerWorkflowId); + output.WriteString(Echo); } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - output.WriteRawTag(32); - output.WriteEnum((int) HandlerWorkflowIdConflictPolicy); + if (actionCase_ == ActionOneofCase.WorkflowAction) { + output.WriteRawTag(18); + output.WriteMessage(WorkflowAction); } - if (WaitForSignal != false) { - output.WriteRawTag(40); - output.WriteBool(WaitForSignal); + if (actionCase_ == ActionOneofCase.StartActivity) { + output.WriteRawTag(26); + output.WriteMessage(StartActivity); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -14738,22 +14565,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Input.Length != 0) { + if (HasEcho) { output.WriteRawTag(10); - output.WriteString(Input); + output.WriteString(Echo); } - beforeActions_.WriteTo(ref output, _repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - output.WriteRawTag(26); - output.WriteString(HandlerWorkflowId); - } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - output.WriteRawTag(32); - output.WriteEnum((int) HandlerWorkflowIdConflictPolicy); + if (actionCase_ == ActionOneofCase.WorkflowAction) { + output.WriteRawTag(18); + output.WriteMessage(WorkflowAction); } - if (WaitForSignal != false) { - output.WriteRawTag(40); - output.WriteBool(WaitForSignal); + if (actionCase_ == ActionOneofCase.StartActivity) { + output.WriteRawTag(26); + output.WriteMessage(StartActivity); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -14765,18 +14587,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Input.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Input); - } - size += beforeActions_.CalculateSize(_repeated_beforeActions_codec); - if (HandlerWorkflowId.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(HandlerWorkflowId); + if (HasEcho) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Echo); } - if (HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HandlerWorkflowIdConflictPolicy); + if (actionCase_ == ActionOneofCase.WorkflowAction) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(WorkflowAction); } - if (WaitForSignal != false) { - size += 1 + 1; + if (actionCase_ == ActionOneofCase.StartActivity) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(StartActivity); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -14786,23 +14604,28 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NexusHandlerInput other) { + public void MergeFrom(NexusOperationRequest other) { if (other == null) { return; } - if (other.Input.Length != 0) { - Input = other.Input; - } - beforeActions_.Add(other.beforeActions_); - if (other.HandlerWorkflowId.Length != 0) { - HandlerWorkflowId = other.HandlerWorkflowId; - } - if (other.HandlerWorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { - HandlerWorkflowIdConflictPolicy = other.HandlerWorkflowIdConflictPolicy; - } - if (other.WaitForSignal != false) { - WaitForSignal = other.WaitForSignal; + switch (other.ActionCase) { + case ActionOneofCase.Echo: + Echo = other.Echo; + break; + case ActionOneofCase.WorkflowAction: + if (WorkflowAction == null) { + WorkflowAction = new global::Temporal.Omes.KitchenSink.NexusWorkflowAction(); + } + WorkflowAction.MergeFrom(other.WorkflowAction); + break; + case ActionOneofCase.StartActivity: + if (StartActivity == null) { + StartActivity = new global::Temporal.Omes.KitchenSink.ExecuteActivityAction(); + } + StartActivity.MergeFrom(other.StartActivity); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -14819,23 +14642,25 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - Input = input.ReadString(); + Echo = input.ReadString(); break; } case 18: { - beforeActions_.AddEntriesFrom(input, _repeated_beforeActions_codec); + global::Temporal.Omes.KitchenSink.NexusWorkflowAction subBuilder = new global::Temporal.Omes.KitchenSink.NexusWorkflowAction(); + if (actionCase_ == ActionOneofCase.WorkflowAction) { + subBuilder.MergeFrom(WorkflowAction); + } + input.ReadMessage(subBuilder); + WorkflowAction = subBuilder; break; } case 26: { - HandlerWorkflowId = input.ReadString(); - break; - } - case 32: { - HandlerWorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); - break; - } - case 40: { - WaitForSignal = input.ReadBool(); + global::Temporal.Omes.KitchenSink.ExecuteActivityAction subBuilder = new global::Temporal.Omes.KitchenSink.ExecuteActivityAction(); + if (actionCase_ == ActionOneofCase.StartActivity) { + subBuilder.MergeFrom(StartActivity); + } + input.ReadMessage(subBuilder); + StartActivity = subBuilder; break; } } @@ -14854,23 +14679,25 @@ public void MergeFrom(pb::CodedInputStream input) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - Input = input.ReadString(); + Echo = input.ReadString(); break; } case 18: { - beforeActions_.AddEntriesFrom(ref input, _repeated_beforeActions_codec); + global::Temporal.Omes.KitchenSink.NexusWorkflowAction subBuilder = new global::Temporal.Omes.KitchenSink.NexusWorkflowAction(); + if (actionCase_ == ActionOneofCase.WorkflowAction) { + subBuilder.MergeFrom(WorkflowAction); + } + input.ReadMessage(subBuilder); + WorkflowAction = subBuilder; break; } case 26: { - HandlerWorkflowId = input.ReadString(); - break; - } - case 32: { - HandlerWorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); - break; - } - case 40: { - WaitForSignal = input.ReadBool(); + global::Temporal.Omes.KitchenSink.ExecuteActivityAction subBuilder = new global::Temporal.Omes.KitchenSink.ExecuteActivityAction(); + if (actionCase_ == ActionOneofCase.StartActivity) { + subBuilder.MergeFrom(StartActivity); + } + input.ReadMessage(subBuilder); + StartActivity = subBuilder; break; } } @@ -14880,21 +14707,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Await completion of all actions that were started in the same workflow with - /// AwaitableChoice.wait_started and not yet awaited. - /// [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] - public sealed partial class AwaitPendingActions : pb::IMessage + public sealed partial class NexusWorkflowAction : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AwaitPendingActions()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NexusWorkflowAction()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -14908,6 +14731,651 @@ public sealed partial class AwaitPendingActions : pb::IMessageField number for the "workflow_id" field. + public const int WorkflowIdFieldNumber = 1; + private string workflowId_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string WorkflowId { + get { return workflowId_; } + set { + workflowId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "run_id" field. + public const int RunIdFieldNumber = 2; + private string runId_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RunId { + get { return runId_; } + set { + runId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "start_options" field. + public const int StartOptionsFieldNumber = 3; + private global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions startOptions_; + /// + /// Options used when the action may start a workflow. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions StartOptions { + get { return startOptions_; } + set { + startOptions_ = value; + } + } + + /// Field number for the "start" field. + public const int StartFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Google.Protobuf.WellKnownTypes.Empty Start { + get { return actionCase_ == ActionOneofCase.Start ? (global::Google.Protobuf.WellKnownTypes.Empty) action_ : null; } + set { + action_ = value; + actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.Start; + } + } + + private object action_; + /// Enum of possible cases for the "action" oneof. + public enum ActionOneofCase { + None = 0, + Start = 4, + } + private ActionOneofCase actionCase_ = ActionOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ActionOneofCase ActionCase { + get { return actionCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAction() { + actionCase_ = ActionOneofCase.None; + action_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NexusWorkflowAction); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NexusWorkflowAction other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (WorkflowId != other.WorkflowId) return false; + if (RunId != other.RunId) return false; + if (!object.Equals(StartOptions, other.StartOptions)) return false; + if (!object.Equals(Start, other.Start)) return false; + if (ActionCase != other.ActionCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (WorkflowId.Length != 0) hash ^= WorkflowId.GetHashCode(); + if (RunId.Length != 0) hash ^= RunId.GetHashCode(); + if (startOptions_ != null) hash ^= StartOptions.GetHashCode(); + if (actionCase_ == ActionOneofCase.Start) hash ^= Start.GetHashCode(); + hash ^= (int) actionCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (WorkflowId.Length != 0) { + output.WriteRawTag(10); + output.WriteString(WorkflowId); + } + if (RunId.Length != 0) { + output.WriteRawTag(18); + output.WriteString(RunId); + } + if (startOptions_ != null) { + output.WriteRawTag(26); + output.WriteMessage(StartOptions); + } + if (actionCase_ == ActionOneofCase.Start) { + output.WriteRawTag(34); + output.WriteMessage(Start); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (WorkflowId.Length != 0) { + output.WriteRawTag(10); + output.WriteString(WorkflowId); + } + if (RunId.Length != 0) { + output.WriteRawTag(18); + output.WriteString(RunId); + } + if (startOptions_ != null) { + output.WriteRawTag(26); + output.WriteMessage(StartOptions); + } + if (actionCase_ == ActionOneofCase.Start) { + output.WriteRawTag(34); + output.WriteMessage(Start); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (WorkflowId.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(WorkflowId); + } + if (RunId.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RunId); + } + if (startOptions_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(StartOptions); + } + if (actionCase_ == ActionOneofCase.Start) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Start); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NexusWorkflowAction other) { + if (other == null) { + return; + } + if (other.WorkflowId.Length != 0) { + WorkflowId = other.WorkflowId; + } + if (other.RunId.Length != 0) { + RunId = other.RunId; + } + if (other.startOptions_ != null) { + if (startOptions_ == null) { + StartOptions = new global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions(); + } + StartOptions.MergeFrom(other.StartOptions); + } + switch (other.ActionCase) { + case ActionOneofCase.Start: + if (Start == null) { + Start = new global::Google.Protobuf.WellKnownTypes.Empty(); + } + Start.MergeFrom(other.Start); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + WorkflowId = input.ReadString(); + break; + } + case 18: { + RunId = input.ReadString(); + break; + } + case 26: { + if (startOptions_ == null) { + StartOptions = new global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions(); + } + input.ReadMessage(StartOptions); + break; + } + case 34: { + global::Google.Protobuf.WellKnownTypes.Empty subBuilder = new global::Google.Protobuf.WellKnownTypes.Empty(); + if (actionCase_ == ActionOneofCase.Start) { + subBuilder.MergeFrom(Start); + } + input.ReadMessage(subBuilder); + Start = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + WorkflowId = input.ReadString(); + break; + } + case 18: { + RunId = input.ReadString(); + break; + } + case 26: { + if (startOptions_ == null) { + StartOptions = new global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions(); + } + input.ReadMessage(StartOptions); + break; + } + case 34: { + global::Google.Protobuf.WellKnownTypes.Empty subBuilder = new global::Google.Protobuf.WellKnownTypes.Empty(); + if (actionCase_ == ActionOneofCase.Start) { + subBuilder.MergeFrom(Start); + } + input.ReadMessage(subBuilder); + Start = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Configuration for starting a kitchenSink workflow through a Nexus operation. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NexusWorkflowStartOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NexusWorkflowStartOptions()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Temporal.Omes.KitchenSink.KitchenSinkReflection.Descriptor.MessageTypes[35]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NexusWorkflowStartOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NexusWorkflowStartOptions(NexusWorkflowStartOptions other) : this() { + taskQueue_ = other.taskQueue_; + workflowIdConflictPolicy_ = other.workflowIdConflictPolicy_; + workflowInput_ = other.workflowInput_ != null ? other.workflowInput_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NexusWorkflowStartOptions Clone() { + return new NexusWorkflowStartOptions(this); + } + + /// Field number for the "task_queue" field. + public const int TaskQueueFieldNumber = 1; + private string taskQueue_ = ""; + /// + /// Task queue. Defaults to the task queue handling the Nexus request when empty. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TaskQueue { + get { return taskQueue_; } + set { + taskQueue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "workflow_id_conflict_policy" field. + public const int WorkflowIdConflictPolicyFieldNumber = 2; + private global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy workflowIdConflictPolicy_ = global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified; + /// + /// Conflict policy when starting the workflow. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy WorkflowIdConflictPolicy { + get { return workflowIdConflictPolicy_; } + set { + workflowIdConflictPolicy_ = value; + } + } + + /// Field number for the "workflow_input" field. + public const int WorkflowInputFieldNumber = 3; + private global::Temporal.Omes.KitchenSink.WorkflowInput workflowInput_; + /// + /// Typed input passed to the kitchenSink workflow. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Temporal.Omes.KitchenSink.WorkflowInput WorkflowInput { + get { return workflowInput_; } + set { + workflowInput_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NexusWorkflowStartOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NexusWorkflowStartOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TaskQueue != other.TaskQueue) return false; + if (WorkflowIdConflictPolicy != other.WorkflowIdConflictPolicy) return false; + if (!object.Equals(WorkflowInput, other.WorkflowInput)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (TaskQueue.Length != 0) hash ^= TaskQueue.GetHashCode(); + if (WorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) hash ^= WorkflowIdConflictPolicy.GetHashCode(); + if (workflowInput_ != null) hash ^= WorkflowInput.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (TaskQueue.Length != 0) { + output.WriteRawTag(10); + output.WriteString(TaskQueue); + } + if (WorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { + output.WriteRawTag(16); + output.WriteEnum((int) WorkflowIdConflictPolicy); + } + if (workflowInput_ != null) { + output.WriteRawTag(26); + output.WriteMessage(WorkflowInput); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (TaskQueue.Length != 0) { + output.WriteRawTag(10); + output.WriteString(TaskQueue); + } + if (WorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { + output.WriteRawTag(16); + output.WriteEnum((int) WorkflowIdConflictPolicy); + } + if (workflowInput_ != null) { + output.WriteRawTag(26); + output.WriteMessage(WorkflowInput); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (TaskQueue.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskQueue); + } + if (WorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) WorkflowIdConflictPolicy); + } + if (workflowInput_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(WorkflowInput); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NexusWorkflowStartOptions other) { + if (other == null) { + return; + } + if (other.TaskQueue.Length != 0) { + TaskQueue = other.TaskQueue; + } + if (other.WorkflowIdConflictPolicy != global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy.Unspecified) { + WorkflowIdConflictPolicy = other.WorkflowIdConflictPolicy; + } + if (other.workflowInput_ != null) { + if (workflowInput_ == null) { + WorkflowInput = new global::Temporal.Omes.KitchenSink.WorkflowInput(); + } + WorkflowInput.MergeFrom(other.WorkflowInput); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TaskQueue = input.ReadString(); + break; + } + case 16: { + WorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); + break; + } + case 26: { + if (workflowInput_ == null) { + WorkflowInput = new global::Temporal.Omes.KitchenSink.WorkflowInput(); + } + input.ReadMessage(WorkflowInput); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TaskQueue = input.ReadString(); + break; + } + case 16: { + WorkflowIdConflictPolicy = (global::Temporalio.Api.Enums.V1.WorkflowIdConflictPolicy) input.ReadEnum(); + break; + } + case 26: { + if (workflowInput_ == null) { + WorkflowInput = new global::Temporal.Omes.KitchenSink.WorkflowInput(); + } + input.ReadMessage(WorkflowInput); + break; + } + } + } + } + #endif + + } + + /// + /// Await completion of all actions that were started in the same workflow with + /// AwaitableChoice.wait_started and not yet awaited. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AwaitPendingActions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AwaitPendingActions()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Temporal.Omes.KitchenSink.KitchenSinkReflection.Descriptor.MessageTypes[36]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public AwaitPendingActions() { diff --git a/workers/go/apps/lambda/worker.go b/workers/go/apps/lambda/worker.go index cb8078b7..918c891c 100644 --- a/workers/go/apps/lambda/worker.go +++ b/workers/go/apps/lambda/worker.go @@ -116,14 +116,11 @@ func configureLambdaWorker(opts *lambdaworker.Options) error { ebbFlowActivities := ebbandflow.Activities{} service := nexus.NewService(kitchensink.KitchenSinkServiceName) - for _, op := range []nexus.RegisterableOperation{kitchensink.EchoSyncOperation, kitchensink.EchoAsyncOperation, kitchensink.StandaloneActivityNexusOperation} { - if err := service.Register(op); err != nil { - return fmt.Errorf("failed to register nexus operation: %w", err) - } + if err := service.Register(kitchensink.KitchenSinkNexusOperation); err != nil { + return fmt.Errorf("failed to register nexus operation: %w", err) } opts.RegisterWorkflowWithOptions(kitchensink.KitchenSinkWorkflow, workflow.RegisterOptions{Name: "kitchenSink"}) - opts.RegisterWorkflow(kitchensink.NexusHandlerWorkflow) opts.RegisterWorkflowWithOptions(ebbandflow.EbbAndFlowTrackWorkflow, workflow.RegisterOptions{Name: "ebbAndFlowTrack"}) opts.RegisterWorkflowWithOptions(schedulerstress.NoopScheduledWorkflow, workflow.RegisterOptions{Name: "NoopScheduledWorkflow"}) opts.RegisterWorkflowWithOptions(schedulerstress.SleepScheduledWorkflow, workflow.RegisterOptions{Name: "SleepScheduledWorkflow"}) diff --git a/workers/go/apps/worker/worker.go b/workers/go/apps/worker/worker.go index d024cdea..62762dfe 100644 --- a/workers/go/apps/worker/worker.go +++ b/workers/go/apps/worker/worker.go @@ -31,14 +31,8 @@ func buildWorker(client sdkclient.Client, context harness.WorkerContext) sdkwork ebbFlowActivities := ebbandflow.Activities{} clientActivities := kitchensink.ClientActivities{Client: client} service := nexus.NewService(kitchensink.KitchenSinkServiceName) - for _, op := range []nexus.RegisterableOperation{ - kitchensink.EchoSyncOperation, - kitchensink.EchoAsyncOperation, - kitchensink.StandaloneActivityNexusOperation, - } { - if err := service.Register(op); err != nil { - panic(err) - } + if err := service.Register(kitchensink.KitchenSinkNexusOperation); err != nil { + panic(err) } w := sdkworker.New(client, context.TaskQueue, context.WorkerOptions) w.RegisterWorkflowWithOptions(kitchensink.KitchenSinkWorkflow, workflow.RegisterOptions{Name: "kitchenSink"}) @@ -49,7 +43,6 @@ func buildWorker(client sdkclient.Client, context harness.WorkerContext) sdkwork w.RegisterActivityWithOptions(kitchensink.Timeout, activity.RegisterOptions{Name: "timeout"}) w.RegisterActivityWithOptions(kitchensink.Heartbeat, activity.RegisterOptions{Name: "heartbeat"}) w.RegisterActivityWithOptions(clientActivities.ExecuteClientActivity, activity.RegisterOptions{Name: "client"}) - w.RegisterWorkflow(kitchensink.NexusHandlerWorkflow) w.RegisterWorkflowWithOptions(ebbandflow.EbbAndFlowTrackWorkflow, workflow.RegisterOptions{Name: "ebbAndFlowTrack"}) w.RegisterActivity(&ebbFlowActivities) w.RegisterWorkflowWithOptions(schedulerstress.NoopScheduledWorkflow, workflow.RegisterOptions{Name: "NoopScheduledWorkflow"}) diff --git a/workers/go/workerlib/kitchensink/kitchen_sink.go b/workers/go/workerlib/kitchensink/kitchen_sink.go index 873e0beb..f0889ae0 100644 --- a/workers/go/workerlib/kitchensink/kitchen_sink.go +++ b/workers/go/workerlib/kitchensink/kitchen_sink.go @@ -1,6 +1,7 @@ package kitchensink import ( + "cmp" "context" "errors" "fmt" @@ -449,7 +450,7 @@ func withAwaitableChoiceCustom[F workflow.Future]( ws.pendingActions = append(ws.pendingActions, fut) } } else { - err = fut.Get(ctx, nil) + err = afterCompletedWaiter(ctx, fut) } // If we intentionally cancelled we want to swallow the cancel error to avoid bombing out the @@ -464,27 +465,19 @@ func withAwaitableChoiceCustom[F workflow.Future]( func handleNexusOperation(ctx workflow.Context, nexusOp *kitchensink.ExecuteNexusOperation, state *KSWorkflowState) error { return withAwaitableChoiceCustom(ctx, state, func(ctx workflow.Context) workflow.NexusOperationFuture { client := workflow.NewNexusClient(nexusOp.Endpoint, KitchenSinkServiceName) - nexusOptions := workflow.NexusOperationOptions{} - input := &kitchensink.NexusHandlerInput{ - Input: nexusOp.Input, - BeforeActions: nexusOp.BeforeActions, - HandlerWorkflowId: nexusOp.HandlerWorkflowId, - HandlerWorkflowIdConflictPolicy: nexusOp.HandlerWorkflowIdConflictPolicy, - WaitForSignal: nexusOp.WaitForSignal, - } - return client.ExecuteOperation(ctx, nexusOp.Operation, input, nexusOptions) + return client.ExecuteOperation(ctx, nexusOp.Operation, nexusOp.GetInput(), workflow.NexusOperationOptions{}) }, nexusOp.AwaitableChoice, func(ctx workflow.Context, fut workflow.NexusOperationFuture) error { return fut.GetNexusOperationExecution().Get(ctx, nil) }, func(ctx workflow.Context, fut workflow.NexusOperationFuture) error { - if expOutput := nexusOp.GetExpectedOutput(); expOutput != "" { - var result string + if expectedOutput := nexusOp.GetExpectedOutput(); expectedOutput != nil { + var result common.Payload if err := fut.Get(ctx, &result); err != nil { return err } - if expOutput != result { - return fmt.Errorf("expected output %q, got %q", expOutput, result) + if !expectedOutput.Equal(&result) { + return fmt.Errorf("expected output %v, got %v", expectedOutput, &result) } return nil } @@ -493,8 +486,12 @@ func handleNexusOperation(ctx workflow.Context, nexusOp *kitchensink.ExecuteNexu } func handleSendSignal(ctx workflow.Context, ws *KSWorkflowState, action *kitchensink.SendSignalAction) error { + var arg *common.Payload + if len(action.Args) > 0 { + arg = action.Args[0] + } return withAwaitableChoiceCustom(ctx, ws, func(ctx workflow.Context) workflow.Future { - return workflow.SignalExternalWorkflow(ctx, action.WorkflowId, action.RunId, action.SignalName, nil) + return workflow.SignalExternalWorkflow(ctx, action.WorkflowId, action.RunId, action.SignalName, arg) }, action.AwaitableChoice, func(ctx workflow.Context, fut workflow.Future) error { return fut.Get(ctx, nil) @@ -610,69 +607,71 @@ type ReturnOrErr struct { err error } -func NexusHandlerWorkflow(ctx workflow.Context, input *kitchensink.NexusHandlerInput) (string, error) { - state := KSWorkflowState{ - workflowState: &kitchensink.WorkflowState{}, - } - for _, actionSet := range input.BeforeActions { - if _, err := state.handleActionSet(ctx, actionSet); err != nil { - return "", err +// KitchenSinkNexusOperation dispatches kitchen sink Nexus actions. +var KitchenSinkNexusOperation = temporalnexus.MustNewTemporalOperation( + temporalnexus.TemporalOperationOptions[*kitchensink.NexusOperationRequest, *common.Payload]{ + Name: kitchensink.KitchenSinkNexusOperationName, + Start: startNexusOperation, + }, +) + +func startNexusOperation( + ctx context.Context, + nc temporalnexus.NexusClient, + input *kitchensink.NexusOperationRequest, + opts temporalnexus.StartTemporalOperationOptions, +) (temporalnexus.TemporalOperationResult[*common.Payload], error) { + input = cmp.Or(input, &kitchensink.NexusOperationRequest{}) + switch action := input.GetAction().(type) { + case *kitchensink.NexusOperationRequest_Echo: + return temporalnexus.NewSyncResult(kitchensink.ConvertToPayload(action.Echo)), nil + case *kitchensink.NexusOperationRequest_WorkflowAction: + workflowAction := cmp.Or(action.WorkflowAction, &kitchensink.NexusWorkflowAction{}) + if workflowAction.GetStart() == nil { + break } + startOptions := cmp.Or(workflowAction.GetStartOptions(), &kitchensink.NexusWorkflowStartOptions{}) + return temporalnexus.StartUntypedWorkflow[*common.Payload]( + ctx, + nc, + client.StartWorkflowOptions{ + ID: cmp.Or(workflowAction.GetWorkflowId(), opts.RequestID), + TaskQueue: startOptions.GetTaskQueue(), + WorkflowExecutionTimeout: 60 * time.Minute, + WorkflowIDConflictPolicy: startOptions.GetWorkflowIdConflictPolicy(), + }, + KitchenSinkWorkflow, + cmp.Or(startOptions.GetWorkflowInput(), &kitchensink.WorkflowInput{}), + ) + case *kitchensink.NexusOperationRequest_StartActivity: + return startStandaloneActivityNexusOperation(ctx, nc, action.StartActivity, opts) } - if input.WaitForSignal { - workflow.GetSignalChannel(ctx, "unblock").Receive(ctx, nil) - } - return input.Input, nil + return temporalnexus.TemporalOperationResult[*common.Payload]{}, nexus.HandlerErrorf( + nexus.HandlerErrorTypeBadRequest, "Nexus operation request has no supported action set") } -// EchoSyncOperation returns the input synchronously without starting a workflow. -var EchoSyncOperation = nexus.NewSyncOperation("echo-sync", func(ctx context.Context, input *kitchensink.NexusHandlerInput, opts nexus.StartOperationOptions) (string, error) { - if len(input.BeforeActions) > 0 { - return "", nexus.HandlerErrorf(nexus.HandlerErrorTypeBadRequest, "before_actions not supported in echo-sync") - } - return input.Input, nil -}) - -// EchoAsyncOperation starts a NexusHandlerWorkflow that runs before_actions and returns the input. -var EchoAsyncOperation = temporalnexus.NewWorkflowRunOperation("echo-async", NexusHandlerWorkflow, func(ctx context.Context, input *kitchensink.NexusHandlerInput, opts nexus.StartOperationOptions) (client.StartWorkflowOptions, error) { - if input.HandlerWorkflowId != "" { - return client.StartWorkflowOptions{ - ID: input.HandlerWorkflowId, - WorkflowIDConflictPolicy: input.HandlerWorkflowIdConflictPolicy, - WorkflowExecutionTimeout: 60 * time.Minute, - }, nil - } - return client.StartWorkflowOptions{ - ID: opts.RequestID, - }, nil -}) - -// StandaloneActivityNexusOperationName is the registered name of StandaloneActivityNexusOperation. -const StandaloneActivityNexusOperationName = "standalone-activity" - -// StandaloneActivityNexusOperation starts a standalone "noop" activity. -var StandaloneActivityNexusOperation = temporalnexus.MustNewTemporalOperation( - temporalnexus.TemporalOperationOptions[*kitchensink.NexusHandlerInput, string]{ - Name: StandaloneActivityNexusOperationName, - Start: startStandaloneActivityNexusOperation, - }, -) - // startStandaloneActivityNexusOperation starts the registered "noop" activity. func startStandaloneActivityNexusOperation( ctx context.Context, nc temporalnexus.NexusClient, - _ *kitchensink.NexusHandlerInput, + input *kitchensink.ExecuteActivityAction, opts temporalnexus.StartTemporalOperationOptions, -) (temporalnexus.TemporalOperationResult[string], error) { +) (temporalnexus.TemporalOperationResult[*common.Payload], error) { + input = cmp.Or(input, &kitchensink.ExecuteActivityAction{}) activityOpts := client.StartActivityOptions{ // Reuse the Nexus request ID so retries attach to the original activity. ID: "nexus-standalone-activity-" + opts.RequestID, - StartToCloseTimeout: 30 * time.Second, + TaskQueue: input.GetTaskQueue(), + ScheduleToCloseTimeout: input.GetScheduleToCloseTimeout().AsDuration(), + ScheduleToStartTimeout: input.GetScheduleToStartTimeout().AsDuration(), + StartToCloseTimeout: cmp.Or(input.GetStartToCloseTimeout().AsDuration(), 30*time.Second), + HeartbeatTimeout: input.GetHeartbeatTimeout().AsDuration(), + RetryPolicy: kitchensink.ConvertFromPBRetryPolicy(input.GetRetryPolicy()), ActivityIDConflictPolicy: enumspb.ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING, } - res, err := temporalnexus.StartUntypedActivity[string](ctx, nc, activityOpts, "noop") + activityType, args := kitchensink.ActivityNameAndArgs(input) + res, err := temporalnexus.StartUntypedActivity[*common.Payload](ctx, nc, activityOpts, activityType, args...) if err != nil { // Treat namespace handover as retryable. var notActive *serviceerror.NamespaceNotActive diff --git a/workers/java/io/temporal/omes/KitchenSink.java b/workers/java/io/temporal/omes/KitchenSink.java index 2e438eb1..f1b98888 100644 --- a/workers/java/io/temporal/omes/KitchenSink.java +++ b/workers/java/io/temporal/omes/KitchenSink.java @@ -6987,40 +6987,19 @@ public interface DoStandaloneNexusOperationOrBuilder extends com.google.protobuf.MessageOrBuilder { /** - * string endpoint = 1; - * @return The endpoint. - */ - java.lang.String getEndpoint(); - /** - * string endpoint = 1; - * @return The bytes for endpoint. - */ - com.google.protobuf.ByteString - getEndpointBytes(); - - /** - * string service = 2; - * @return The service. - */ - java.lang.String getService(); - /** - * string service = 2; - * @return The bytes for service. + * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1; + * @return Whether the operation field is set. */ - com.google.protobuf.ByteString - getServiceBytes(); - + boolean hasOperation(); /** - * string operation = 3; + * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1; * @return The operation. */ - java.lang.String getOperation(); + io.temporal.omes.KitchenSink.ExecuteNexusOperation getOperation(); /** - * string operation = 3; - * @return The bytes for operation. + * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1; */ - com.google.protobuf.ByteString - getOperationBytes(); + io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder getOperationOrBuilder(); } /** *
@@ -7040,9 +7019,6 @@ private DoStandaloneNexusOperation(com.google.protobuf.GeneratedMessageV3.Builde
       super(builder);
     }
     private DoStandaloneNexusOperation() {
-      endpoint_ = "";
-      service_ = "";
-      operation_ = "";
     }
 
     @java.lang.Override
@@ -7065,121 +7041,31 @@ protected java.lang.Object newInstance(
               io.temporal.omes.KitchenSink.DoStandaloneNexusOperation.class, io.temporal.omes.KitchenSink.DoStandaloneNexusOperation.Builder.class);
     }
 
-    public static final int ENDPOINT_FIELD_NUMBER = 1;
-    @SuppressWarnings("serial")
-    private volatile java.lang.Object endpoint_ = "";
-    /**
-     * string endpoint = 1;
-     * @return The endpoint.
-     */
-    @java.lang.Override
-    public java.lang.String getEndpoint() {
-      java.lang.Object ref = endpoint_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        endpoint_ = s;
-        return s;
-      }
-    }
-    /**
-     * string endpoint = 1;
-     * @return The bytes for endpoint.
-     */
-    @java.lang.Override
-    public com.google.protobuf.ByteString
-        getEndpointBytes() {
-      java.lang.Object ref = endpoint_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        endpoint_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int SERVICE_FIELD_NUMBER = 2;
-    @SuppressWarnings("serial")
-    private volatile java.lang.Object service_ = "";
-    /**
-     * string service = 2;
-     * @return The service.
-     */
-    @java.lang.Override
-    public java.lang.String getService() {
-      java.lang.Object ref = service_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        service_ = s;
-        return s;
-      }
-    }
+    private int bitField0_;
+    public static final int OPERATION_FIELD_NUMBER = 1;
+    private io.temporal.omes.KitchenSink.ExecuteNexusOperation operation_;
     /**
-     * string service = 2;
-     * @return The bytes for service.
+     * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
+     * @return Whether the operation field is set.
      */
     @java.lang.Override
-    public com.google.protobuf.ByteString
-        getServiceBytes() {
-      java.lang.Object ref = service_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        service_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
+    public boolean hasOperation() {
+      return ((bitField0_ & 0x00000001) != 0);
     }
-
-    public static final int OPERATION_FIELD_NUMBER = 3;
-    @SuppressWarnings("serial")
-    private volatile java.lang.Object operation_ = "";
     /**
-     * string operation = 3;
+     * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
      * @return The operation.
      */
     @java.lang.Override
-    public java.lang.String getOperation() {
-      java.lang.Object ref = operation_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        operation_ = s;
-        return s;
-      }
+    public io.temporal.omes.KitchenSink.ExecuteNexusOperation getOperation() {
+      return operation_ == null ? io.temporal.omes.KitchenSink.ExecuteNexusOperation.getDefaultInstance() : operation_;
     }
     /**
-     * string operation = 3;
-     * @return The bytes for operation.
+     * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
      */
     @java.lang.Override
-    public com.google.protobuf.ByteString
-        getOperationBytes() {
-      java.lang.Object ref = operation_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        operation_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
+    public io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder getOperationOrBuilder() {
+      return operation_ == null ? io.temporal.omes.KitchenSink.ExecuteNexusOperation.getDefaultInstance() : operation_;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -7196,14 +7082,8 @@ public final boolean isInitialized() {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpoint_)) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, endpoint_);
-      }
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(service_)) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, service_);
-      }
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(operation_)) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, operation_);
+      if (((bitField0_ & 0x00000001) != 0)) {
+        output.writeMessage(1, getOperation());
       }
       getUnknownFields().writeTo(output);
     }
@@ -7214,14 +7094,9 @@ public int getSerializedSize() {
       if (size != -1) return size;
 
       size = 0;
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpoint_)) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, endpoint_);
-      }
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(service_)) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, service_);
-      }
-      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(operation_)) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, operation_);
+      if (((bitField0_ & 0x00000001) != 0)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, getOperation());
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -7238,12 +7113,11 @@ public boolean equals(final java.lang.Object obj) {
       }
       io.temporal.omes.KitchenSink.DoStandaloneNexusOperation other = (io.temporal.omes.KitchenSink.DoStandaloneNexusOperation) obj;
 
-      if (!getEndpoint()
-          .equals(other.getEndpoint())) return false;
-      if (!getService()
-          .equals(other.getService())) return false;
-      if (!getOperation()
-          .equals(other.getOperation())) return false;
+      if (hasOperation() != other.hasOperation()) return false;
+      if (hasOperation()) {
+        if (!getOperation()
+            .equals(other.getOperation())) return false;
+      }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
@@ -7255,12 +7129,10 @@ public int hashCode() {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (37 * hash) + ENDPOINT_FIELD_NUMBER;
-      hash = (53 * hash) + getEndpoint().hashCode();
-      hash = (37 * hash) + SERVICE_FIELD_NUMBER;
-      hash = (53 * hash) + getService().hashCode();
-      hash = (37 * hash) + OPERATION_FIELD_NUMBER;
-      hash = (53 * hash) + getOperation().hashCode();
+      if (hasOperation()) {
+        hash = (37 * hash) + OPERATION_FIELD_NUMBER;
+        hash = (53 * hash) + getOperation().hashCode();
+      }
       hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
@@ -7385,21 +7257,29 @@ public static final class Builder extends
 
       // Construct using io.temporal.omes.KitchenSink.DoStandaloneNexusOperation.newBuilder()
       private Builder() {
-
+        maybeForceBuilderInitialization();
       }
 
       private Builder(
           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
-
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
+          getOperationFieldBuilder();
+        }
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
         bitField0_ = 0;
-        endpoint_ = "";
-        service_ = "";
-        operation_ = "";
+        operation_ = null;
+        if (operationBuilder_ != null) {
+          operationBuilder_.dispose();
+          operationBuilder_ = null;
+        }
         return this;
       }
 
@@ -7433,15 +7313,14 @@ public io.temporal.omes.KitchenSink.DoStandaloneNexusOperation buildPartial() {
 
       private void buildPartial0(io.temporal.omes.KitchenSink.DoStandaloneNexusOperation result) {
         int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
-          result.endpoint_ = endpoint_;
-        }
-        if (((from_bitField0_ & 0x00000002) != 0)) {
-          result.service_ = service_;
-        }
-        if (((from_bitField0_ & 0x00000004) != 0)) {
-          result.operation_ = operation_;
+          result.operation_ = operationBuilder_ == null
+              ? operation_
+              : operationBuilder_.build();
+          to_bitField0_ |= 0x00000001;
         }
+        result.bitField0_ |= to_bitField0_;
       }
 
       @java.lang.Override
@@ -7488,20 +7367,8 @@ public Builder mergeFrom(com.google.protobuf.Message other) {
 
       public Builder mergeFrom(io.temporal.omes.KitchenSink.DoStandaloneNexusOperation other) {
         if (other == io.temporal.omes.KitchenSink.DoStandaloneNexusOperation.getDefaultInstance()) return this;
-        if (!other.getEndpoint().isEmpty()) {
-          endpoint_ = other.endpoint_;
-          bitField0_ |= 0x00000001;
-          onChanged();
-        }
-        if (!other.getService().isEmpty()) {
-          service_ = other.service_;
-          bitField0_ |= 0x00000002;
-          onChanged();
-        }
-        if (!other.getOperation().isEmpty()) {
-          operation_ = other.operation_;
-          bitField0_ |= 0x00000004;
-          onChanged();
+        if (other.hasOperation()) {
+          mergeOperation(other.getOperation());
         }
         this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
@@ -7530,20 +7397,12 @@ public Builder mergeFrom(
                 done = true;
                 break;
               case 10: {
-                endpoint_ = input.readStringRequireUtf8();
+                input.readMessage(
+                    getOperationFieldBuilder().getBuilder(),
+                    extensionRegistry);
                 bitField0_ |= 0x00000001;
                 break;
               } // case 10
-              case 18: {
-                service_ = input.readStringRequireUtf8();
-                bitField0_ |= 0x00000002;
-                break;
-              } // case 18
-              case 26: {
-                operation_ = input.readStringRequireUtf8();
-                bitField0_ |= 0x00000004;
-                break;
-              } // case 26
               default: {
                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                   done = true; // was an endgroup tag
@@ -7561,220 +7420,125 @@ public Builder mergeFrom(
       }
       private int bitField0_;
 
-      private java.lang.Object endpoint_ = "";
+      private io.temporal.omes.KitchenSink.ExecuteNexusOperation operation_;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.temporal.omes.KitchenSink.ExecuteNexusOperation, io.temporal.omes.KitchenSink.ExecuteNexusOperation.Builder, io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder> operationBuilder_;
       /**
-       * string endpoint = 1;
-       * @return The endpoint.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
+       * @return Whether the operation field is set.
        */
-      public java.lang.String getEndpoint() {
-        java.lang.Object ref = endpoint_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          endpoint_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
+      public boolean hasOperation() {
+        return ((bitField0_ & 0x00000001) != 0);
       }
       /**
-       * string endpoint = 1;
-       * @return The bytes for endpoint.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
+       * @return The operation.
        */
-      public com.google.protobuf.ByteString
-          getEndpointBytes() {
-        java.lang.Object ref = endpoint_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          endpoint_ = b;
-          return b;
+      public io.temporal.omes.KitchenSink.ExecuteNexusOperation getOperation() {
+        if (operationBuilder_ == null) {
+          return operation_ == null ? io.temporal.omes.KitchenSink.ExecuteNexusOperation.getDefaultInstance() : operation_;
         } else {
-          return (com.google.protobuf.ByteString) ref;
+          return operationBuilder_.getMessage();
         }
       }
       /**
-       * string endpoint = 1;
-       * @param value The endpoint to set.
-       * @return This builder for chaining.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public Builder setEndpoint(
-          java.lang.String value) {
-        if (value == null) { throw new NullPointerException(); }
-        endpoint_ = value;
+      public Builder setOperation(io.temporal.omes.KitchenSink.ExecuteNexusOperation value) {
+        if (operationBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          operation_ = value;
+        } else {
+          operationBuilder_.setMessage(value);
+        }
         bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
       /**
-       * string endpoint = 1;
-       * @return This builder for chaining.
-       */
-      public Builder clearEndpoint() {
-        endpoint_ = getDefaultInstance().getEndpoint();
-        bitField0_ = (bitField0_ & ~0x00000001);
-        onChanged();
-        return this;
-      }
-      /**
-       * string endpoint = 1;
-       * @param value The bytes for endpoint to set.
-       * @return This builder for chaining.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public Builder setEndpointBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
-        checkByteStringIsUtf8(value);
-        endpoint_ = value;
+      public Builder setOperation(
+          io.temporal.omes.KitchenSink.ExecuteNexusOperation.Builder builderForValue) {
+        if (operationBuilder_ == null) {
+          operation_ = builderForValue.build();
+        } else {
+          operationBuilder_.setMessage(builderForValue.build());
+        }
         bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
-
-      private java.lang.Object service_ = "";
       /**
-       * string service = 2;
-       * @return The service.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public java.lang.String getService() {
-        java.lang.Object ref = service_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          service_ = s;
-          return s;
+      public Builder mergeOperation(io.temporal.omes.KitchenSink.ExecuteNexusOperation value) {
+        if (operationBuilder_ == null) {
+          if (((bitField0_ & 0x00000001) != 0) &&
+            operation_ != null &&
+            operation_ != io.temporal.omes.KitchenSink.ExecuteNexusOperation.getDefaultInstance()) {
+            getOperationBuilder().mergeFrom(value);
+          } else {
+            operation_ = value;
+          }
         } else {
-          return (java.lang.String) ref;
+          operationBuilder_.mergeFrom(value);
         }
-      }
-      /**
-       * string service = 2;
-       * @return The bytes for service.
-       */
-      public com.google.protobuf.ByteString
-          getServiceBytes() {
-        java.lang.Object ref = service_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          service_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
+        if (operation_ != null) {
+          bitField0_ |= 0x00000001;
+          onChanged();
         }
-      }
-      /**
-       * string service = 2;
-       * @param value The service to set.
-       * @return This builder for chaining.
-       */
-      public Builder setService(
-          java.lang.String value) {
-        if (value == null) { throw new NullPointerException(); }
-        service_ = value;
-        bitField0_ |= 0x00000002;
-        onChanged();
         return this;
       }
       /**
-       * string service = 2;
-       * @return This builder for chaining.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public Builder clearService() {
-        service_ = getDefaultInstance().getService();
-        bitField0_ = (bitField0_ & ~0x00000002);
+      public Builder clearOperation() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        operation_ = null;
+        if (operationBuilder_ != null) {
+          operationBuilder_.dispose();
+          operationBuilder_ = null;
+        }
         onChanged();
         return this;
       }
       /**
-       * string service = 2;
-       * @param value The bytes for service to set.
-       * @return This builder for chaining.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public Builder setServiceBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
-        checkByteStringIsUtf8(value);
-        service_ = value;
-        bitField0_ |= 0x00000002;
+      public io.temporal.omes.KitchenSink.ExecuteNexusOperation.Builder getOperationBuilder() {
+        bitField0_ |= 0x00000001;
         onChanged();
-        return this;
+        return getOperationFieldBuilder().getBuilder();
       }
-
-      private java.lang.Object operation_ = "";
       /**
-       * string operation = 3;
-       * @return The operation.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public java.lang.String getOperation() {
-        java.lang.Object ref = operation_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          operation_ = s;
-          return s;
+      public io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder getOperationOrBuilder() {
+        if (operationBuilder_ != null) {
+          return operationBuilder_.getMessageOrBuilder();
         } else {
-          return (java.lang.String) ref;
+          return operation_ == null ?
+              io.temporal.omes.KitchenSink.ExecuteNexusOperation.getDefaultInstance() : operation_;
         }
       }
       /**
-       * string operation = 3;
-       * @return The bytes for operation.
+       * .temporal.omes.kitchen_sink.ExecuteNexusOperation operation = 1;
        */
-      public com.google.protobuf.ByteString
-          getOperationBytes() {
-        java.lang.Object ref = operation_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          operation_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          io.temporal.omes.KitchenSink.ExecuteNexusOperation, io.temporal.omes.KitchenSink.ExecuteNexusOperation.Builder, io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder> 
+          getOperationFieldBuilder() {
+        if (operationBuilder_ == null) {
+          operationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              io.temporal.omes.KitchenSink.ExecuteNexusOperation, io.temporal.omes.KitchenSink.ExecuteNexusOperation.Builder, io.temporal.omes.KitchenSink.ExecuteNexusOperationOrBuilder>(
+                  getOperation(),
+                  getParentForChildren(),
+                  isClean());
+          operation_ = null;
         }
-      }
-      /**
-       * string operation = 3;
-       * @param value The operation to set.
-       * @return This builder for chaining.
-       */
-      public Builder setOperation(
-          java.lang.String value) {
-        if (value == null) { throw new NullPointerException(); }
-        operation_ = value;
-        bitField0_ |= 0x00000004;
-        onChanged();
-        return this;
-      }
-      /**
-       * string operation = 3;
-       * @return This builder for chaining.
-       */
-      public Builder clearOperation() {
-        operation_ = getDefaultInstance().getOperation();
-        bitField0_ = (bitField0_ & ~0x00000004);
-        onChanged();
-        return this;
-      }
-      /**
-       * string operation = 3;
-       * @param value The bytes for operation to set.
-       * @return This builder for chaining.
-       */
-      public Builder setOperationBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
-        checkByteStringIsUtf8(value);
-        operation_ = value;
-        bitField0_ |= 0x00000004;
-        onChanged();
-        return this;
+        return operationBuilder_;
       }
       @java.lang.Override
       public final Builder setUnknownFields(
@@ -54070,7 +53834,7 @@ public interface ExecuteNexusOperationOrBuilder extends
 
     /**
      * 
-     * Operation name to call
+     * Operation name on the Nexus service.
      * 
* * string operation = 2; @@ -54079,7 +53843,7 @@ public interface ExecuteNexusOperationOrBuilder extends java.lang.String getOperation(); /** *
-     * Operation name to call
+     * Operation name on the Nexus service.
      * 
* * string operation = 2; @@ -54089,24 +53853,19 @@ public interface ExecuteNexusOperationOrBuilder extends getOperationBytes(); /** - *
-     * Input payload for the operation
-     * 
- * - * string input = 3; + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + * @return Whether the input field is set. + */ + boolean hasInput(); + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; * @return The input. */ - java.lang.String getInput(); + io.temporal.omes.KitchenSink.NexusOperationRequest getInput(); /** - *
-     * Input payload for the operation
-     * 
- * - * string input = 3; - * @return The bytes for input. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ - com.google.protobuf.ByteString - getInputBytes(); + io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder getInputOrBuilder(); /** *
@@ -54137,120 +53896,34 @@ public interface ExecuteNexusOperationOrBuilder extends
 
     /**
      * 
-     * Expected output for verification
-     * 
- * - * string expected_output = 6; - * @return The expectedOutput. - */ - java.lang.String getExpectedOutput(); - /** - *
-     * Expected output for verification
-     * 
- * - * string expected_output = 6; - * @return The bytes for expectedOutput. - */ - com.google.protobuf.ByteString - getExpectedOutputBytes(); - - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - java.util.List - getBeforeActionsList(); - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index); - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - int getBeforeActionsCount(); - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - java.util.List - getBeforeActionsOrBuilderList(); - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index); - - /** - *
-     * Override the handler workflow ID (defaults to per-request random).
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * string handler_workflow_id = 8; - * @return The handlerWorkflowId. + * .temporal.api.common.v1.Payload expected_output = 6; + * @return Whether the expectedOutput field is set. */ - java.lang.String getHandlerWorkflowId(); + boolean hasExpectedOutput(); /** *
-     * Override the handler workflow ID (defaults to per-request random).
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * string handler_workflow_id = 8; - * @return The bytes for handlerWorkflowId. - */ - com.google.protobuf.ByteString - getHandlerWorkflowIdBytes(); - - /** - *
-     * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-     * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. - */ - int getHandlerWorkflowIdConflictPolicyValue(); - /** - *
-     * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-     * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The handlerWorkflowIdConflictPolicy. + * .temporal.api.common.v1.Payload expected_output = 6; + * @return The expectedOutput. */ - io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy(); - + io.temporal.api.common.v1.Payload getExpectedOutput(); /** *
-     * If true, the handler workflow waits on the "unblock" signal before returning.
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * bool wait_for_signal = 10; - * @return The waitForSignal. + * .temporal.api.common.v1.Payload expected_output = 6; */ - boolean getWaitForSignal(); + io.temporal.api.common.v1.PayloadOrBuilder getExpectedOutputOrBuilder(); } /** *
-   * Execute a Nexus operation
+   * Execute a Nexus operation.
    * 
* * Protobuf type {@code temporal.omes.kitchen_sink.ExecuteNexusOperation} @@ -54267,11 +53940,6 @@ private ExecuteNexusOperation(com.google.protobuf.GeneratedMessageV3.Builder private ExecuteNexusOperation() { endpoint_ = ""; operation_ = ""; - input_ = ""; - expectedOutput_ = ""; - beforeActions_ = java.util.Collections.emptyList(); - handlerWorkflowId_ = ""; - handlerWorkflowIdConflictPolicy_ = 0; } @java.lang.Override @@ -54339,7 +54007,7 @@ public java.lang.String getEndpoint() { private volatile java.lang.Object operation_ = ""; /** *
-     * Operation name to call
+     * Operation name on the Nexus service.
      * 
* * string operation = 2; @@ -54360,7 +54028,7 @@ public java.lang.String getOperation() { } /** *
-     * Operation name to call
+     * Operation name on the Nexus service.
      * 
* * string operation = 2; @@ -54382,50 +54050,29 @@ public java.lang.String getOperation() { } public static final int INPUT_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object input_ = ""; + private io.temporal.omes.KitchenSink.NexusOperationRequest input_; /** - *
-     * Input payload for the operation
-     * 
- * - * string input = 3; + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + * @return Whether the input field is set. + */ + @java.lang.Override + public boolean hasInput() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; * @return The input. */ @java.lang.Override - public java.lang.String getInput() { - java.lang.Object ref = input_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - input_ = s; - return s; - } + public io.temporal.omes.KitchenSink.NexusOperationRequest getInput() { + return input_ == null ? io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance() : input_; } /** - *
-     * Input payload for the operation
-     * 
- * - * string input = 3; - * @return The bytes for input. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ @java.lang.Override - public com.google.protobuf.ByteString - getInputBytes() { - java.lang.Object ref = input_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - input_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder getInputOrBuilder() { + return input_ == null ? io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance() : input_; } public static final int AWAITABLE_CHOICE_FIELD_NUMBER = 5; @@ -54440,7 +54087,7 @@ public java.lang.String getInput() { */ @java.lang.Override public boolean hasAwaitableChoice() { - return ((bitField0_ & 0x00000001) != 0); + return ((bitField0_ & 0x00000002) != 0); } /** *
@@ -54467,199 +54114,41 @@ public io.temporal.omes.KitchenSink.AwaitableChoiceOrBuilder getAwaitableChoiceO
     }
 
     public static final int EXPECTED_OUTPUT_FIELD_NUMBER = 6;
-    @SuppressWarnings("serial")
-    private volatile java.lang.Object expectedOutput_ = "";
-    /**
-     * 
-     * Expected output for verification
-     * 
- * - * string expected_output = 6; - * @return The expectedOutput. - */ - @java.lang.Override - public java.lang.String getExpectedOutput() { - java.lang.Object ref = expectedOutput_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - expectedOutput_ = s; - return s; - } - } - /** - *
-     * Expected output for verification
-     * 
- * - * string expected_output = 6; - * @return The bytes for expectedOutput. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getExpectedOutputBytes() { - java.lang.Object ref = expectedOutput_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - expectedOutput_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int BEFORE_ACTIONS_FIELD_NUMBER = 7; - @SuppressWarnings("serial") - private java.util.List beforeActions_; - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - @java.lang.Override - public java.util.List getBeforeActionsList() { - return beforeActions_; - } - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - @java.lang.Override - public java.util.List - getBeforeActionsOrBuilderList() { - return beforeActions_; - } - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - @java.lang.Override - public int getBeforeActionsCount() { - return beforeActions_.size(); - } + private io.temporal.api.common.v1.Payload expectedOutput_; /** *
-     * Actions to execute before returning from the handler workflow
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; + * @return Whether the expectedOutput field is set. */ @java.lang.Override - public io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index) { - return beforeActions_.get(index); - } - /** - *
-     * Actions to execute before returning from the handler workflow
-     * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - @java.lang.Override - public io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index) { - return beforeActions_.get(index); + public boolean hasExpectedOutput() { + return ((bitField0_ & 0x00000004) != 0); } - - public static final int HANDLER_WORKFLOW_ID_FIELD_NUMBER = 8; - @SuppressWarnings("serial") - private volatile java.lang.Object handlerWorkflowId_ = ""; /** *
-     * Override the handler workflow ID (defaults to per-request random).
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * string handler_workflow_id = 8; - * @return The handlerWorkflowId. + * .temporal.api.common.v1.Payload expected_output = 6; + * @return The expectedOutput. */ @java.lang.Override - public java.lang.String getHandlerWorkflowId() { - java.lang.Object ref = handlerWorkflowId_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - handlerWorkflowId_ = s; - return s; - } + public io.temporal.api.common.v1.Payload getExpectedOutput() { + return expectedOutput_ == null ? io.temporal.api.common.v1.Payload.getDefaultInstance() : expectedOutput_; } /** *
-     * Override the handler workflow ID (defaults to per-request random).
+     * If set, the operation's output is compared against this value after completion.
      * 
* - * string handler_workflow_id = 8; - * @return The bytes for handlerWorkflowId. + * .temporal.api.common.v1.Payload expected_output = 6; */ @java.lang.Override - public com.google.protobuf.ByteString - getHandlerWorkflowIdBytes() { - java.lang.Object ref = handlerWorkflowId_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - handlerWorkflowId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER = 9; - private int handlerWorkflowIdConflictPolicy_ = 0; - /** - *
-     * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-     * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override public int getHandlerWorkflowIdConflictPolicyValue() { - return handlerWorkflowIdConflictPolicy_; - } - /** - *
-     * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-     * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy() { - io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(handlerWorkflowIdConflictPolicy_); - return result == null ? io.temporal.api.enums.v1.WorkflowIdConflictPolicy.UNRECOGNIZED : result; - } - - public static final int WAIT_FOR_SIGNAL_FIELD_NUMBER = 10; - private boolean waitForSignal_ = false; - /** - *
-     * If true, the handler workflow waits on the "unblock" signal before returning.
-     * 
- * - * bool wait_for_signal = 10; - * @return The waitForSignal. - */ - @java.lang.Override - public boolean getWaitForSignal() { - return waitForSignal_; + public io.temporal.api.common.v1.PayloadOrBuilder getExpectedOutputOrBuilder() { + return expectedOutput_ == null ? io.temporal.api.common.v1.Payload.getDefaultInstance() : expectedOutput_; } private byte memoizedIsInitialized = -1; @@ -54682,26 +54171,14 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(operation_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, operation_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(input_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, input_); - } if (((bitField0_ & 0x00000001) != 0)) { - output.writeMessage(5, getAwaitableChoice()); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expectedOutput_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 6, expectedOutput_); - } - for (int i = 0; i < beforeActions_.size(); i++) { - output.writeMessage(7, beforeActions_.get(i)); + output.writeMessage(3, getInput()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerWorkflowId_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 8, handlerWorkflowId_); - } - if (handlerWorkflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { - output.writeEnum(9, handlerWorkflowIdConflictPolicy_); + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(5, getAwaitableChoice()); } - if (waitForSignal_ != false) { - output.writeBool(10, waitForSignal_); + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(6, getExpectedOutput()); } getUnknownFields().writeTo(output); } @@ -54718,30 +54195,17 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(operation_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, operation_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(input_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, input_); - } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getAwaitableChoice()); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expectedOutput_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, expectedOutput_); - } - for (int i = 0; i < beforeActions_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(7, beforeActions_.get(i)); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerWorkflowId_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, handlerWorkflowId_); + .computeMessageSize(3, getInput()); } - if (handlerWorkflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { + if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(9, handlerWorkflowIdConflictPolicy_); + .computeMessageSize(5, getAwaitableChoice()); } - if (waitForSignal_ != false) { + if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(10, waitForSignal_); + .computeMessageSize(6, getExpectedOutput()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; @@ -54762,22 +54226,21 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getEndpoint())) return false; if (!getOperation() .equals(other.getOperation())) return false; - if (!getInput() - .equals(other.getInput())) return false; + if (hasInput() != other.hasInput()) return false; + if (hasInput()) { + if (!getInput() + .equals(other.getInput())) return false; + } if (hasAwaitableChoice() != other.hasAwaitableChoice()) return false; if (hasAwaitableChoice()) { if (!getAwaitableChoice() .equals(other.getAwaitableChoice())) return false; } - if (!getExpectedOutput() - .equals(other.getExpectedOutput())) return false; - if (!getBeforeActionsList() - .equals(other.getBeforeActionsList())) return false; - if (!getHandlerWorkflowId() - .equals(other.getHandlerWorkflowId())) return false; - if (handlerWorkflowIdConflictPolicy_ != other.handlerWorkflowIdConflictPolicy_) return false; - if (getWaitForSignal() - != other.getWaitForSignal()) return false; + if (hasExpectedOutput() != other.hasExpectedOutput()) return false; + if (hasExpectedOutput()) { + if (!getExpectedOutput() + .equals(other.getExpectedOutput())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -54793,25 +54256,18 @@ public int hashCode() { hash = (53 * hash) + getEndpoint().hashCode(); hash = (37 * hash) + OPERATION_FIELD_NUMBER; hash = (53 * hash) + getOperation().hashCode(); - hash = (37 * hash) + INPUT_FIELD_NUMBER; - hash = (53 * hash) + getInput().hashCode(); + if (hasInput()) { + hash = (37 * hash) + INPUT_FIELD_NUMBER; + hash = (53 * hash) + getInput().hashCode(); + } if (hasAwaitableChoice()) { hash = (37 * hash) + AWAITABLE_CHOICE_FIELD_NUMBER; hash = (53 * hash) + getAwaitableChoice().hashCode(); } - hash = (37 * hash) + EXPECTED_OUTPUT_FIELD_NUMBER; - hash = (53 * hash) + getExpectedOutput().hashCode(); - if (getBeforeActionsCount() > 0) { - hash = (37 * hash) + BEFORE_ACTIONS_FIELD_NUMBER; - hash = (53 * hash) + getBeforeActionsList().hashCode(); - } - hash = (37 * hash) + HANDLER_WORKFLOW_ID_FIELD_NUMBER; - hash = (53 * hash) + getHandlerWorkflowId().hashCode(); - hash = (37 * hash) + HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER; - hash = (53 * hash) + handlerWorkflowIdConflictPolicy_; - hash = (37 * hash) + WAIT_FOR_SIGNAL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getWaitForSignal()); + if (hasExpectedOutput()) { + hash = (37 * hash) + EXPECTED_OUTPUT_FIELD_NUMBER; + hash = (53 * hash) + getExpectedOutput().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -54911,7 +54367,7 @@ protected Builder newBuilderForType( } /** *
-     * Execute a Nexus operation
+     * Execute a Nexus operation.
      * 
* * Protobuf type {@code temporal.omes.kitchen_sink.ExecuteNexusOperation} @@ -54946,8 +54402,9 @@ private Builder( private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getInputFieldBuilder(); getAwaitableChoiceFieldBuilder(); - getBeforeActionsFieldBuilder(); + getExpectedOutputFieldBuilder(); } } @java.lang.Override @@ -54956,23 +54413,21 @@ public Builder clear() { bitField0_ = 0; endpoint_ = ""; operation_ = ""; - input_ = ""; + input_ = null; + if (inputBuilder_ != null) { + inputBuilder_.dispose(); + inputBuilder_ = null; + } awaitableChoice_ = null; if (awaitableChoiceBuilder_ != null) { awaitableChoiceBuilder_.dispose(); awaitableChoiceBuilder_ = null; } - expectedOutput_ = ""; - if (beforeActionsBuilder_ == null) { - beforeActions_ = java.util.Collections.emptyList(); - } else { - beforeActions_ = null; - beforeActionsBuilder_.clear(); + expectedOutput_ = null; + if (expectedOutputBuilder_ != null) { + expectedOutputBuilder_.dispose(); + expectedOutputBuilder_ = null; } - bitField0_ = (bitField0_ & ~0x00000020); - handlerWorkflowId_ = ""; - handlerWorkflowIdConflictPolicy_ = 0; - waitForSignal_ = false; return this; } @@ -54999,24 +54454,11 @@ public io.temporal.omes.KitchenSink.ExecuteNexusOperation build() { @java.lang.Override public io.temporal.omes.KitchenSink.ExecuteNexusOperation buildPartial() { io.temporal.omes.KitchenSink.ExecuteNexusOperation result = new io.temporal.omes.KitchenSink.ExecuteNexusOperation(this); - buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartialRepeatedFields(io.temporal.omes.KitchenSink.ExecuteNexusOperation result) { - if (beforeActionsBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0)) { - beforeActions_ = java.util.Collections.unmodifiableList(beforeActions_); - bitField0_ = (bitField0_ & ~0x00000020); - } - result.beforeActions_ = beforeActions_; - } else { - result.beforeActions_ = beforeActionsBuilder_.build(); - } - } - private void buildPartial0(io.temporal.omes.KitchenSink.ExecuteNexusOperation result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -55025,27 +54467,24 @@ private void buildPartial0(io.temporal.omes.KitchenSink.ExecuteNexusOperation re if (((from_bitField0_ & 0x00000002) != 0)) { result.operation_ = operation_; } + int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000004) != 0)) { - result.input_ = input_; + result.input_ = inputBuilder_ == null + ? input_ + : inputBuilder_.build(); + to_bitField0_ |= 0x00000001; } - int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000008) != 0)) { result.awaitableChoice_ = awaitableChoiceBuilder_ == null ? awaitableChoice_ : awaitableChoiceBuilder_.build(); - to_bitField0_ |= 0x00000001; + to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000010) != 0)) { - result.expectedOutput_ = expectedOutput_; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.handlerWorkflowId_ = handlerWorkflowId_; - } - if (((from_bitField0_ & 0x00000080) != 0)) { - result.handlerWorkflowIdConflictPolicy_ = handlerWorkflowIdConflictPolicy_; - } - if (((from_bitField0_ & 0x00000100) != 0)) { - result.waitForSignal_ = waitForSignal_; + result.expectedOutput_ = expectedOutputBuilder_ == null + ? expectedOutput_ + : expectedOutputBuilder_.build(); + to_bitField0_ |= 0x00000004; } result.bitField0_ |= to_bitField0_; } @@ -55104,55 +54543,14 @@ public Builder mergeFrom(io.temporal.omes.KitchenSink.ExecuteNexusOperation othe bitField0_ |= 0x00000002; onChanged(); } - if (!other.getInput().isEmpty()) { - input_ = other.input_; - bitField0_ |= 0x00000004; - onChanged(); + if (other.hasInput()) { + mergeInput(other.getInput()); } if (other.hasAwaitableChoice()) { mergeAwaitableChoice(other.getAwaitableChoice()); } - if (!other.getExpectedOutput().isEmpty()) { - expectedOutput_ = other.expectedOutput_; - bitField0_ |= 0x00000010; - onChanged(); - } - if (beforeActionsBuilder_ == null) { - if (!other.beforeActions_.isEmpty()) { - if (beforeActions_.isEmpty()) { - beforeActions_ = other.beforeActions_; - bitField0_ = (bitField0_ & ~0x00000020); - } else { - ensureBeforeActionsIsMutable(); - beforeActions_.addAll(other.beforeActions_); - } - onChanged(); - } - } else { - if (!other.beforeActions_.isEmpty()) { - if (beforeActionsBuilder_.isEmpty()) { - beforeActionsBuilder_.dispose(); - beforeActionsBuilder_ = null; - beforeActions_ = other.beforeActions_; - bitField0_ = (bitField0_ & ~0x00000020); - beforeActionsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getBeforeActionsFieldBuilder() : null; - } else { - beforeActionsBuilder_.addAllMessages(other.beforeActions_); - } - } - } - if (!other.getHandlerWorkflowId().isEmpty()) { - handlerWorkflowId_ = other.handlerWorkflowId_; - bitField0_ |= 0x00000040; - onChanged(); - } - if (other.handlerWorkflowIdConflictPolicy_ != 0) { - setHandlerWorkflowIdConflictPolicyValue(other.getHandlerWorkflowIdConflictPolicyValue()); - } - if (other.getWaitForSignal() != false) { - setWaitForSignal(other.getWaitForSignal()); + if (other.hasExpectedOutput()) { + mergeExpectedOutput(other.getExpectedOutput()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); @@ -55191,7 +54589,9 @@ public Builder mergeFrom( break; } // case 18 case 26: { - input_ = input.readStringRequireUtf8(); + input.readMessage( + getInputFieldBuilder().getBuilder(), + extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 @@ -55203,38 +54603,12 @@ public Builder mergeFrom( break; } // case 42 case 50: { - expectedOutput_ = input.readStringRequireUtf8(); + input.readMessage( + getExpectedOutputFieldBuilder().getBuilder(), + extensionRegistry); bitField0_ |= 0x00000010; break; } // case 50 - case 58: { - io.temporal.omes.KitchenSink.ActionSet m = - input.readMessage( - io.temporal.omes.KitchenSink.ActionSet.parser(), - extensionRegistry); - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(m); - } else { - beforeActionsBuilder_.addMessage(m); - } - break; - } // case 58 - case 66: { - handlerWorkflowId_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000040; - break; - } // case 66 - case 72: { - handlerWorkflowIdConflictPolicy_ = input.readEnum(); - bitField0_ |= 0x00000080; - break; - } // case 72 - case 80: { - waitForSignal_ = input.readBool(); - bitField0_ |= 0x00000100; - break; - } // case 80 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -55327,7 +54701,7 @@ public Builder setEndpointBytes( private java.lang.Object operation_ = ""; /** *
-       * Operation name to call
+       * Operation name on the Nexus service.
        * 
* * string operation = 2; @@ -55347,7 +54721,7 @@ public java.lang.String getOperation() { } /** *
-       * Operation name to call
+       * Operation name on the Nexus service.
        * 
* * string operation = 2; @@ -55368,7 +54742,7 @@ public java.lang.String getOperation() { } /** *
-       * Operation name to call
+       * Operation name on the Nexus service.
        * 
* * string operation = 2; @@ -55385,7 +54759,7 @@ public Builder setOperation( } /** *
-       * Operation name to call
+       * Operation name on the Nexus service.
        * 
* * string operation = 2; @@ -55399,7 +54773,7 @@ public Builder clearOperation() { } /** *
-       * Operation name to call
+       * Operation name on the Nexus service.
        * 
* * string operation = 2; @@ -55416,96 +54790,125 @@ public Builder setOperationBytes( return this; } - private java.lang.Object input_ = ""; + private io.temporal.omes.KitchenSink.NexusOperationRequest input_; + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusOperationRequest, io.temporal.omes.KitchenSink.NexusOperationRequest.Builder, io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder> inputBuilder_; /** - *
-       * Input payload for the operation
-       * 
- * - * string input = 3; + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + * @return Whether the input field is set. + */ + public boolean hasInput() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; * @return The input. */ - public java.lang.String getInput() { - java.lang.Object ref = input_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - input_ = s; - return s; + public io.temporal.omes.KitchenSink.NexusOperationRequest getInput() { + if (inputBuilder_ == null) { + return input_ == null ? io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance() : input_; } else { - return (java.lang.String) ref; + return inputBuilder_.getMessage(); } } /** - *
-       * Input payload for the operation
-       * 
- * - * string input = 3; - * @return The bytes for input. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ - public com.google.protobuf.ByteString - getInputBytes() { - java.lang.Object ref = input_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - input_ = b; - return b; + public Builder setInput(io.temporal.omes.KitchenSink.NexusOperationRequest value) { + if (inputBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + input_ = value; } else { - return (com.google.protobuf.ByteString) ref; + inputBuilder_.setMessage(value); } + bitField0_ |= 0x00000004; + onChanged(); + return this; } /** - *
-       * Input payload for the operation
-       * 
- * - * string input = 3; - * @param value The input to set. - * @return This builder for chaining. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ public Builder setInput( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - input_ = value; + io.temporal.omes.KitchenSink.NexusOperationRequest.Builder builderForValue) { + if (inputBuilder_ == null) { + input_ = builderForValue.build(); + } else { + inputBuilder_.setMessage(builderForValue.build()); + } bitField0_ |= 0x00000004; onChanged(); return this; } /** - *
-       * Input payload for the operation
-       * 
- * - * string input = 3; - * @return This builder for chaining. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + */ + public Builder mergeInput(io.temporal.omes.KitchenSink.NexusOperationRequest value) { + if (inputBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + input_ != null && + input_ != io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance()) { + getInputBuilder().mergeFrom(value); + } else { + input_ = value; + } + } else { + inputBuilder_.mergeFrom(value); + } + if (input_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ public Builder clearInput() { - input_ = getDefaultInstance().getInput(); bitField0_ = (bitField0_ & ~0x00000004); + input_ = null; + if (inputBuilder_ != null) { + inputBuilder_.dispose(); + inputBuilder_ = null; + } onChanged(); return this; } /** - *
-       * Input payload for the operation
-       * 
- * - * string input = 3; - * @param value The bytes for input to set. - * @return This builder for chaining. + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; */ - public Builder setInputBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - input_ = value; + public io.temporal.omes.KitchenSink.NexusOperationRequest.Builder getInputBuilder() { bitField0_ |= 0x00000004; onChanged(); - return this; + return getInputFieldBuilder().getBuilder(); + } + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + */ + public io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder getInputOrBuilder() { + if (inputBuilder_ != null) { + return inputBuilder_.getMessageOrBuilder(); + } else { + return input_ == null ? + io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance() : input_; + } + } + /** + * .temporal.omes.kitchen_sink.NexusOperationRequest input = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusOperationRequest, io.temporal.omes.KitchenSink.NexusOperationRequest.Builder, io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder> + getInputFieldBuilder() { + if (inputBuilder_ == null) { + inputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusOperationRequest, io.temporal.omes.KitchenSink.NexusOperationRequest.Builder, io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder>( + getInput(), + getParentForChildren(), + isClean()); + input_ = null; + } + return inputBuilder_; } private io.temporal.omes.KitchenSink.AwaitableChoice awaitableChoice_; @@ -55665,617 +55068,161 @@ public io.temporal.omes.KitchenSink.AwaitableChoiceOrBuilder getAwaitableChoiceO return awaitableChoiceBuilder_; } - private java.lang.Object expectedOutput_ = ""; - /** - *
-       * Expected output for verification
-       * 
- * - * string expected_output = 6; - * @return The expectedOutput. - */ - public java.lang.String getExpectedOutput() { - java.lang.Object ref = expectedOutput_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - expectedOutput_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Expected output for verification
-       * 
- * - * string expected_output = 6; - * @return The bytes for expectedOutput. - */ - public com.google.protobuf.ByteString - getExpectedOutputBytes() { - java.lang.Object ref = expectedOutput_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - expectedOutput_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Expected output for verification
-       * 
- * - * string expected_output = 6; - * @param value The expectedOutput to set. - * @return This builder for chaining. - */ - public Builder setExpectedOutput( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - expectedOutput_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - /** - *
-       * Expected output for verification
-       * 
- * - * string expected_output = 6; - * @return This builder for chaining. - */ - public Builder clearExpectedOutput() { - expectedOutput_ = getDefaultInstance().getExpectedOutput(); - bitField0_ = (bitField0_ & ~0x00000010); - onChanged(); - return this; - } - /** - *
-       * Expected output for verification
-       * 
- * - * string expected_output = 6; - * @param value The bytes for expectedOutput to set. - * @return This builder for chaining. - */ - public Builder setExpectedOutputBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - expectedOutput_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; - } - - private java.util.List beforeActions_ = - java.util.Collections.emptyList(); - private void ensureBeforeActionsIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { - beforeActions_ = new java.util.ArrayList(beforeActions_); - bitField0_ |= 0x00000020; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder> beforeActionsBuilder_; - - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public java.util.List getBeforeActionsList() { - if (beforeActionsBuilder_ == null) { - return java.util.Collections.unmodifiableList(beforeActions_); - } else { - return beforeActionsBuilder_.getMessageList(); - } - } + private io.temporal.api.common.v1.Payload expectedOutput_; + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.api.common.v1.Payload, io.temporal.api.common.v1.Payload.Builder, io.temporal.api.common.v1.PayloadOrBuilder> expectedOutputBuilder_; /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; + * @return Whether the expectedOutput field is set. */ - public int getBeforeActionsCount() { - if (beforeActionsBuilder_ == null) { - return beforeActions_.size(); - } else { - return beforeActionsBuilder_.getCount(); - } + public boolean hasExpectedOutput() { + return ((bitField0_ & 0x00000010) != 0); } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; + * @return The expectedOutput. */ - public io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index) { - if (beforeActionsBuilder_ == null) { - return beforeActions_.get(index); + public io.temporal.api.common.v1.Payload getExpectedOutput() { + if (expectedOutputBuilder_ == null) { + return expectedOutput_ == null ? io.temporal.api.common.v1.Payload.getDefaultInstance() : expectedOutput_; } else { - return beforeActionsBuilder_.getMessage(index); + return expectedOutputBuilder_.getMessage(); } } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public Builder setBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { + public Builder setExpectedOutput(io.temporal.api.common.v1.Payload value) { + if (expectedOutputBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureBeforeActionsIsMutable(); - beforeActions_.set(index, value); - onChanged(); - } else { - beforeActionsBuilder_.setMessage(index, value); - } - return this; - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public Builder setBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.set(index, builderForValue.build()); - onChanged(); + expectedOutput_ = value; } else { - beforeActionsBuilder_.setMessage(index, builderForValue.build()); + expectedOutputBuilder_.setMessage(value); } + bitField0_ |= 0x00000010; + onChanged(); return this; } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public Builder addBeforeActions(io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureBeforeActionsIsMutable(); - beforeActions_.add(value); - onChanged(); + public Builder setExpectedOutput( + io.temporal.api.common.v1.Payload.Builder builderForValue) { + if (expectedOutputBuilder_ == null) { + expectedOutput_ = builderForValue.build(); } else { - beforeActionsBuilder_.addMessage(value); + expectedOutputBuilder_.setMessage(builderForValue.build()); } + bitField0_ |= 0x00000010; + onChanged(); return this; } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public Builder addBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeExpectedOutput(io.temporal.api.common.v1.Payload value) { + if (expectedOutputBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) && + expectedOutput_ != null && + expectedOutput_ != io.temporal.api.common.v1.Payload.getDefaultInstance()) { + getExpectedOutputBuilder().mergeFrom(value); + } else { + expectedOutput_ = value; } - ensureBeforeActionsIsMutable(); - beforeActions_.add(index, value); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(index, value); - } - return this; - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public Builder addBeforeActions( - io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(builderForValue.build()); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public Builder addBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(index, builderForValue.build()); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public Builder addAllBeforeActions( - java.lang.Iterable values) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, beforeActions_); - onChanged(); } else { - beforeActionsBuilder_.addAllMessages(values); + expectedOutputBuilder_.mergeFrom(value); } - return this; - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public Builder clearBeforeActions() { - if (beforeActionsBuilder_ == null) { - beforeActions_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); + if (expectedOutput_ != null) { + bitField0_ |= 0x00000010; onChanged(); - } else { - beforeActionsBuilder_.clear(); } return this; } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public Builder removeBeforeActions(int index) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.remove(index); - onChanged(); - } else { - beforeActionsBuilder_.remove(index); + public Builder clearExpectedOutput() { + bitField0_ = (bitField0_ & ~0x00000010); + expectedOutput_ = null; + if (expectedOutputBuilder_ != null) { + expectedOutputBuilder_.dispose(); + expectedOutputBuilder_ = null; } + onChanged(); return this; } /** *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder getBeforeActionsBuilder( - int index) { - return getBeforeActionsFieldBuilder().getBuilder(index); - } - /** - *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index) { - if (beforeActionsBuilder_ == null) { - return beforeActions_.get(index); } else { - return beforeActionsBuilder_.getMessageOrBuilder(index); - } + public io.temporal.api.common.v1.Payload.Builder getExpectedOutputBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getExpectedOutputFieldBuilder().getBuilder(); } /** *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public java.util.List - getBeforeActionsOrBuilderList() { - if (beforeActionsBuilder_ != null) { - return beforeActionsBuilder_.getMessageOrBuilderList(); + public io.temporal.api.common.v1.PayloadOrBuilder getExpectedOutputOrBuilder() { + if (expectedOutputBuilder_ != null) { + return expectedOutputBuilder_.getMessageOrBuilder(); } else { - return java.util.Collections.unmodifiableList(beforeActions_); + return expectedOutput_ == null ? + io.temporal.api.common.v1.Payload.getDefaultInstance() : expectedOutput_; } } /** *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder addBeforeActionsBuilder() { - return getBeforeActionsFieldBuilder().addBuilder( - io.temporal.omes.KitchenSink.ActionSet.getDefaultInstance()); - } - /** - *
-       * Actions to execute before returning from the handler workflow
-       * 
- * - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder addBeforeActionsBuilder( - int index) { - return getBeforeActionsFieldBuilder().addBuilder( - index, io.temporal.omes.KitchenSink.ActionSet.getDefaultInstance()); - } - /** - *
-       * Actions to execute before returning from the handler workflow
+       * If set, the operation's output is compared against this value after completion.
        * 
* - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 7; + * .temporal.api.common.v1.Payload expected_output = 6; */ - public java.util.List - getBeforeActionsBuilderList() { - return getBeforeActionsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder> - getBeforeActionsFieldBuilder() { - if (beforeActionsBuilder_ == null) { - beforeActionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder>( - beforeActions_, - ((bitField0_ & 0x00000020) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.api.common.v1.Payload, io.temporal.api.common.v1.Payload.Builder, io.temporal.api.common.v1.PayloadOrBuilder> + getExpectedOutputFieldBuilder() { + if (expectedOutputBuilder_ == null) { + expectedOutputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.api.common.v1.Payload, io.temporal.api.common.v1.Payload.Builder, io.temporal.api.common.v1.PayloadOrBuilder>( + getExpectedOutput(), getParentForChildren(), isClean()); - beforeActions_ = null; - } - return beforeActionsBuilder_; - } - - private java.lang.Object handlerWorkflowId_ = ""; - /** - *
-       * Override the handler workflow ID (defaults to per-request random).
-       * 
- * - * string handler_workflow_id = 8; - * @return The handlerWorkflowId. - */ - public java.lang.String getHandlerWorkflowId() { - java.lang.Object ref = handlerWorkflowId_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - handlerWorkflowId_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - *
-       * Override the handler workflow ID (defaults to per-request random).
-       * 
- * - * string handler_workflow_id = 8; - * @return The bytes for handlerWorkflowId. - */ - public com.google.protobuf.ByteString - getHandlerWorkflowIdBytes() { - java.lang.Object ref = handlerWorkflowId_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - handlerWorkflowId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - *
-       * Override the handler workflow ID (defaults to per-request random).
-       * 
- * - * string handler_workflow_id = 8; - * @param value The handlerWorkflowId to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowId( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - handlerWorkflowId_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - /** - *
-       * Override the handler workflow ID (defaults to per-request random).
-       * 
- * - * string handler_workflow_id = 8; - * @return This builder for chaining. - */ - public Builder clearHandlerWorkflowId() { - handlerWorkflowId_ = getDefaultInstance().getHandlerWorkflowId(); - bitField0_ = (bitField0_ & ~0x00000040); - onChanged(); - return this; - } - /** - *
-       * Override the handler workflow ID (defaults to per-request random).
-       * 
- * - * string handler_workflow_id = 8; - * @param value The bytes for handlerWorkflowId to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - handlerWorkflowId_ = value; - bitField0_ |= 0x00000040; - onChanged(); - return this; - } - - private int handlerWorkflowIdConflictPolicy_ = 0; - /** - *
-       * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-       * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override public int getHandlerWorkflowIdConflictPolicyValue() { - return handlerWorkflowIdConflictPolicy_; - } - /** - *
-       * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-       * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @param value The enum numeric value on the wire for handlerWorkflowIdConflictPolicy to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdConflictPolicyValue(int value) { - handlerWorkflowIdConflictPolicy_ = value; - bitField0_ |= 0x00000080; - onChanged(); - return this; - } - /** - *
-       * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-       * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return The handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override - public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy() { - io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(handlerWorkflowIdConflictPolicy_); - return result == null ? io.temporal.api.enums.v1.WorkflowIdConflictPolicy.UNRECOGNIZED : result; - } - /** - *
-       * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-       * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @param value The handlerWorkflowIdConflictPolicy to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdConflictPolicy(io.temporal.api.enums.v1.WorkflowIdConflictPolicy value) { - if (value == null) { - throw new NullPointerException(); + expectedOutput_ = null; } - bitField0_ |= 0x00000080; - handlerWorkflowIdConflictPolicy_ = value.getNumber(); - onChanged(); - return this; - } - /** - *
-       * Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set.
-       * 
- * - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - * @return This builder for chaining. - */ - public Builder clearHandlerWorkflowIdConflictPolicy() { - bitField0_ = (bitField0_ & ~0x00000080); - handlerWorkflowIdConflictPolicy_ = 0; - onChanged(); - return this; - } - - private boolean waitForSignal_ ; - /** - *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
-       * 
- * - * bool wait_for_signal = 10; - * @return The waitForSignal. - */ - @java.lang.Override - public boolean getWaitForSignal() { - return waitForSignal_; - } - /** - *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
-       * 
- * - * bool wait_for_signal = 10; - * @param value The waitForSignal to set. - * @return This builder for chaining. - */ - public Builder setWaitForSignal(boolean value) { - - waitForSignal_ = value; - bitField0_ |= 0x00000100; - onChanged(); - return this; - } - /** - *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
-       * 
- * - * bool wait_for_signal = 10; - * @return This builder for chaining. - */ - public Builder clearWaitForSignal() { - bitField0_ = (bitField0_ & ~0x00000100); - waitForSignal_ = false; - onChanged(); - return this; + return expectedOutputBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -56341,272 +55288,2788 @@ public io.temporal.omes.KitchenSink.ExecuteNexusOperation getDefaultInstanceForT } - public interface NexusHandlerInputOrBuilder extends - // @@protoc_insertion_point(interface_extends:temporal.omes.kitchen_sink.NexusHandlerInput) + public interface NexusOperationRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:temporal.omes.kitchen_sink.NexusOperationRequest) com.google.protobuf.MessageOrBuilder { /** - * string input = 1; - * @return The input. - */ - java.lang.String getInput(); - /** - * string input = 1; - * @return The bytes for input. - */ - com.google.protobuf.ByteString - getInputBytes(); - - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - java.util.List - getBeforeActionsList(); - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return Whether the echo field is set. */ - io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index); + boolean hasEcho(); /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return The echo. */ - int getBeforeActionsCount(); + java.lang.String getEcho(); /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return The bytes for echo. */ - java.util.List - getBeforeActionsOrBuilderList(); + com.google.protobuf.ByteString + getEchoBytes(); + /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return Whether the workflowAction field is set. */ - io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index); - + boolean hasWorkflowAction(); /** - * string handler_workflow_id = 3; - * @return The handlerWorkflowId. + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return The workflowAction. */ - java.lang.String getHandlerWorkflowId(); + io.temporal.omes.KitchenSink.NexusWorkflowAction getWorkflowAction(); /** - * string handler_workflow_id = 3; - * @return The bytes for handlerWorkflowId. + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; */ - com.google.protobuf.ByteString - getHandlerWorkflowIdBytes(); + io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder getWorkflowActionOrBuilder(); /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. + *
+     * Start a standalone activity.
+     * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return Whether the startActivity field is set. */ - int getHandlerWorkflowIdConflictPolicyValue(); + boolean hasStartActivity(); /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The handlerWorkflowIdConflictPolicy. + *
+     * Start a standalone activity.
+     * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return The startActivity. */ - io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy(); - + io.temporal.omes.KitchenSink.ExecuteActivityAction getStartActivity(); /** *
-     * If true, the handler workflow waits on the "unblock" signal before returning.
+     * Start a standalone activity.
      * 
* - * bool wait_for_signal = 5; - * @return The waitForSignal. + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; */ - boolean getWaitForSignal(); + io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder getStartActivityOrBuilder(); + + io.temporal.omes.KitchenSink.NexusOperationRequest.ActionCase getActionCase(); } /** *
-   * Input for the Nexus handler workflow that backs echo-sync and echo-async operations
+   * Input for the kitchen sink Nexus operation.
    * 
* - * Protobuf type {@code temporal.omes.kitchen_sink.NexusHandlerInput} + * Protobuf type {@code temporal.omes.kitchen_sink.NexusOperationRequest} */ - public static final class NexusHandlerInput extends + public static final class NexusOperationRequest extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:temporal.omes.kitchen_sink.NexusHandlerInput) - NexusHandlerInputOrBuilder { + // @@protoc_insertion_point(message_implements:temporal.omes.kitchen_sink.NexusOperationRequest) + NexusOperationRequestOrBuilder { private static final long serialVersionUID = 0L; - // Use NexusHandlerInput.newBuilder() to construct. - private NexusHandlerInput(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use NexusOperationRequest.newBuilder() to construct. + private NexusOperationRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private NexusHandlerInput() { - input_ = ""; - beforeActions_ = java.util.Collections.emptyList(); - handlerWorkflowId_ = ""; - handlerWorkflowIdConflictPolicy_ = 0; + private NexusOperationRequest() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new NexusHandlerInput(); + return new NexusOperationRequest(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor; + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_fieldAccessorTable + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.temporal.omes.KitchenSink.NexusHandlerInput.class, io.temporal.omes.KitchenSink.NexusHandlerInput.Builder.class); + io.temporal.omes.KitchenSink.NexusOperationRequest.class, io.temporal.omes.KitchenSink.NexusOperationRequest.Builder.class); } - public static final int INPUT_FIELD_NUMBER = 1; + private int actionCase_ = 0; @SuppressWarnings("serial") - private volatile java.lang.Object input_ = ""; - /** - * string input = 1; - * @return The input. - */ - @java.lang.Override - public java.lang.String getInput() { - java.lang.Object ref = input_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - input_ = s; - return s; + private java.lang.Object action_; + public enum ActionCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + ECHO(1), + WORKFLOW_ACTION(2), + START_ACTIVITY(3), + ACTION_NOT_SET(0); + private final int value; + private ActionCase(int value) { + this.value = value; } - } - /** - * string input = 1; - * @return The bytes for input. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getInputBytes() { - java.lang.Object ref = input_; + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ActionCase valueOf(int value) { + return forNumber(value); + } + + public static ActionCase forNumber(int value) { + switch (value) { + case 1: return ECHO; + case 2: return WORKFLOW_ACTION; + case 3: return START_ACTIVITY; + case 0: return ACTION_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ActionCase + getActionCase() { + return ActionCase.forNumber( + actionCase_); + } + + public static final int ECHO_FIELD_NUMBER = 1; + /** + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return Whether the echo field is set. + */ + public boolean hasEcho() { + return actionCase_ == 1; + } + /** + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return The echo. + */ + public java.lang.String getEcho() { + java.lang.Object ref = ""; + if (actionCase_ == 1) { + ref = action_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (actionCase_ == 1) { + action_ = s; + } + return s; + } + } + /** + *
+     * Return this value synchronously.
+     * 
+ * + * string echo = 1; + * @return The bytes for echo. + */ + public com.google.protobuf.ByteString + getEchoBytes() { + java.lang.Object ref = ""; + if (actionCase_ == 1) { + ref = action_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (actionCase_ == 1) { + action_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int WORKFLOW_ACTION_FIELD_NUMBER = 2; + /** + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return Whether the workflowAction field is set. + */ + @java.lang.Override + public boolean hasWorkflowAction() { + return actionCase_ == 2; + } + /** + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return The workflowAction. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowAction getWorkflowAction() { + if (actionCase_ == 2) { + return (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_; + } + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + /** + *
+     * Act on a kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder getWorkflowActionOrBuilder() { + if (actionCase_ == 2) { + return (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_; + } + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + + public static final int START_ACTIVITY_FIELD_NUMBER = 3; + /** + *
+     * Start a standalone activity.
+     * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return Whether the startActivity field is set. + */ + @java.lang.Override + public boolean hasStartActivity() { + return actionCase_ == 3; + } + /** + *
+     * Start a standalone activity.
+     * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return The startActivity. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.ExecuteActivityAction getStartActivity() { + if (actionCase_ == 3) { + return (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_; + } + return io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } + /** + *
+     * Start a standalone activity.
+     * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder getStartActivityOrBuilder() { + if (actionCase_ == 3) { + return (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_; + } + return io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (actionCase_ == 1) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, action_); + } + if (actionCase_ == 2) { + output.writeMessage(2, (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_); + } + if (actionCase_ == 3) { + output.writeMessage(3, (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (actionCase_ == 1) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, action_); + } + if (actionCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_); + } + if (actionCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof io.temporal.omes.KitchenSink.NexusOperationRequest)) { + return super.equals(obj); + } + io.temporal.omes.KitchenSink.NexusOperationRequest other = (io.temporal.omes.KitchenSink.NexusOperationRequest) obj; + + if (!getActionCase().equals(other.getActionCase())) return false; + switch (actionCase_) { + case 1: + if (!getEcho() + .equals(other.getEcho())) return false; + break; + case 2: + if (!getWorkflowAction() + .equals(other.getWorkflowAction())) return false; + break; + case 3: + if (!getStartActivity() + .equals(other.getStartActivity())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (actionCase_) { + case 1: + hash = (37 * hash) + ECHO_FIELD_NUMBER; + hash = (53 * hash) + getEcho().hashCode(); + break; + case 2: + hash = (37 * hash) + WORKFLOW_ACTION_FIELD_NUMBER; + hash = (53 * hash) + getWorkflowAction().hashCode(); + break; + case 3: + hash = (37 * hash) + START_ACTIVITY_FIELD_NUMBER; + hash = (53 * hash) + getStartActivity().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.temporal.omes.KitchenSink.NexusOperationRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(io.temporal.omes.KitchenSink.NexusOperationRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Input for the kitchen sink Nexus operation.
+     * 
+ * + * Protobuf type {@code temporal.omes.kitchen_sink.NexusOperationRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:temporal.omes.kitchen_sink.NexusOperationRequest) + io.temporal.omes.KitchenSink.NexusOperationRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.temporal.omes.KitchenSink.NexusOperationRequest.class, io.temporal.omes.KitchenSink.NexusOperationRequest.Builder.class); + } + + // Construct using io.temporal.omes.KitchenSink.NexusOperationRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (workflowActionBuilder_ != null) { + workflowActionBuilder_.clear(); + } + if (startActivityBuilder_ != null) { + startActivityBuilder_.clear(); + } + actionCase_ = 0; + action_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor; + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusOperationRequest getDefaultInstanceForType() { + return io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance(); + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusOperationRequest build() { + io.temporal.omes.KitchenSink.NexusOperationRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusOperationRequest buildPartial() { + io.temporal.omes.KitchenSink.NexusOperationRequest result = new io.temporal.omes.KitchenSink.NexusOperationRequest(this); + if (bitField0_ != 0) { buildPartial0(result); } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(io.temporal.omes.KitchenSink.NexusOperationRequest result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs(io.temporal.omes.KitchenSink.NexusOperationRequest result) { + result.actionCase_ = actionCase_; + result.action_ = this.action_; + if (actionCase_ == 2 && + workflowActionBuilder_ != null) { + result.action_ = workflowActionBuilder_.build(); + } + if (actionCase_ == 3 && + startActivityBuilder_ != null) { + result.action_ = startActivityBuilder_.build(); + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof io.temporal.omes.KitchenSink.NexusOperationRequest) { + return mergeFrom((io.temporal.omes.KitchenSink.NexusOperationRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.temporal.omes.KitchenSink.NexusOperationRequest other) { + if (other == io.temporal.omes.KitchenSink.NexusOperationRequest.getDefaultInstance()) return this; + switch (other.getActionCase()) { + case ECHO: { + actionCase_ = 1; + action_ = other.action_; + onChanged(); + break; + } + case WORKFLOW_ACTION: { + mergeWorkflowAction(other.getWorkflowAction()); + break; + } + case START_ACTIVITY: { + mergeStartActivity(other.getStartActivity()); + break; + } + case ACTION_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + actionCase_ = 1; + action_ = s; + break; + } // case 10 + case 18: { + input.readMessage( + getWorkflowActionFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 2; + break; + } // case 18 + case 26: { + input.readMessage( + getStartActivityFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 3; + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int actionCase_ = 0; + private java.lang.Object action_; + public ActionCase + getActionCase() { + return ActionCase.forNumber( + actionCase_); + } + + public Builder clearAction() { + actionCase_ = 0; + action_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @return Whether the echo field is set. + */ + @java.lang.Override + public boolean hasEcho() { + return actionCase_ == 1; + } + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @return The echo. + */ + @java.lang.Override + public java.lang.String getEcho() { + java.lang.Object ref = ""; + if (actionCase_ == 1) { + ref = action_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (actionCase_ == 1) { + action_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @return The bytes for echo. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEchoBytes() { + java.lang.Object ref = ""; + if (actionCase_ == 1) { + ref = action_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (actionCase_ == 1) { + action_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @param value The echo to set. + * @return This builder for chaining. + */ + public Builder setEcho( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + actionCase_ = 1; + action_ = value; + onChanged(); + return this; + } + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @return This builder for chaining. + */ + public Builder clearEcho() { + if (actionCase_ == 1) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + return this; + } + /** + *
+       * Return this value synchronously.
+       * 
+ * + * string echo = 1; + * @param value The bytes for echo to set. + * @return This builder for chaining. + */ + public Builder setEchoBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + actionCase_ = 1; + action_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowAction, io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder, io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder> workflowActionBuilder_; + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return Whether the workflowAction field is set. + */ + @java.lang.Override + public boolean hasWorkflowAction() { + return actionCase_ == 2; + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + * @return The workflowAction. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowAction getWorkflowAction() { + if (workflowActionBuilder_ == null) { + if (actionCase_ == 2) { + return (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_; + } + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } else { + if (actionCase_ == 2) { + return workflowActionBuilder_.getMessage(); + } + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + public Builder setWorkflowAction(io.temporal.omes.KitchenSink.NexusWorkflowAction value) { + if (workflowActionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + workflowActionBuilder_.setMessage(value); + } + actionCase_ = 2; + return this; + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + public Builder setWorkflowAction( + io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder builderForValue) { + if (workflowActionBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + workflowActionBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 2; + return this; + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + public Builder mergeWorkflowAction(io.temporal.omes.KitchenSink.NexusWorkflowAction value) { + if (workflowActionBuilder_ == null) { + if (actionCase_ == 2 && + action_ != io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance()) { + action_ = io.temporal.omes.KitchenSink.NexusWorkflowAction.newBuilder((io.temporal.omes.KitchenSink.NexusWorkflowAction) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 2) { + workflowActionBuilder_.mergeFrom(value); + } else { + workflowActionBuilder_.setMessage(value); + } + } + actionCase_ = 2; + return this; + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + public Builder clearWorkflowAction() { + if (workflowActionBuilder_ == null) { + if (actionCase_ == 2) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 2) { + actionCase_ = 0; + action_ = null; + } + workflowActionBuilder_.clear(); + } + return this; + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + public io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder getWorkflowActionBuilder() { + return getWorkflowActionFieldBuilder().getBuilder(); + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder getWorkflowActionOrBuilder() { + if ((actionCase_ == 2) && (workflowActionBuilder_ != null)) { + return workflowActionBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 2) { + return (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_; + } + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + } + /** + *
+       * Act on a kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowAction workflow_action = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowAction, io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder, io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder> + getWorkflowActionFieldBuilder() { + if (workflowActionBuilder_ == null) { + if (!(actionCase_ == 2)) { + action_ = io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + workflowActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowAction, io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder, io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder>( + (io.temporal.omes.KitchenSink.NexusWorkflowAction) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 2; + onChanged(); + return workflowActionBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.ExecuteActivityAction, io.temporal.omes.KitchenSink.ExecuteActivityAction.Builder, io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder> startActivityBuilder_; + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return Whether the startActivity field is set. + */ + @java.lang.Override + public boolean hasStartActivity() { + return actionCase_ == 3; + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + * @return The startActivity. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.ExecuteActivityAction getStartActivity() { + if (startActivityBuilder_ == null) { + if (actionCase_ == 3) { + return (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_; + } + return io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } else { + if (actionCase_ == 3) { + return startActivityBuilder_.getMessage(); + } + return io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + public Builder setStartActivity(io.temporal.omes.KitchenSink.ExecuteActivityAction value) { + if (startActivityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + startActivityBuilder_.setMessage(value); + } + actionCase_ = 3; + return this; + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + public Builder setStartActivity( + io.temporal.omes.KitchenSink.ExecuteActivityAction.Builder builderForValue) { + if (startActivityBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + startActivityBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 3; + return this; + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + public Builder mergeStartActivity(io.temporal.omes.KitchenSink.ExecuteActivityAction value) { + if (startActivityBuilder_ == null) { + if (actionCase_ == 3 && + action_ != io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance()) { + action_ = io.temporal.omes.KitchenSink.ExecuteActivityAction.newBuilder((io.temporal.omes.KitchenSink.ExecuteActivityAction) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 3) { + startActivityBuilder_.mergeFrom(value); + } else { + startActivityBuilder_.setMessage(value); + } + } + actionCase_ = 3; + return this; + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + public Builder clearStartActivity() { + if (startActivityBuilder_ == null) { + if (actionCase_ == 3) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 3) { + actionCase_ = 0; + action_ = null; + } + startActivityBuilder_.clear(); + } + return this; + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + public io.temporal.omes.KitchenSink.ExecuteActivityAction.Builder getStartActivityBuilder() { + return getStartActivityFieldBuilder().getBuilder(); + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder getStartActivityOrBuilder() { + if ((actionCase_ == 3) && (startActivityBuilder_ != null)) { + return startActivityBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 3) { + return (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_; + } + return io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } + } + /** + *
+       * Start a standalone activity.
+       * 
+ * + * .temporal.omes.kitchen_sink.ExecuteActivityAction start_activity = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.ExecuteActivityAction, io.temporal.omes.KitchenSink.ExecuteActivityAction.Builder, io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder> + getStartActivityFieldBuilder() { + if (startActivityBuilder_ == null) { + if (!(actionCase_ == 3)) { + action_ = io.temporal.omes.KitchenSink.ExecuteActivityAction.getDefaultInstance(); + } + startActivityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.ExecuteActivityAction, io.temporal.omes.KitchenSink.ExecuteActivityAction.Builder, io.temporal.omes.KitchenSink.ExecuteActivityActionOrBuilder>( + (io.temporal.omes.KitchenSink.ExecuteActivityAction) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 3; + onChanged(); + return startActivityBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:temporal.omes.kitchen_sink.NexusOperationRequest) + } + + // @@protoc_insertion_point(class_scope:temporal.omes.kitchen_sink.NexusOperationRequest) + private static final io.temporal.omes.KitchenSink.NexusOperationRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.temporal.omes.KitchenSink.NexusOperationRequest(); + } + + public static io.temporal.omes.KitchenSink.NexusOperationRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public NexusOperationRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusOperationRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface NexusWorkflowActionOrBuilder extends + // @@protoc_insertion_point(interface_extends:temporal.omes.kitchen_sink.NexusWorkflowAction) + com.google.protobuf.MessageOrBuilder { + + /** + * string workflow_id = 1; + * @return The workflowId. + */ + java.lang.String getWorkflowId(); + /** + * string workflow_id = 1; + * @return The bytes for workflowId. + */ + com.google.protobuf.ByteString + getWorkflowIdBytes(); + + /** + * string run_id = 2; + * @return The runId. + */ + java.lang.String getRunId(); + /** + * string run_id = 2; + * @return The bytes for runId. + */ + com.google.protobuf.ByteString + getRunIdBytes(); + + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return Whether the startOptions field is set. + */ + boolean hasStartOptions(); + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return The startOptions. + */ + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getStartOptions(); + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder getStartOptionsOrBuilder(); + + /** + * .google.protobuf.Empty start = 4; + * @return Whether the start field is set. + */ + boolean hasStart(); + /** + * .google.protobuf.Empty start = 4; + * @return The start. + */ + com.google.protobuf.Empty getStart(); + /** + * .google.protobuf.Empty start = 4; + */ + com.google.protobuf.EmptyOrBuilder getStartOrBuilder(); + + io.temporal.omes.KitchenSink.NexusWorkflowAction.ActionCase getActionCase(); + } + /** + * Protobuf type {@code temporal.omes.kitchen_sink.NexusWorkflowAction} + */ + public static final class NexusWorkflowAction extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:temporal.omes.kitchen_sink.NexusWorkflowAction) + NexusWorkflowActionOrBuilder { + private static final long serialVersionUID = 0L; + // Use NexusWorkflowAction.newBuilder() to construct. + private NexusWorkflowAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private NexusWorkflowAction() { + workflowId_ = ""; + runId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new NexusWorkflowAction(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.temporal.omes.KitchenSink.NexusWorkflowAction.class, io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder.class); + } + + private int bitField0_; + private int actionCase_ = 0; + @SuppressWarnings("serial") + private java.lang.Object action_; + public enum ActionCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + START(4), + ACTION_NOT_SET(0); + private final int value; + private ActionCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ActionCase valueOf(int value) { + return forNumber(value); + } + + public static ActionCase forNumber(int value) { + switch (value) { + case 4: return START; + case 0: return ACTION_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ActionCase + getActionCase() { + return ActionCase.forNumber( + actionCase_); + } + + public static final int WORKFLOW_ID_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object workflowId_ = ""; + /** + * string workflow_id = 1; + * @return The workflowId. + */ + @java.lang.Override + public java.lang.String getWorkflowId() { + java.lang.Object ref = workflowId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + workflowId_ = s; + return s; + } + } + /** + * string workflow_id = 1; + * @return The bytes for workflowId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getWorkflowIdBytes() { + java.lang.Object ref = workflowId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - input_ = b; + workflowId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RUN_ID_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object runId_ = ""; + /** + * string run_id = 2; + * @return The runId. + */ + @java.lang.Override + public java.lang.String getRunId() { + java.lang.Object ref = runId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + runId_ = s; + return s; + } + } + /** + * string run_id = 2; + * @return The bytes for runId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getRunIdBytes() { + java.lang.Object ref = runId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + runId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int BEFORE_ACTIONS_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private java.util.List beforeActions_; - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ + public static final int START_OPTIONS_FIELD_NUMBER = 3; + private io.temporal.omes.KitchenSink.NexusWorkflowStartOptions startOptions_; + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return Whether the startOptions field is set. + */ + @java.lang.Override + public boolean hasStartOptions() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return The startOptions. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getStartOptions() { + return startOptions_ == null ? io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance() : startOptions_; + } + /** + *
+     * Options used when the action may start a workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder getStartOptionsOrBuilder() { + return startOptions_ == null ? io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance() : startOptions_; + } + + public static final int START_FIELD_NUMBER = 4; + /** + * .google.protobuf.Empty start = 4; + * @return Whether the start field is set. + */ + @java.lang.Override + public boolean hasStart() { + return actionCase_ == 4; + } + /** + * .google.protobuf.Empty start = 4; + * @return The start. + */ + @java.lang.Override + public com.google.protobuf.Empty getStart() { + if (actionCase_ == 4) { + return (com.google.protobuf.Empty) action_; + } + return com.google.protobuf.Empty.getDefaultInstance(); + } + /** + * .google.protobuf.Empty start = 4; + */ + @java.lang.Override + public com.google.protobuf.EmptyOrBuilder getStartOrBuilder() { + if (actionCase_ == 4) { + return (com.google.protobuf.Empty) action_; + } + return com.google.protobuf.Empty.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(workflowId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, workflowId_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(runId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, runId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getStartOptions()); + } + if (actionCase_ == 4) { + output.writeMessage(4, (com.google.protobuf.Empty) action_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(workflowId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, workflowId_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(runId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, runId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getStartOptions()); + } + if (actionCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (com.google.protobuf.Empty) action_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof io.temporal.omes.KitchenSink.NexusWorkflowAction)) { + return super.equals(obj); + } + io.temporal.omes.KitchenSink.NexusWorkflowAction other = (io.temporal.omes.KitchenSink.NexusWorkflowAction) obj; + + if (!getWorkflowId() + .equals(other.getWorkflowId())) return false; + if (!getRunId() + .equals(other.getRunId())) return false; + if (hasStartOptions() != other.hasStartOptions()) return false; + if (hasStartOptions()) { + if (!getStartOptions() + .equals(other.getStartOptions())) return false; + } + if (!getActionCase().equals(other.getActionCase())) return false; + switch (actionCase_) { + case 4: + if (!getStart() + .equals(other.getStart())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + WORKFLOW_ID_FIELD_NUMBER; + hash = (53 * hash) + getWorkflowId().hashCode(); + hash = (37 * hash) + RUN_ID_FIELD_NUMBER; + hash = (53 * hash) + getRunId().hashCode(); + if (hasStartOptions()) { + hash = (37 * hash) + START_OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getStartOptions().hashCode(); + } + switch (actionCase_) { + case 4: + hash = (37 * hash) + START_FIELD_NUMBER; + hash = (53 * hash) + getStart().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static io.temporal.omes.KitchenSink.NexusWorkflowAction parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(io.temporal.omes.KitchenSink.NexusWorkflowAction prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code temporal.omes.kitchen_sink.NexusWorkflowAction} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:temporal.omes.kitchen_sink.NexusWorkflowAction) + io.temporal.omes.KitchenSink.NexusWorkflowActionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.temporal.omes.KitchenSink.NexusWorkflowAction.class, io.temporal.omes.KitchenSink.NexusWorkflowAction.Builder.class); + } + + // Construct using io.temporal.omes.KitchenSink.NexusWorkflowAction.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getStartOptionsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + workflowId_ = ""; + runId_ = ""; + startOptions_ = null; + if (startOptionsBuilder_ != null) { + startOptionsBuilder_.dispose(); + startOptionsBuilder_ = null; + } + if (startBuilder_ != null) { + startBuilder_.clear(); + } + actionCase_ = 0; + action_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor; + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowAction getDefaultInstanceForType() { + return io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance(); + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowAction build() { + io.temporal.omes.KitchenSink.NexusWorkflowAction result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public io.temporal.omes.KitchenSink.NexusWorkflowAction buildPartial() { + io.temporal.omes.KitchenSink.NexusWorkflowAction result = new io.temporal.omes.KitchenSink.NexusWorkflowAction(this); + if (bitField0_ != 0) { buildPartial0(result); } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(io.temporal.omes.KitchenSink.NexusWorkflowAction result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.workflowId_ = workflowId_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.runId_ = runId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.startOptions_ = startOptionsBuilder_ == null + ? startOptions_ + : startOptionsBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs(io.temporal.omes.KitchenSink.NexusWorkflowAction result) { + result.actionCase_ = actionCase_; + result.action_ = this.action_; + if (actionCase_ == 4 && + startBuilder_ != null) { + result.action_ = startBuilder_.build(); + } + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof io.temporal.omes.KitchenSink.NexusWorkflowAction) { + return mergeFrom((io.temporal.omes.KitchenSink.NexusWorkflowAction)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(io.temporal.omes.KitchenSink.NexusWorkflowAction other) { + if (other == io.temporal.omes.KitchenSink.NexusWorkflowAction.getDefaultInstance()) return this; + if (!other.getWorkflowId().isEmpty()) { + workflowId_ = other.workflowId_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRunId().isEmpty()) { + runId_ = other.runId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasStartOptions()) { + mergeStartOptions(other.getStartOptions()); + } + switch (other.getActionCase()) { + case START: { + mergeStart(other.getStart()); + break; + } + case ACTION_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + workflowId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + runId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + input.readMessage( + getStartOptionsFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + input.readMessage( + getStartFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 4; + break; + } // case 34 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int actionCase_ = 0; + private java.lang.Object action_; + public ActionCase + getActionCase() { + return ActionCase.forNumber( + actionCase_); + } + + public Builder clearAction() { + actionCase_ = 0; + action_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private java.lang.Object workflowId_ = ""; + /** + * string workflow_id = 1; + * @return The workflowId. + */ + public java.lang.String getWorkflowId() { + java.lang.Object ref = workflowId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + workflowId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string workflow_id = 1; + * @return The bytes for workflowId. + */ + public com.google.protobuf.ByteString + getWorkflowIdBytes() { + java.lang.Object ref = workflowId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + workflowId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string workflow_id = 1; + * @param value The workflowId to set. + * @return This builder for chaining. + */ + public Builder setWorkflowId( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + workflowId_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string workflow_id = 1; + * @return This builder for chaining. + */ + public Builder clearWorkflowId() { + workflowId_ = getDefaultInstance().getWorkflowId(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string workflow_id = 1; + * @param value The bytes for workflowId to set. + * @return This builder for chaining. + */ + public Builder setWorkflowIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + workflowId_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object runId_ = ""; + /** + * string run_id = 2; + * @return The runId. + */ + public java.lang.String getRunId() { + java.lang.Object ref = runId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + runId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string run_id = 2; + * @return The bytes for runId. + */ + public com.google.protobuf.ByteString + getRunIdBytes() { + java.lang.Object ref = runId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + runId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string run_id = 2; + * @param value The runId to set. + * @return This builder for chaining. + */ + public Builder setRunId( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + runId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string run_id = 2; + * @return This builder for chaining. + */ + public Builder clearRunId() { + runId_ = getDefaultInstance().getRunId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string run_id = 2; + * @param value The bytes for runId to set. + * @return This builder for chaining. + */ + public Builder setRunIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + runId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private io.temporal.omes.KitchenSink.NexusWorkflowStartOptions startOptions_; + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions, io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder, io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder> startOptionsBuilder_; + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return Whether the startOptions field is set. + */ + public boolean hasStartOptions() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + * @return The startOptions. + */ + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getStartOptions() { + if (startOptionsBuilder_ == null) { + return startOptions_ == null ? io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance() : startOptions_; + } else { + return startOptionsBuilder_.getMessage(); + } + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public Builder setStartOptions(io.temporal.omes.KitchenSink.NexusWorkflowStartOptions value) { + if (startOptionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startOptions_ = value; + } else { + startOptionsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public Builder setStartOptions( + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder builderForValue) { + if (startOptionsBuilder_ == null) { + startOptions_ = builderForValue.build(); + } else { + startOptionsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public Builder mergeStartOptions(io.temporal.omes.KitchenSink.NexusWorkflowStartOptions value) { + if (startOptionsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + startOptions_ != null && + startOptions_ != io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance()) { + getStartOptionsBuilder().mergeFrom(value); + } else { + startOptions_ = value; + } + } else { + startOptionsBuilder_.mergeFrom(value); + } + if (startOptions_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public Builder clearStartOptions() { + bitField0_ = (bitField0_ & ~0x00000004); + startOptions_ = null; + if (startOptionsBuilder_ != null) { + startOptionsBuilder_.dispose(); + startOptionsBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder getStartOptionsBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getStartOptionsFieldBuilder().getBuilder(); + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder getStartOptionsOrBuilder() { + if (startOptionsBuilder_ != null) { + return startOptionsBuilder_.getMessageOrBuilder(); + } else { + return startOptions_ == null ? + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance() : startOptions_; + } + } + /** + *
+       * Options used when the action may start a workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.NexusWorkflowStartOptions start_options = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions, io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder, io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder> + getStartOptionsFieldBuilder() { + if (startOptionsBuilder_ == null) { + startOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions, io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder, io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder>( + getStartOptions(), + getParentForChildren(), + isClean()); + startOptions_ = null; + } + return startOptionsBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder> startBuilder_; + /** + * .google.protobuf.Empty start = 4; + * @return Whether the start field is set. + */ + @java.lang.Override + public boolean hasStart() { + return actionCase_ == 4; + } + /** + * .google.protobuf.Empty start = 4; + * @return The start. + */ + @java.lang.Override + public com.google.protobuf.Empty getStart() { + if (startBuilder_ == null) { + if (actionCase_ == 4) { + return (com.google.protobuf.Empty) action_; + } + return com.google.protobuf.Empty.getDefaultInstance(); + } else { + if (actionCase_ == 4) { + return startBuilder_.getMessage(); + } + return com.google.protobuf.Empty.getDefaultInstance(); + } + } + /** + * .google.protobuf.Empty start = 4; + */ + public Builder setStart(com.google.protobuf.Empty value) { + if (startBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + startBuilder_.setMessage(value); + } + actionCase_ = 4; + return this; + } + /** + * .google.protobuf.Empty start = 4; + */ + public Builder setStart( + com.google.protobuf.Empty.Builder builderForValue) { + if (startBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + startBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 4; + return this; + } + /** + * .google.protobuf.Empty start = 4; + */ + public Builder mergeStart(com.google.protobuf.Empty value) { + if (startBuilder_ == null) { + if (actionCase_ == 4 && + action_ != com.google.protobuf.Empty.getDefaultInstance()) { + action_ = com.google.protobuf.Empty.newBuilder((com.google.protobuf.Empty) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 4) { + startBuilder_.mergeFrom(value); + } else { + startBuilder_.setMessage(value); + } + } + actionCase_ = 4; + return this; + } + /** + * .google.protobuf.Empty start = 4; + */ + public Builder clearStart() { + if (startBuilder_ == null) { + if (actionCase_ == 4) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 4) { + actionCase_ = 0; + action_ = null; + } + startBuilder_.clear(); + } + return this; + } + /** + * .google.protobuf.Empty start = 4; + */ + public com.google.protobuf.Empty.Builder getStartBuilder() { + return getStartFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Empty start = 4; + */ + @java.lang.Override + public com.google.protobuf.EmptyOrBuilder getStartOrBuilder() { + if ((actionCase_ == 4) && (startBuilder_ != null)) { + return startBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 4) { + return (com.google.protobuf.Empty) action_; + } + return com.google.protobuf.Empty.getDefaultInstance(); + } + } + /** + * .google.protobuf.Empty start = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder> + getStartFieldBuilder() { + if (startBuilder_ == null) { + if (!(actionCase_ == 4)) { + action_ = com.google.protobuf.Empty.getDefaultInstance(); + } + startBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder>( + (com.google.protobuf.Empty) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 4; + onChanged(); + return startBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:temporal.omes.kitchen_sink.NexusWorkflowAction) + } + + // @@protoc_insertion_point(class_scope:temporal.omes.kitchen_sink.NexusWorkflowAction) + private static final io.temporal.omes.KitchenSink.NexusWorkflowAction DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new io.temporal.omes.KitchenSink.NexusWorkflowAction(); + } + + public static io.temporal.omes.KitchenSink.NexusWorkflowAction getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public NexusWorkflowAction parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + @java.lang.Override - public java.util.List getBeforeActionsList() { - return beforeActions_; + public com.google.protobuf.Parser getParserForType() { + return PARSER; } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ + @java.lang.Override - public java.util.List - getBeforeActionsOrBuilderList() { - return beforeActions_; + public io.temporal.omes.KitchenSink.NexusWorkflowAction getDefaultInstanceForType() { + return DEFAULT_INSTANCE; } + + } + + public interface NexusWorkflowStartOptionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:temporal.omes.kitchen_sink.NexusWorkflowStartOptions) + com.google.protobuf.MessageOrBuilder { + /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Task queue. Defaults to the task queue handling the Nexus request when empty.
+     * 
+ * + * string task_queue = 1; + * @return The taskQueue. */ - @java.lang.Override - public int getBeforeActionsCount() { - return beforeActions_.size(); - } + java.lang.String getTaskQueue(); /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Task queue. Defaults to the task queue handling the Nexus request when empty.
+     * 
+ * + * string task_queue = 1; + * @return The bytes for taskQueue. */ - @java.lang.Override - public io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index) { - return beforeActions_.get(index); - } + com.google.protobuf.ByteString + getTaskQueueBytes(); + + /** + *
+     * Conflict policy when starting the workflow.
+     * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The enum numeric value on the wire for workflowIdConflictPolicy. + */ + int getWorkflowIdConflictPolicyValue(); + /** + *
+     * Conflict policy when starting the workflow.
+     * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The workflowIdConflictPolicy. + */ + io.temporal.api.enums.v1.WorkflowIdConflictPolicy getWorkflowIdConflictPolicy(); + + /** + *
+     * Typed input passed to the kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return Whether the workflowInput field is set. + */ + boolean hasWorkflowInput(); + /** + *
+     * Typed input passed to the kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return The workflowInput. + */ + io.temporal.omes.KitchenSink.WorkflowInput getWorkflowInput(); /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+     * Typed input passed to the kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ + io.temporal.omes.KitchenSink.WorkflowInputOrBuilder getWorkflowInputOrBuilder(); + } + /** + *
+   * Configuration for starting a kitchenSink workflow through a Nexus operation.
+   * 
+ * + * Protobuf type {@code temporal.omes.kitchen_sink.NexusWorkflowStartOptions} + */ + public static final class NexusWorkflowStartOptions extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:temporal.omes.kitchen_sink.NexusWorkflowStartOptions) + NexusWorkflowStartOptionsOrBuilder { + private static final long serialVersionUID = 0L; + // Use NexusWorkflowStartOptions.newBuilder() to construct. + private NexusWorkflowStartOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private NexusWorkflowStartOptions() { + taskQueue_ = ""; + workflowIdConflictPolicy_ = 0; + } + @java.lang.Override - public io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index) { - return beforeActions_.get(index); + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new NexusWorkflowStartOptions(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.class, io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder.class); } - public static final int HANDLER_WORKFLOW_ID_FIELD_NUMBER = 3; + private int bitField0_; + public static final int TASK_QUEUE_FIELD_NUMBER = 1; @SuppressWarnings("serial") - private volatile java.lang.Object handlerWorkflowId_ = ""; + private volatile java.lang.Object taskQueue_ = ""; /** - * string handler_workflow_id = 3; - * @return The handlerWorkflowId. + *
+     * Task queue. Defaults to the task queue handling the Nexus request when empty.
+     * 
+ * + * string task_queue = 1; + * @return The taskQueue. */ @java.lang.Override - public java.lang.String getHandlerWorkflowId() { - java.lang.Object ref = handlerWorkflowId_; + public java.lang.String getTaskQueue() { + java.lang.Object ref = taskQueue_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - handlerWorkflowId_ = s; + taskQueue_ = s; return s; } } /** - * string handler_workflow_id = 3; - * @return The bytes for handlerWorkflowId. + *
+     * Task queue. Defaults to the task queue handling the Nexus request when empty.
+     * 
+ * + * string task_queue = 1; + * @return The bytes for taskQueue. */ @java.lang.Override public com.google.protobuf.ByteString - getHandlerWorkflowIdBytes() { - java.lang.Object ref = handlerWorkflowId_; + getTaskQueueBytes() { + java.lang.Object ref = taskQueue_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - handlerWorkflowId_ = b; + taskQueue_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER = 4; - private int handlerWorkflowIdConflictPolicy_ = 0; + public static final int WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER = 2; + private int workflowIdConflictPolicy_ = 0; /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. + *
+     * Conflict policy when starting the workflow.
+     * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The enum numeric value on the wire for workflowIdConflictPolicy. */ - @java.lang.Override public int getHandlerWorkflowIdConflictPolicyValue() { - return handlerWorkflowIdConflictPolicy_; + @java.lang.Override public int getWorkflowIdConflictPolicyValue() { + return workflowIdConflictPolicy_; } /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The handlerWorkflowIdConflictPolicy. + *
+     * Conflict policy when starting the workflow.
+     * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The workflowIdConflictPolicy. */ - @java.lang.Override public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy() { - io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(handlerWorkflowIdConflictPolicy_); + @java.lang.Override public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getWorkflowIdConflictPolicy() { + io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(workflowIdConflictPolicy_); return result == null ? io.temporal.api.enums.v1.WorkflowIdConflictPolicy.UNRECOGNIZED : result; } - public static final int WAIT_FOR_SIGNAL_FIELD_NUMBER = 5; - private boolean waitForSignal_ = false; + public static final int WORKFLOW_INPUT_FIELD_NUMBER = 3; + private io.temporal.omes.KitchenSink.WorkflowInput workflowInput_; + /** + *
+     * Typed input passed to the kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return Whether the workflowInput field is set. + */ + @java.lang.Override + public boolean hasWorkflowInput() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * Typed input passed to the kitchenSink workflow.
+     * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return The workflowInput. + */ + @java.lang.Override + public io.temporal.omes.KitchenSink.WorkflowInput getWorkflowInput() { + return workflowInput_ == null ? io.temporal.omes.KitchenSink.WorkflowInput.getDefaultInstance() : workflowInput_; + } /** *
-     * If true, the handler workflow waits on the "unblock" signal before returning.
+     * Typed input passed to the kitchenSink workflow.
      * 
* - * bool wait_for_signal = 5; - * @return The waitForSignal. + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ @java.lang.Override - public boolean getWaitForSignal() { - return waitForSignal_; + public io.temporal.omes.KitchenSink.WorkflowInputOrBuilder getWorkflowInputOrBuilder() { + return workflowInput_ == null ? io.temporal.omes.KitchenSink.WorkflowInput.getDefaultInstance() : workflowInput_; } private byte memoizedIsInitialized = -1; @@ -56623,20 +58086,14 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(input_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, input_); - } - for (int i = 0; i < beforeActions_.size(); i++) { - output.writeMessage(2, beforeActions_.get(i)); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerWorkflowId_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, handlerWorkflowId_); + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(taskQueue_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, taskQueue_); } - if (handlerWorkflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { - output.writeEnum(4, handlerWorkflowIdConflictPolicy_); + if (workflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { + output.writeEnum(2, workflowIdConflictPolicy_); } - if (waitForSignal_ != false) { - output.writeBool(5, waitForSignal_); + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getWorkflowInput()); } getUnknownFields().writeTo(output); } @@ -56647,23 +58104,16 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(input_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, input_); - } - for (int i = 0; i < beforeActions_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, beforeActions_.get(i)); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(handlerWorkflowId_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, handlerWorkflowId_); + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(taskQueue_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, taskQueue_); } - if (handlerWorkflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { + if (workflowIdConflictPolicy_ != io.temporal.api.enums.v1.WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, handlerWorkflowIdConflictPolicy_); + .computeEnumSize(2, workflowIdConflictPolicy_); } - if (waitForSignal_ != false) { + if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, waitForSignal_); + .computeMessageSize(3, getWorkflowInput()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; @@ -56675,20 +58125,19 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof io.temporal.omes.KitchenSink.NexusHandlerInput)) { + if (!(obj instanceof io.temporal.omes.KitchenSink.NexusWorkflowStartOptions)) { return super.equals(obj); } - io.temporal.omes.KitchenSink.NexusHandlerInput other = (io.temporal.omes.KitchenSink.NexusHandlerInput) obj; - - if (!getInput() - .equals(other.getInput())) return false; - if (!getBeforeActionsList() - .equals(other.getBeforeActionsList())) return false; - if (!getHandlerWorkflowId() - .equals(other.getHandlerWorkflowId())) return false; - if (handlerWorkflowIdConflictPolicy_ != other.handlerWorkflowIdConflictPolicy_) return false; - if (getWaitForSignal() - != other.getWaitForSignal()) return false; + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions other = (io.temporal.omes.KitchenSink.NexusWorkflowStartOptions) obj; + + if (!getTaskQueue() + .equals(other.getTaskQueue())) return false; + if (workflowIdConflictPolicy_ != other.workflowIdConflictPolicy_) return false; + if (hasWorkflowInput() != other.hasWorkflowInput()) return false; + if (hasWorkflowInput()) { + if (!getWorkflowInput() + .equals(other.getWorkflowInput())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -56700,62 +58149,57 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + INPUT_FIELD_NUMBER; - hash = (53 * hash) + getInput().hashCode(); - if (getBeforeActionsCount() > 0) { - hash = (37 * hash) + BEFORE_ACTIONS_FIELD_NUMBER; - hash = (53 * hash) + getBeforeActionsList().hashCode(); - } - hash = (37 * hash) + HANDLER_WORKFLOW_ID_FIELD_NUMBER; - hash = (53 * hash) + getHandlerWorkflowId().hashCode(); - hash = (37 * hash) + HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER; - hash = (53 * hash) + handlerWorkflowIdConflictPolicy_; - hash = (37 * hash) + WAIT_FOR_SIGNAL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getWaitForSignal()); + hash = (37 * hash) + TASK_QUEUE_FIELD_NUMBER; + hash = (53 * hash) + getTaskQueue().hashCode(); + hash = (37 * hash) + WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER; + hash = (53 * hash) + workflowIdConflictPolicy_; + if (hasWorkflowInput()) { + hash = (37 * hash) + WORKFLOW_INPUT_FIELD_NUMBER; + hash = (53 * hash) + getWorkflowInput().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom(byte[] data) + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom(java.io.InputStream input) + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -56763,26 +58207,26 @@ public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseDelimitedFrom(java.io.InputStream input) + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseDelimitedFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -56795,7 +58239,7 @@ public static io.temporal.omes.KitchenSink.NexusHandlerInput parseFrom( public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(io.temporal.omes.KitchenSink.NexusHandlerInput prototype) { + public static Builder newBuilder(io.temporal.omes.KitchenSink.NexusWorkflowStartOptions prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -56812,70 +58256,72 @@ protected Builder newBuilderForType( } /** *
-     * Input for the Nexus handler workflow that backs echo-sync and echo-async operations
+     * Configuration for starting a kitchenSink workflow through a Nexus operation.
      * 
* - * Protobuf type {@code temporal.omes.kitchen_sink.NexusHandlerInput} + * Protobuf type {@code temporal.omes.kitchen_sink.NexusWorkflowStartOptions} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:temporal.omes.kitchen_sink.NexusHandlerInput) - io.temporal.omes.KitchenSink.NexusHandlerInputOrBuilder { + // @@protoc_insertion_point(builder_implements:temporal.omes.kitchen_sink.NexusWorkflowStartOptions) + io.temporal.omes.KitchenSink.NexusWorkflowStartOptionsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor; + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_fieldAccessorTable + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( - io.temporal.omes.KitchenSink.NexusHandlerInput.class, io.temporal.omes.KitchenSink.NexusHandlerInput.Builder.class); + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.class, io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.Builder.class); } - // Construct using io.temporal.omes.KitchenSink.NexusHandlerInput.newBuilder() + // Construct using io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.newBuilder() private Builder() { - + maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); - + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getWorkflowInputFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; - input_ = ""; - if (beforeActionsBuilder_ == null) { - beforeActions_ = java.util.Collections.emptyList(); - } else { - beforeActions_ = null; - beforeActionsBuilder_.clear(); + taskQueue_ = ""; + workflowIdConflictPolicy_ = 0; + workflowInput_ = null; + if (workflowInputBuilder_ != null) { + workflowInputBuilder_.dispose(); + workflowInputBuilder_ = null; } - bitField0_ = (bitField0_ & ~0x00000002); - handlerWorkflowId_ = ""; - handlerWorkflowIdConflictPolicy_ = 0; - waitForSignal_ = false; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor; + return io.temporal.omes.KitchenSink.internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor; } @java.lang.Override - public io.temporal.omes.KitchenSink.NexusHandlerInput getDefaultInstanceForType() { - return io.temporal.omes.KitchenSink.NexusHandlerInput.getDefaultInstance(); + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getDefaultInstanceForType() { + return io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance(); } @java.lang.Override - public io.temporal.omes.KitchenSink.NexusHandlerInput build() { - io.temporal.omes.KitchenSink.NexusHandlerInput result = buildPartial(); + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions build() { + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -56883,40 +58329,29 @@ public io.temporal.omes.KitchenSink.NexusHandlerInput build() { } @java.lang.Override - public io.temporal.omes.KitchenSink.NexusHandlerInput buildPartial() { - io.temporal.omes.KitchenSink.NexusHandlerInput result = new io.temporal.omes.KitchenSink.NexusHandlerInput(this); - buildPartialRepeatedFields(result); + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions buildPartial() { + io.temporal.omes.KitchenSink.NexusWorkflowStartOptions result = new io.temporal.omes.KitchenSink.NexusWorkflowStartOptions(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } - private void buildPartialRepeatedFields(io.temporal.omes.KitchenSink.NexusHandlerInput result) { - if (beforeActionsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - beforeActions_ = java.util.Collections.unmodifiableList(beforeActions_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.beforeActions_ = beforeActions_; - } else { - result.beforeActions_ = beforeActionsBuilder_.build(); - } - } - - private void buildPartial0(io.temporal.omes.KitchenSink.NexusHandlerInput result) { + private void buildPartial0(io.temporal.omes.KitchenSink.NexusWorkflowStartOptions result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { - result.input_ = input_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.handlerWorkflowId_ = handlerWorkflowId_; + result.taskQueue_ = taskQueue_; } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.handlerWorkflowIdConflictPolicy_ = handlerWorkflowIdConflictPolicy_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.workflowIdConflictPolicy_ = workflowIdConflictPolicy_; } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.waitForSignal_ = waitForSignal_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.workflowInput_ = workflowInputBuilder_ == null + ? workflowInput_ + : workflowInputBuilder_.build(); + to_bitField0_ |= 0x00000001; } + result.bitField0_ |= to_bitField0_; } @java.lang.Override @@ -56953,57 +58388,26 @@ public Builder addRepeatedField( } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof io.temporal.omes.KitchenSink.NexusHandlerInput) { - return mergeFrom((io.temporal.omes.KitchenSink.NexusHandlerInput)other); + if (other instanceof io.temporal.omes.KitchenSink.NexusWorkflowStartOptions) { + return mergeFrom((io.temporal.omes.KitchenSink.NexusWorkflowStartOptions)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(io.temporal.omes.KitchenSink.NexusHandlerInput other) { - if (other == io.temporal.omes.KitchenSink.NexusHandlerInput.getDefaultInstance()) return this; - if (!other.getInput().isEmpty()) { - input_ = other.input_; + public Builder mergeFrom(io.temporal.omes.KitchenSink.NexusWorkflowStartOptions other) { + if (other == io.temporal.omes.KitchenSink.NexusWorkflowStartOptions.getDefaultInstance()) return this; + if (!other.getTaskQueue().isEmpty()) { + taskQueue_ = other.taskQueue_; bitField0_ |= 0x00000001; onChanged(); } - if (beforeActionsBuilder_ == null) { - if (!other.beforeActions_.isEmpty()) { - if (beforeActions_.isEmpty()) { - beforeActions_ = other.beforeActions_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureBeforeActionsIsMutable(); - beforeActions_.addAll(other.beforeActions_); - } - onChanged(); - } - } else { - if (!other.beforeActions_.isEmpty()) { - if (beforeActionsBuilder_.isEmpty()) { - beforeActionsBuilder_.dispose(); - beforeActionsBuilder_ = null; - beforeActions_ = other.beforeActions_; - bitField0_ = (bitField0_ & ~0x00000002); - beforeActionsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getBeforeActionsFieldBuilder() : null; - } else { - beforeActionsBuilder_.addAllMessages(other.beforeActions_); - } - } - } - if (!other.getHandlerWorkflowId().isEmpty()) { - handlerWorkflowId_ = other.handlerWorkflowId_; - bitField0_ |= 0x00000004; - onChanged(); - } - if (other.handlerWorkflowIdConflictPolicy_ != 0) { - setHandlerWorkflowIdConflictPolicyValue(other.getHandlerWorkflowIdConflictPolicyValue()); + if (other.workflowIdConflictPolicy_ != 0) { + setWorkflowIdConflictPolicyValue(other.getWorkflowIdConflictPolicyValue()); } - if (other.getWaitForSignal() != false) { - setWaitForSignal(other.getWaitForSignal()); + if (other.hasWorkflowInput()) { + mergeWorkflowInput(other.getWorkflowInput()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); @@ -57032,38 +58436,22 @@ public Builder mergeFrom( done = true; break; case 10: { - input_ = input.readStringRequireUtf8(); + taskQueue_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 - case 18: { - io.temporal.omes.KitchenSink.ActionSet m = - input.readMessage( - io.temporal.omes.KitchenSink.ActionSet.parser(), - extensionRegistry); - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(m); - } else { - beforeActionsBuilder_.addMessage(m); - } + case 16: { + workflowIdConflictPolicy_ = input.readEnum(); + bitField0_ |= 0x00000002; break; - } // case 18 + } // case 16 case 26: { - handlerWorkflowId_ = input.readStringRequireUtf8(); + input.readMessage( + getWorkflowInputFieldBuilder().getBuilder(), + extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 - case 32: { - handlerWorkflowIdConflictPolicy_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } // case 32 - case 40: { - waitForSignal_ = input.readBool(); - bitField0_ |= 0x00000010; - break; - } // case 40 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -57081,485 +58469,326 @@ public Builder mergeFrom( } private int bitField0_; - private java.lang.Object input_ = ""; + private java.lang.Object taskQueue_ = ""; /** - * string input = 1; - * @return The input. + *
+       * Task queue. Defaults to the task queue handling the Nexus request when empty.
+       * 
+ * + * string task_queue = 1; + * @return The taskQueue. */ - public java.lang.String getInput() { - java.lang.Object ref = input_; + public java.lang.String getTaskQueue() { + java.lang.Object ref = taskQueue_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - input_ = s; + taskQueue_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string input = 1; - * @return The bytes for input. + *
+       * Task queue. Defaults to the task queue handling the Nexus request when empty.
+       * 
+ * + * string task_queue = 1; + * @return The bytes for taskQueue. */ public com.google.protobuf.ByteString - getInputBytes() { - java.lang.Object ref = input_; + getTaskQueueBytes() { + java.lang.Object ref = taskQueue_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - input_ = b; + taskQueue_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string input = 1; - * @param value The input to set. + *
+       * Task queue. Defaults to the task queue handling the Nexus request when empty.
+       * 
+ * + * string task_queue = 1; + * @param value The taskQueue to set. * @return This builder for chaining. */ - public Builder setInput( + public Builder setTaskQueue( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - input_ = value; + taskQueue_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** - * string input = 1; + *
+       * Task queue. Defaults to the task queue handling the Nexus request when empty.
+       * 
+ * + * string task_queue = 1; * @return This builder for chaining. */ - public Builder clearInput() { - input_ = getDefaultInstance().getInput(); + public Builder clearTaskQueue() { + taskQueue_ = getDefaultInstance().getTaskQueue(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** - * string input = 1; - * @param value The bytes for input to set. + *
+       * Task queue. Defaults to the task queue handling the Nexus request when empty.
+       * 
+ * + * string task_queue = 1; + * @param value The bytes for taskQueue to set. * @return This builder for chaining. */ - public Builder setInputBytes( + public Builder setTaskQueueBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); - input_ = value; + taskQueue_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } - private java.util.List beforeActions_ = - java.util.Collections.emptyList(); - private void ensureBeforeActionsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - beforeActions_ = new java.util.ArrayList(beforeActions_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder> beforeActionsBuilder_; - - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public java.util.List getBeforeActionsList() { - if (beforeActionsBuilder_ == null) { - return java.util.Collections.unmodifiableList(beforeActions_); - } else { - return beforeActionsBuilder_.getMessageList(); - } - } + private int workflowIdConflictPolicy_ = 0; /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public int getBeforeActionsCount() { - if (beforeActionsBuilder_ == null) { - return beforeActions_.size(); - } else { - return beforeActionsBuilder_.getCount(); - } - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public io.temporal.omes.KitchenSink.ActionSet getBeforeActions(int index) { - if (beforeActionsBuilder_ == null) { - return beforeActions_.get(index); - } else { - return beforeActionsBuilder_.getMessage(index); - } - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Conflict policy when starting the workflow.
+       * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The enum numeric value on the wire for workflowIdConflictPolicy. */ - public Builder setBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureBeforeActionsIsMutable(); - beforeActions_.set(index, value); - onChanged(); - } else { - beforeActionsBuilder_.setMessage(index, value); - } - return this; + @java.lang.Override public int getWorkflowIdConflictPolicyValue() { + return workflowIdConflictPolicy_; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Conflict policy when starting the workflow.
+       * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @param value The enum numeric value on the wire for workflowIdConflictPolicy to set. + * @return This builder for chaining. */ - public Builder setBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.set(index, builderForValue.build()); - onChanged(); - } else { - beforeActionsBuilder_.setMessage(index, builderForValue.build()); - } + public Builder setWorkflowIdConflictPolicyValue(int value) { + workflowIdConflictPolicy_ = value; + bitField0_ |= 0x00000002; + onChanged(); return this; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Conflict policy when starting the workflow.
+       * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return The workflowIdConflictPolicy. */ - public Builder addBeforeActions(io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureBeforeActionsIsMutable(); - beforeActions_.add(value); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(value); - } - return this; + @java.lang.Override + public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getWorkflowIdConflictPolicy() { + io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(workflowIdConflictPolicy_); + return result == null ? io.temporal.api.enums.v1.WorkflowIdConflictPolicy.UNRECOGNIZED : result; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Conflict policy when starting the workflow.
+       * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @param value The workflowIdConflictPolicy to set. + * @return This builder for chaining. */ - public Builder addBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet value) { - if (beforeActionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureBeforeActionsIsMutable(); - beforeActions_.add(index, value); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(index, value); + public Builder setWorkflowIdConflictPolicy(io.temporal.api.enums.v1.WorkflowIdConflictPolicy value) { + if (value == null) { + throw new NullPointerException(); } + bitField0_ |= 0x00000002; + workflowIdConflictPolicy_ = value.getNumber(); + onChanged(); return this; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Conflict policy when starting the workflow.
+       * 
+ * + * .temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + * @return This builder for chaining. */ - public Builder addBeforeActions( - io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(builderForValue.build()); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(builderForValue.build()); - } + public Builder clearWorkflowIdConflictPolicy() { + bitField0_ = (bitField0_ & ~0x00000002); + workflowIdConflictPolicy_ = 0; + onChanged(); return this; } + + private io.temporal.omes.KitchenSink.WorkflowInput workflowInput_; + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.WorkflowInput, io.temporal.omes.KitchenSink.WorkflowInput.Builder, io.temporal.omes.KitchenSink.WorkflowInputOrBuilder> workflowInputBuilder_; /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return Whether the workflowInput field is set. */ - public Builder addBeforeActions( - int index, io.temporal.omes.KitchenSink.ActionSet.Builder builderForValue) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.add(index, builderForValue.build()); - onChanged(); - } else { - beforeActionsBuilder_.addMessage(index, builderForValue.build()); - } - return this; + public boolean hasWorkflowInput() { + return ((bitField0_ & 0x00000004) != 0); } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; + * @return The workflowInput. */ - public Builder addAllBeforeActions( - java.lang.Iterable values) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, beforeActions_); - onChanged(); + public io.temporal.omes.KitchenSink.WorkflowInput getWorkflowInput() { + if (workflowInputBuilder_ == null) { + return workflowInput_ == null ? io.temporal.omes.KitchenSink.WorkflowInput.getDefaultInstance() : workflowInput_; } else { - beforeActionsBuilder_.addAllMessages(values); + return workflowInputBuilder_.getMessage(); } - return this; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public Builder clearBeforeActions() { - if (beforeActionsBuilder_ == null) { - beforeActions_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); + public Builder setWorkflowInput(io.temporal.omes.KitchenSink.WorkflowInput value) { + if (workflowInputBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + workflowInput_ = value; } else { - beforeActionsBuilder_.clear(); + workflowInputBuilder_.setMessage(value); } + bitField0_ |= 0x00000004; + onChanged(); return this; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public Builder removeBeforeActions(int index) { - if (beforeActionsBuilder_ == null) { - ensureBeforeActionsIsMutable(); - beforeActions_.remove(index); - onChanged(); + public Builder setWorkflowInput( + io.temporal.omes.KitchenSink.WorkflowInput.Builder builderForValue) { + if (workflowInputBuilder_ == null) { + workflowInput_ = builderForValue.build(); } else { - beforeActionsBuilder_.remove(index); + workflowInputBuilder_.setMessage(builderForValue.build()); } + bitField0_ |= 0x00000004; + onChanged(); return this; } /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder getBeforeActionsBuilder( - int index) { - return getBeforeActionsFieldBuilder().getBuilder(index); - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public io.temporal.omes.KitchenSink.ActionSetOrBuilder getBeforeActionsOrBuilder( - int index) { - if (beforeActionsBuilder_ == null) { - return beforeActions_.get(index); } else { - return beforeActionsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public java.util.List - getBeforeActionsOrBuilderList() { - if (beforeActionsBuilder_ != null) { - return beforeActionsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(beforeActions_); - } - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder addBeforeActionsBuilder() { - return getBeforeActionsFieldBuilder().addBuilder( - io.temporal.omes.KitchenSink.ActionSet.getDefaultInstance()); - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public io.temporal.omes.KitchenSink.ActionSet.Builder addBeforeActionsBuilder( - int index) { - return getBeforeActionsFieldBuilder().addBuilder( - index, io.temporal.omes.KitchenSink.ActionSet.getDefaultInstance()); - } - /** - * repeated .temporal.omes.kitchen_sink.ActionSet before_actions = 2; - */ - public java.util.List - getBeforeActionsBuilderList() { - return getBeforeActionsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder> - getBeforeActionsFieldBuilder() { - if (beforeActionsBuilder_ == null) { - beforeActionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - io.temporal.omes.KitchenSink.ActionSet, io.temporal.omes.KitchenSink.ActionSet.Builder, io.temporal.omes.KitchenSink.ActionSetOrBuilder>( - beforeActions_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - beforeActions_ = null; - } - return beforeActionsBuilder_; - } - - private java.lang.Object handlerWorkflowId_ = ""; - /** - * string handler_workflow_id = 3; - * @return The handlerWorkflowId. + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public java.lang.String getHandlerWorkflowId() { - java.lang.Object ref = handlerWorkflowId_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - handlerWorkflowId_ = s; - return s; + public Builder mergeWorkflowInput(io.temporal.omes.KitchenSink.WorkflowInput value) { + if (workflowInputBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + workflowInput_ != null && + workflowInput_ != io.temporal.omes.KitchenSink.WorkflowInput.getDefaultInstance()) { + getWorkflowInputBuilder().mergeFrom(value); + } else { + workflowInput_ = value; + } } else { - return (java.lang.String) ref; + workflowInputBuilder_.mergeFrom(value); } - } - /** - * string handler_workflow_id = 3; - * @return The bytes for handlerWorkflowId. - */ - public com.google.protobuf.ByteString - getHandlerWorkflowIdBytes() { - java.lang.Object ref = handlerWorkflowId_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - handlerWorkflowId_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + if (workflowInput_ != null) { + bitField0_ |= 0x00000004; + onChanged(); } - } - /** - * string handler_workflow_id = 3; - * @param value The handlerWorkflowId to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowId( - java.lang.String value) { - if (value == null) { throw new NullPointerException(); } - handlerWorkflowId_ = value; - bitField0_ |= 0x00000004; - onChanged(); return this; } /** - * string handler_workflow_id = 3; - * @return This builder for chaining. + *
+       * Typed input passed to the kitchenSink workflow.
+       * 
+ * + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public Builder clearHandlerWorkflowId() { - handlerWorkflowId_ = getDefaultInstance().getHandlerWorkflowId(); + public Builder clearWorkflowInput() { bitField0_ = (bitField0_ & ~0x00000004); - onChanged(); - return this; - } - /** - * string handler_workflow_id = 3; - * @param value The bytes for handlerWorkflowId to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdBytes( - com.google.protobuf.ByteString value) { - if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - handlerWorkflowId_ = value; - bitField0_ |= 0x00000004; - onChanged(); - return this; - } - - private int handlerWorkflowIdConflictPolicy_ = 0; - /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The enum numeric value on the wire for handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override public int getHandlerWorkflowIdConflictPolicyValue() { - return handlerWorkflowIdConflictPolicy_; - } - /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @param value The enum numeric value on the wire for handlerWorkflowIdConflictPolicy to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdConflictPolicyValue(int value) { - handlerWorkflowIdConflictPolicy_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return The handlerWorkflowIdConflictPolicy. - */ - @java.lang.Override - public io.temporal.api.enums.v1.WorkflowIdConflictPolicy getHandlerWorkflowIdConflictPolicy() { - io.temporal.api.enums.v1.WorkflowIdConflictPolicy result = io.temporal.api.enums.v1.WorkflowIdConflictPolicy.forNumber(handlerWorkflowIdConflictPolicy_); - return result == null ? io.temporal.api.enums.v1.WorkflowIdConflictPolicy.UNRECOGNIZED : result; - } - /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @param value The handlerWorkflowIdConflictPolicy to set. - * @return This builder for chaining. - */ - public Builder setHandlerWorkflowIdConflictPolicy(io.temporal.api.enums.v1.WorkflowIdConflictPolicy value) { - if (value == null) { - throw new NullPointerException(); + workflowInput_ = null; + if (workflowInputBuilder_ != null) { + workflowInputBuilder_.dispose(); + workflowInputBuilder_ = null; } - bitField0_ |= 0x00000008; - handlerWorkflowIdConflictPolicy_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - * @return This builder for chaining. - */ - public Builder clearHandlerWorkflowIdConflictPolicy() { - bitField0_ = (bitField0_ & ~0x00000008); - handlerWorkflowIdConflictPolicy_ = 0; onChanged(); return this; } - - private boolean waitForSignal_ ; /** *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
+       * Typed input passed to the kitchenSink workflow.
        * 
* - * bool wait_for_signal = 5; - * @return The waitForSignal. + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - @java.lang.Override - public boolean getWaitForSignal() { - return waitForSignal_; + public io.temporal.omes.KitchenSink.WorkflowInput.Builder getWorkflowInputBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getWorkflowInputFieldBuilder().getBuilder(); } /** *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
+       * Typed input passed to the kitchenSink workflow.
        * 
* - * bool wait_for_signal = 5; - * @param value The waitForSignal to set. - * @return This builder for chaining. + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public Builder setWaitForSignal(boolean value) { - - waitForSignal_ = value; - bitField0_ |= 0x00000010; - onChanged(); - return this; + public io.temporal.omes.KitchenSink.WorkflowInputOrBuilder getWorkflowInputOrBuilder() { + if (workflowInputBuilder_ != null) { + return workflowInputBuilder_.getMessageOrBuilder(); + } else { + return workflowInput_ == null ? + io.temporal.omes.KitchenSink.WorkflowInput.getDefaultInstance() : workflowInput_; + } } /** *
-       * If true, the handler workflow waits on the "unblock" signal before returning.
+       * Typed input passed to the kitchenSink workflow.
        * 
* - * bool wait_for_signal = 5; - * @return This builder for chaining. + * .temporal.omes.kitchen_sink.WorkflowInput workflow_input = 3; */ - public Builder clearWaitForSignal() { - bitField0_ = (bitField0_ & ~0x00000010); - waitForSignal_ = false; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.WorkflowInput, io.temporal.omes.KitchenSink.WorkflowInput.Builder, io.temporal.omes.KitchenSink.WorkflowInputOrBuilder> + getWorkflowInputFieldBuilder() { + if (workflowInputBuilder_ == null) { + workflowInputBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + io.temporal.omes.KitchenSink.WorkflowInput, io.temporal.omes.KitchenSink.WorkflowInput.Builder, io.temporal.omes.KitchenSink.WorkflowInputOrBuilder>( + getWorkflowInput(), + getParentForChildren(), + isClean()); + workflowInput_ = null; + } + return workflowInputBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -57574,23 +58803,23 @@ public final Builder mergeUnknownFields( } - // @@protoc_insertion_point(builder_scope:temporal.omes.kitchen_sink.NexusHandlerInput) + // @@protoc_insertion_point(builder_scope:temporal.omes.kitchen_sink.NexusWorkflowStartOptions) } - // @@protoc_insertion_point(class_scope:temporal.omes.kitchen_sink.NexusHandlerInput) - private static final io.temporal.omes.KitchenSink.NexusHandlerInput DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:temporal.omes.kitchen_sink.NexusWorkflowStartOptions) + private static final io.temporal.omes.KitchenSink.NexusWorkflowStartOptions DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new io.temporal.omes.KitchenSink.NexusHandlerInput(); + DEFAULT_INSTANCE = new io.temporal.omes.KitchenSink.NexusWorkflowStartOptions(); } - public static io.temporal.omes.KitchenSink.NexusHandlerInput getDefaultInstance() { + public static io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public NexusHandlerInput parsePartialFrom( + public NexusWorkflowStartOptions parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -57609,17 +58838,17 @@ public NexusHandlerInput parsePartialFrom( } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public io.temporal.omes.KitchenSink.NexusHandlerInput getDefaultInstanceForType() { + public io.temporal.omes.KitchenSink.NexusWorkflowStartOptions getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -58288,10 +59517,20 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_temporal_omes_kitchen_sink_ExecuteNexusOperation_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor - internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor; + internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_fieldAccessorTable; + internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_temporal_omes_kitchen_sink_AwaitPendingActions_descriptor; private static final @@ -58344,270 +59583,276 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp "tandalone_activity_operator_commands\030\010 \001" + "(\0132@.temporal.omes.kitchen_sink.DoStanda" + "loneActivityOperatorCommandsH\000B\t\n\007varian" + - "t\"R\n\032DoStandaloneNexusOperation\022\020\n\010endpo" + - "int\030\001 \001(\t\022\017\n\007service\030\002 \001(\t\022\021\n\toperation\030" + - "\003 \001(\t\"[\n\024DoStandaloneActivity\022C\n\010activit" + - "y\030\001 \001(\01321.temporal.omes.kitchen_sink.Exe" + - "cuteActivityAction\"\305\002\n$DoStandaloneActiv" + - "ityOperatorCommands\022C\n\010activity\030\001 \001(\01321." + - "temporal.omes.kitchen_sink.ExecuteActivi" + - "tyAction\022b\n\014command_type\030\002 \001(\0162L.tempora" + - "l.omes.kitchen_sink.DoStandaloneActivity" + - "OperatorCommands.CommandType\"t\n\013CommandT" + - "ype\022\034\n\030COMMAND_TYPE_UNSPECIFIED\020\000\022\026\n\022COM" + - "MAND_TYPE_PAUSE\020\001\022\026\n\022COMMAND_TYPE_RESET\020" + - "\002\022\027\n\023COMMAND_TYPE_UPDATE\020\003\"\361\002\n\010DoSignal\022" + - "Q\n\021do_signal_actions\030\001 \001(\01324.temporal.om" + - "es.kitchen_sink.DoSignal.DoSignalActions" + - "H\000\022?\n\006custom\030\002 \001(\0132-.temporal.omes.kitch" + - "en_sink.HandlerInvocationH\000\022\022\n\nwith_star" + - "t\030\003 \001(\010\032\261\001\n\017DoSignalActions\022;\n\ndo_action" + - "s\030\001 \001(\0132%.temporal.omes.kitchen_sink.Act" + - "ionSetH\000\022C\n\022do_actions_in_main\030\002 \001(\0132%.t" + - "emporal.omes.kitchen_sink.ActionSetH\000\022\021\n" + - "\tsignal_id\030\003 \001(\005B\t\n\007variantB\t\n\007variant\"\014" + - "\n\nDoDescribe\"\251\001\n\007DoQuery\0228\n\014report_state" + - "\030\001 \001(\0132 .temporal.api.common.v1.Payloads" + - "H\000\022?\n\006custom\030\002 \001(\0132-.temporal.omes.kitch" + - "en_sink.HandlerInvocationH\000\022\030\n\020failure_e" + - "xpected\030\n \001(\010B\t\n\007variant\"\307\001\n\010DoUpdate\022A\n" + - "\ndo_actions\030\001 \001(\0132+.temporal.omes.kitche" + - "n_sink.DoActionsUpdateH\000\022?\n\006custom\030\002 \001(\013" + - "2-.temporal.omes.kitchen_sink.HandlerInv" + - "ocationH\000\022\022\n\nwith_start\030\003 \001(\010\022\030\n\020failure" + - "_expected\030\n \001(\010B\t\n\007variant\"\206\001\n\017DoActions" + - "Update\022;\n\ndo_actions\030\001 \001(\0132%.temporal.om" + - "es.kitchen_sink.ActionSetH\000\022+\n\treject_me" + - "\030\002 \001(\0132\026.google.protobuf.EmptyH\000B\t\n\007vari" + - "ant\"P\n\021HandlerInvocation\022\014\n\004name\030\001 \001(\t\022-" + - "\n\004args\030\002 \003(\0132\037.temporal.api.common.v1.Pa" + - "yload\"|\n\rWorkflowState\022?\n\003kvs\030\001 \003(\01322.te" + - "mporal.omes.kitchen_sink.WorkflowState.K" + - "vsEntry\032*\n\010KvsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + - "e\030\002 \001(\t:\0028\001\"\250\001\n\rWorkflowInput\022>\n\017initial" + - "_actions\030\001 \003(\0132%.temporal.omes.kitchen_s" + - "ink.ActionSet\022\035\n\025expected_signal_count\030\002" + - " \001(\005\022\033\n\023expected_signal_ids\030\003 \003(\005\022\033\n\023rec" + - "eived_signal_ids\030\004 \003(\005\"T\n\tActionSet\0223\n\007a" + - "ctions\030\001 \003(\0132\".temporal.omes.kitchen_sin" + - "k.Action\022\022\n\nconcurrent\030\002 \001(\010\"\314\t\n\006Action\022" + - "8\n\005timer\030\001 \001(\0132\'.temporal.omes.kitchen_s" + - "ink.TimerActionH\000\022J\n\rexec_activity\030\002 \001(\013" + - "21.temporal.omes.kitchen_sink.ExecuteAct" + - "ivityActionH\000\022U\n\023exec_child_workflow\030\003 \001" + - "(\01326.temporal.omes.kitchen_sink.ExecuteC" + - "hildWorkflowActionH\000\022N\n\024await_workflow_s" + - "tate\030\004 \001(\0132..temporal.omes.kitchen_sink." + - "AwaitWorkflowStateH\000\022C\n\013send_signal\030\005 \001(" + - "\0132,.temporal.omes.kitchen_sink.SendSigna" + - "lActionH\000\022K\n\017cancel_workflow\030\006 \001(\01320.tem" + - "poral.omes.kitchen_sink.CancelWorkflowAc" + - "tionH\000\022L\n\020set_patch_marker\030\007 \001(\01320.tempo" + - "ral.omes.kitchen_sink.SetPatchMarkerActi" + - "onH\000\022\\\n\030upsert_search_attributes\030\010 \001(\01328" + + "t\"b\n\032DoStandaloneNexusOperation\022D\n\topera" + + "tion\030\001 \001(\01321.temporal.omes.kitchen_sink." + + "ExecuteNexusOperation\"[\n\024DoStandaloneAct" + + "ivity\022C\n\010activity\030\001 \001(\01321.temporal.omes." + + "kitchen_sink.ExecuteActivityAction\"\305\002\n$D" + + "oStandaloneActivityOperatorCommands\022C\n\010a" + + "ctivity\030\001 \001(\01321.temporal.omes.kitchen_si" + + "nk.ExecuteActivityAction\022b\n\014command_type" + + "\030\002 \001(\0162L.temporal.omes.kitchen_sink.DoSt" + + "andaloneActivityOperatorCommands.Command" + + "Type\"t\n\013CommandType\022\034\n\030COMMAND_TYPE_UNSP" + + "ECIFIED\020\000\022\026\n\022COMMAND_TYPE_PAUSE\020\001\022\026\n\022COM" + + "MAND_TYPE_RESET\020\002\022\027\n\023COMMAND_TYPE_UPDATE" + + "\020\003\"\361\002\n\010DoSignal\022Q\n\021do_signal_actions\030\001 \001" + + "(\01324.temporal.omes.kitchen_sink.DoSignal" + + ".DoSignalActionsH\000\022?\n\006custom\030\002 \001(\0132-.tem" + + "poral.omes.kitchen_sink.HandlerInvocatio" + + "nH\000\022\022\n\nwith_start\030\003 \001(\010\032\261\001\n\017DoSignalActi" + + "ons\022;\n\ndo_actions\030\001 \001(\0132%.temporal.omes." + + "kitchen_sink.ActionSetH\000\022C\n\022do_actions_i" + + "n_main\030\002 \001(\0132%.temporal.omes.kitchen_sin" + + "k.ActionSetH\000\022\021\n\tsignal_id\030\003 \001(\005B\t\n\007vari" + + "antB\t\n\007variant\"\014\n\nDoDescribe\"\251\001\n\007DoQuery" + + "\0228\n\014report_state\030\001 \001(\0132 .temporal.api.co" + + "mmon.v1.PayloadsH\000\022?\n\006custom\030\002 \001(\0132-.tem" + + "poral.omes.kitchen_sink.HandlerInvocatio" + + "nH\000\022\030\n\020failure_expected\030\n \001(\010B\t\n\007variant" + + "\"\307\001\n\010DoUpdate\022A\n\ndo_actions\030\001 \001(\0132+.temp" + + "oral.omes.kitchen_sink.DoActionsUpdateH\000" + + "\022?\n\006custom\030\002 \001(\0132-.temporal.omes.kitchen" + + "_sink.HandlerInvocationH\000\022\022\n\nwith_start\030" + + "\003 \001(\010\022\030\n\020failure_expected\030\n \001(\010B\t\n\007varia" + + "nt\"\206\001\n\017DoActionsUpdate\022;\n\ndo_actions\030\001 \001" + + "(\0132%.temporal.omes.kitchen_sink.ActionSe" + + "tH\000\022+\n\treject_me\030\002 \001(\0132\026.google.protobuf" + + ".EmptyH\000B\t\n\007variant\"P\n\021HandlerInvocation" + + "\022\014\n\004name\030\001 \001(\t\022-\n\004args\030\002 \003(\0132\037.temporal." + + "api.common.v1.Payload\"|\n\rWorkflowState\022?" + + "\n\003kvs\030\001 \003(\01322.temporal.omes.kitchen_sink" + + ".WorkflowState.KvsEntry\032*\n\010KvsEntry\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\250\001\n\rWorkflow" + + "Input\022>\n\017initial_actions\030\001 \003(\0132%.tempora" + + "l.omes.kitchen_sink.ActionSet\022\035\n\025expecte" + + "d_signal_count\030\002 \001(\005\022\033\n\023expected_signal_" + + "ids\030\003 \003(\005\022\033\n\023received_signal_ids\030\004 \003(\005\"T" + + "\n\tActionSet\0223\n\007actions\030\001 \003(\0132\".temporal." + + "omes.kitchen_sink.Action\022\022\n\nconcurrent\030\002" + + " \001(\010\"\314\t\n\006Action\0228\n\005timer\030\001 \001(\0132\'.tempora" + + "l.omes.kitchen_sink.TimerActionH\000\022J\n\rexe" + + "c_activity\030\002 \001(\01321.temporal.omes.kitchen" + + "_sink.ExecuteActivityActionH\000\022U\n\023exec_ch" + + "ild_workflow\030\003 \001(\01326.temporal.omes.kitch" + + "en_sink.ExecuteChildWorkflowActionH\000\022N\n\024" + + "await_workflow_state\030\004 \001(\0132..temporal.om" + + "es.kitchen_sink.AwaitWorkflowStateH\000\022C\n\013" + + "send_signal\030\005 \001(\0132,.temporal.omes.kitche" + + "n_sink.SendSignalActionH\000\022K\n\017cancel_work" + + "flow\030\006 \001(\01320.temporal.omes.kitchen_sink." + + "CancelWorkflowActionH\000\022L\n\020set_patch_mark" + + "er\030\007 \001(\01320.temporal.omes.kitchen_sink.Se" + + "tPatchMarkerActionH\000\022\\\n\030upsert_search_at" + + "tributes\030\010 \001(\01328.temporal.omes.kitchen_s" + + "ink.UpsertSearchAttributesActionH\000\022C\n\013up" + + "sert_memo\030\t \001(\0132,.temporal.omes.kitchen_" + + "sink.UpsertMemoActionH\000\022G\n\022set_workflow_" + + "state\030\n \001(\0132).temporal.omes.kitchen_sink" + + ".WorkflowStateH\000\022G\n\rreturn_result\030\013 \001(\0132" + + "..temporal.omes.kitchen_sink.ReturnResul" + + "tActionH\000\022E\n\014return_error\030\014 \001(\0132-.tempor" + + "al.omes.kitchen_sink.ReturnErrorActionH\000" + + "\022J\n\017continue_as_new\030\r \001(\0132/.temporal.ome" + + "s.kitchen_sink.ContinueAsNewActionH\000\022B\n\021" + + "nested_action_set\030\016 \001(\0132%.temporal.omes." + + "kitchen_sink.ActionSetH\000\022L\n\017nexus_operat" + + "ion\030\017 \001(\01321.temporal.omes.kitchen_sink.E" + + "xecuteNexusOperationH\000\022P\n\025await_pending_" + + "actions\030\021 \001(\0132/.temporal.omes.kitchen_si" + + "nk.AwaitPendingActionsH\000B\t\n\007variant\"\323\002\n\017" + + "AwaitableChoice\022-\n\013wait_finish\030\001 \001(\0132\026.g" + + "oogle.protobuf.EmptyH\000\022)\n\007abandon\030\002 \001(\0132" + + "\026.google.protobuf.EmptyH\000\0227\n\025cancel_befo" + + "re_started\030\003 \001(\0132\026.google.protobuf.Empty" + + "H\000\0226\n\024cancel_after_started\030\004 \001(\0132\026.googl" + + "e.protobuf.EmptyH\000\0228\n\026cancel_after_compl" + + "eted\030\005 \001(\0132\026.google.protobuf.EmptyH\000\022.\n\014" + + "wait_started\030\006 \001(\0132\026.google.protobuf.Emp" + + "tyH\000B\013\n\tcondition\"j\n\013TimerAction\022\024\n\014mill" + + "iseconds\030\001 \001(\004\022E\n\020awaitable_choice\030\002 \001(\013" + + "2+.temporal.omes.kitchen_sink.AwaitableC" + + "hoice\"\241\022\n\025ExecuteActivityAction\022T\n\007gener" + + "ic\030\001 \001(\0132A.temporal.omes.kitchen_sink.Ex" + + "ecuteActivityAction.GenericActivityH\000\022*\n" + + "\005delay\030\002 \001(\0132\031.google.protobuf.DurationH" + + "\000\022&\n\004noop\030\003 \001(\0132\026.google.protobuf.EmptyH" + + "\000\022X\n\tresources\030\016 \001(\0132C.temporal.omes.kit" + + "chen_sink.ExecuteActivityAction.Resource" + + "sActivityH\000\022T\n\007payload\030\022 \001(\0132A.temporal." + + "omes.kitchen_sink.ExecuteActivityAction." + + "PayloadActivityH\000\022R\n\006client\030\023 \001(\0132@.temp" + + "oral.omes.kitchen_sink.ExecuteActivityAc" + + "tion.ClientActivityH\000\022c\n\017retryable_error" + + "\030\024 \001(\0132H.temporal.omes.kitchen_sink.Exec" + + "uteActivityAction.RetryableErrorActivity" + + "H\000\022T\n\007timeout\030\025 \001(\0132A.temporal.omes.kitc" + + "hen_sink.ExecuteActivityAction.TimeoutAc" + + "tivityH\000\022_\n\theartbeat\030\026 \001(\0132J.temporal.o" + + "mes.kitchen_sink.ExecuteActivityAction.H" + + "eartbeatTimeoutActivityH\000\022\022\n\ntask_queue\030" + + "\004 \001(\t\022O\n\007headers\030\005 \003(\0132>.temporal.omes.k" + + "itchen_sink.ExecuteActivityAction.Header" + + "sEntry\022<\n\031schedule_to_close_timeout\030\006 \001(" + + "\0132\031.google.protobuf.Duration\022<\n\031schedule" + + "_to_start_timeout\030\007 \001(\0132\031.google.protobu" + + "f.Duration\0229\n\026start_to_close_timeout\030\010 \001" + + "(\0132\031.google.protobuf.Duration\0224\n\021heartbe" + + "at_timeout\030\t \001(\0132\031.google.protobuf.Durat" + + "ion\0229\n\014retry_policy\030\n \001(\0132#.temporal.api" + + ".common.v1.RetryPolicy\022*\n\010is_local\030\013 \001(\013" + + "2\026.google.protobuf.EmptyH\001\022C\n\006remote\030\014 \001" + + "(\01321.temporal.omes.kitchen_sink.RemoteAc" + + "tivityOptionsH\001\022E\n\020awaitable_choice\030\r \001(" + + "\0132+.temporal.omes.kitchen_sink.Awaitable" + + "Choice\0222\n\010priority\030\017 \001(\0132 .temporal.api." + + "common.v1.Priority\022\024\n\014fairness_key\030\020 \001(\t" + + "\022\027\n\017fairness_weight\030\021 \001(\002\032S\n\017GenericActi" + + "vity\022\014\n\004type\030\001 \001(\t\0222\n\targuments\030\002 \003(\0132\037." + + "temporal.api.common.v1.Payload\032\232\001\n\021Resou" + + "rcesActivity\022*\n\007run_for\030\001 \001(\0132\031.google.p" + + "rotobuf.Duration\022\031\n\021bytes_to_allocate\030\002 " + + "\001(\004\022$\n\034cpu_yield_every_n_iterations\030\003 \001(" + + "\r\022\030\n\020cpu_yield_for_ms\030\004 \001(\r\032D\n\017PayloadAc" + + "tivity\022\030\n\020bytes_to_receive\030\001 \001(\005\022\027\n\017byte" + + "s_to_return\030\002 \001(\005\032U\n\016ClientActivity\022C\n\017c" + + "lient_sequence\030\001 \001(\0132*.temporal.omes.kit" + + "chen_sink.ClientSequence\032/\n\026RetryableErr" + + "orActivity\022\025\n\rfail_attempts\030\001 \001(\005\032\222\001\n\017Ti" + + "meoutActivity\022\025\n\rfail_attempts\030\001 \001(\005\0223\n\020" + + "success_duration\030\002 \001(\0132\031.google.protobuf" + + ".Duration\0223\n\020failure_duration\030\003 \001(\0132\031.go" + + "ogle.protobuf.Duration\032\322\001\n\030HeartbeatTime" + + "outActivity\022\025\n\rfail_attempts\030\001 \001(\005\0223\n\020su" + + "ccess_duration\030\002 \001(\0132\031.google.protobuf.D" + + "uration\0223\n\020failure_duration\030\003 \001(\0132\031.goog" + + "le.protobuf.Duration\0225\n\022heartbeat_interv" + + "al\030\004 \001(\0132\031.google.protobuf.Duration\032O\n\014H" + + "eadersEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132" + + "\037.temporal.api.common.v1.Payload:\0028\001B\017\n\r" + + "activity_typeB\n\n\010locality\"\255\n\n\032ExecuteChi" + + "ldWorkflowAction\022\021\n\tnamespace\030\002 \001(\t\022\023\n\013w" + + "orkflow_id\030\003 \001(\t\022\025\n\rworkflow_type\030\004 \001(\t\022" + + "\022\n\ntask_queue\030\005 \001(\t\022.\n\005input\030\006 \003(\0132\037.tem" + + "poral.api.common.v1.Payload\022=\n\032workflow_" + + "execution_timeout\030\007 \001(\0132\031.google.protobu" + + "f.Duration\0227\n\024workflow_run_timeout\030\010 \001(\013" + + "2\031.google.protobuf.Duration\0228\n\025workflow_" + + "task_timeout\030\t \001(\0132\031.google.protobuf.Dur" + + "ation\022J\n\023parent_close_policy\030\n \001(\0162-.tem" + + "poral.omes.kitchen_sink.ParentClosePolic" + + "y\022N\n\030workflow_id_reuse_policy\030\014 \001(\0162,.te" + + "mporal.api.enums.v1.WorkflowIdReusePolic" + + "y\0229\n\014retry_policy\030\r \001(\0132#.temporal.api.c" + + "ommon.v1.RetryPolicy\022\025\n\rcron_schedule\030\016 " + + "\001(\t\022T\n\007headers\030\017 \003(\0132C.temporal.omes.kit" + + "chen_sink.ExecuteChildWorkflowAction.Hea" + + "dersEntry\022N\n\004memo\030\020 \003(\0132@.temporal.omes." + + "kitchen_sink.ExecuteChildWorkflowAction." + + "MemoEntry\022g\n\021search_attributes\030\021 \003(\0132L.t" + + "emporal.omes.kitchen_sink.ExecuteChildWo" + + "rkflowAction.SearchAttributesEntry\022T\n\021ca" + + "ncellation_type\030\022 \001(\01629.temporal.omes.ki" + + "tchen_sink.ChildWorkflowCancellationType" + + "\022G\n\021versioning_intent\030\023 \001(\0162,.temporal.o" + + "mes.kitchen_sink.VersioningIntent\022E\n\020awa" + + "itable_choice\030\024 \001(\0132+.temporal.omes.kitc" + + "hen_sink.AwaitableChoice\032O\n\014HeadersEntry" + + "\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.temporal." + + "api.common.v1.Payload:\0028\001\032L\n\tMemoEntry\022\013" + + "\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.temporal.ap" + + "i.common.v1.Payload:\0028\001\032X\n\025SearchAttribu" + + "tesEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.t" + + "emporal.api.common.v1.Payload:\0028\001\"0\n\022Awa" + + "itWorkflowState\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 " + + "\001(\t\"\337\002\n\020SendSignalAction\022\023\n\013workflow_id\030" + + "\001 \001(\t\022\016\n\006run_id\030\002 \001(\t\022\023\n\013signal_name\030\003 \001" + + "(\t\022-\n\004args\030\004 \003(\0132\037.temporal.api.common.v" + + "1.Payload\022J\n\007headers\030\005 \003(\01329.temporal.om" + + "es.kitchen_sink.SendSignalAction.Headers" + + "Entry\022E\n\020awaitable_choice\030\006 \001(\0132+.tempor" + + "al.omes.kitchen_sink.AwaitableChoice\032O\n\014" + + "HeadersEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\013" + + "2\037.temporal.api.common.v1.Payload:\0028\001\";\n" + + "\024CancelWorkflowAction\022\023\n\013workflow_id\030\001 \001" + + "(\t\022\016\n\006run_id\030\002 \001(\t\"v\n\024SetPatchMarkerActi" + + "on\022\020\n\010patch_id\030\001 \001(\t\022\022\n\ndeprecated\030\002 \001(\010" + + "\0228\n\014inner_action\030\003 \001(\0132\".temporal.omes.k" + + "itchen_sink.Action\"\343\001\n\034UpsertSearchAttri" + + "butesAction\022i\n\021search_attributes\030\001 \003(\0132N" + ".temporal.omes.kitchen_sink.UpsertSearch" + - "AttributesActionH\000\022C\n\013upsert_memo\030\t \001(\0132" + - ",.temporal.omes.kitchen_sink.UpsertMemoA" + - "ctionH\000\022G\n\022set_workflow_state\030\n \001(\0132).te" + - "mporal.omes.kitchen_sink.WorkflowStateH\000" + - "\022G\n\rreturn_result\030\013 \001(\0132..temporal.omes." + - "kitchen_sink.ReturnResultActionH\000\022E\n\014ret" + - "urn_error\030\014 \001(\0132-.temporal.omes.kitchen_" + - "sink.ReturnErrorActionH\000\022J\n\017continue_as_" + - "new\030\r \001(\0132/.temporal.omes.kitchen_sink.C" + - "ontinueAsNewActionH\000\022B\n\021nested_action_se" + - "t\030\016 \001(\0132%.temporal.omes.kitchen_sink.Act" + - "ionSetH\000\022L\n\017nexus_operation\030\017 \001(\01321.temp" + - "oral.omes.kitchen_sink.ExecuteNexusOpera" + - "tionH\000\022P\n\025await_pending_actions\030\021 \001(\0132/." + - "temporal.omes.kitchen_sink.AwaitPendingA" + - "ctionsH\000B\t\n\007variant\"\323\002\n\017AwaitableChoice\022" + - "-\n\013wait_finish\030\001 \001(\0132\026.google.protobuf.E" + - "mptyH\000\022)\n\007abandon\030\002 \001(\0132\026.google.protobu" + - "f.EmptyH\000\0227\n\025cancel_before_started\030\003 \001(\013" + - "2\026.google.protobuf.EmptyH\000\0226\n\024cancel_aft" + - "er_started\030\004 \001(\0132\026.google.protobuf.Empty" + - "H\000\0228\n\026cancel_after_completed\030\005 \001(\0132\026.goo" + - "gle.protobuf.EmptyH\000\022.\n\014wait_started\030\006 \001" + - "(\0132\026.google.protobuf.EmptyH\000B\013\n\tconditio" + - "n\"j\n\013TimerAction\022\024\n\014milliseconds\030\001 \001(\004\022E" + - "\n\020awaitable_choice\030\002 \001(\0132+.temporal.omes" + - ".kitchen_sink.AwaitableChoice\"\241\022\n\025Execut" + - "eActivityAction\022T\n\007generic\030\001 \001(\0132A.tempo" + - "ral.omes.kitchen_sink.ExecuteActivityAct" + - "ion.GenericActivityH\000\022*\n\005delay\030\002 \001(\0132\031.g" + - "oogle.protobuf.DurationH\000\022&\n\004noop\030\003 \001(\0132" + - "\026.google.protobuf.EmptyH\000\022X\n\tresources\030\016" + - " \001(\0132C.temporal.omes.kitchen_sink.Execut" + - "eActivityAction.ResourcesActivityH\000\022T\n\007p" + - "ayload\030\022 \001(\0132A.temporal.omes.kitchen_sin" + - "k.ExecuteActivityAction.PayloadActivityH" + - "\000\022R\n\006client\030\023 \001(\0132@.temporal.omes.kitche" + - "n_sink.ExecuteActivityAction.ClientActiv" + - "ityH\000\022c\n\017retryable_error\030\024 \001(\0132H.tempora" + - "l.omes.kitchen_sink.ExecuteActivityActio" + - "n.RetryableErrorActivityH\000\022T\n\007timeout\030\025 " + - "\001(\0132A.temporal.omes.kitchen_sink.Execute" + - "ActivityAction.TimeoutActivityH\000\022_\n\thear" + - "tbeat\030\026 \001(\0132J.temporal.omes.kitchen_sink" + - ".ExecuteActivityAction.HeartbeatTimeoutA" + - "ctivityH\000\022\022\n\ntask_queue\030\004 \001(\t\022O\n\007headers" + - "\030\005 \003(\0132>.temporal.omes.kitchen_sink.Exec" + - "uteActivityAction.HeadersEntry\022<\n\031schedu" + - "le_to_close_timeout\030\006 \001(\0132\031.google.proto" + - "buf.Duration\022<\n\031schedule_to_start_timeou" + - "t\030\007 \001(\0132\031.google.protobuf.Duration\0229\n\026st" + - "art_to_close_timeout\030\010 \001(\0132\031.google.prot" + - "obuf.Duration\0224\n\021heartbeat_timeout\030\t \001(\013" + - "2\031.google.protobuf.Duration\0229\n\014retry_pol" + - "icy\030\n \001(\0132#.temporal.api.common.v1.Retry" + - "Policy\022*\n\010is_local\030\013 \001(\0132\026.google.protob" + - "uf.EmptyH\001\022C\n\006remote\030\014 \001(\01321.temporal.om" + - "es.kitchen_sink.RemoteActivityOptionsH\001\022" + - "E\n\020awaitable_choice\030\r \001(\0132+.temporal.ome" + - "s.kitchen_sink.AwaitableChoice\0222\n\010priori" + - "ty\030\017 \001(\0132 .temporal.api.common.v1.Priori" + - "ty\022\024\n\014fairness_key\030\020 \001(\t\022\027\n\017fairness_wei" + - "ght\030\021 \001(\002\032S\n\017GenericActivity\022\014\n\004type\030\001 \001" + - "(\t\0222\n\targuments\030\002 \003(\0132\037.temporal.api.com" + - "mon.v1.Payload\032\232\001\n\021ResourcesActivity\022*\n\007" + - "run_for\030\001 \001(\0132\031.google.protobuf.Duration" + - "\022\031\n\021bytes_to_allocate\030\002 \001(\004\022$\n\034cpu_yield" + - "_every_n_iterations\030\003 \001(\r\022\030\n\020cpu_yield_f" + - "or_ms\030\004 \001(\r\032D\n\017PayloadActivity\022\030\n\020bytes_" + - "to_receive\030\001 \001(\005\022\027\n\017bytes_to_return\030\002 \001(" + - "\005\032U\n\016ClientActivity\022C\n\017client_sequence\030\001" + - " \001(\0132*.temporal.omes.kitchen_sink.Client" + - "Sequence\032/\n\026RetryableErrorActivity\022\025\n\rfa" + - "il_attempts\030\001 \001(\005\032\222\001\n\017TimeoutActivity\022\025\n" + - "\rfail_attempts\030\001 \001(\005\0223\n\020success_duration" + - "\030\002 \001(\0132\031.google.protobuf.Duration\0223\n\020fai" + - "lure_duration\030\003 \001(\0132\031.google.protobuf.Du" + - "ration\032\322\001\n\030HeartbeatTimeoutActivity\022\025\n\rf" + - "ail_attempts\030\001 \001(\005\0223\n\020success_duration\030\002" + - " \001(\0132\031.google.protobuf.Duration\0223\n\020failu" + - "re_duration\030\003 \001(\0132\031.google.protobuf.Dura" + - "tion\0225\n\022heartbeat_interval\030\004 \001(\0132\031.googl" + - "e.protobuf.Duration\032O\n\014HeadersEntry\022\013\n\003k" + - "ey\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.temporal.api.c" + - "ommon.v1.Payload:\0028\001B\017\n\ractivity_typeB\n\n" + - "\010locality\"\255\n\n\032ExecuteChildWorkflowAction" + - "\022\021\n\tnamespace\030\002 \001(\t\022\023\n\013workflow_id\030\003 \001(\t" + - "\022\025\n\rworkflow_type\030\004 \001(\t\022\022\n\ntask_queue\030\005 " + - "\001(\t\022.\n\005input\030\006 \003(\0132\037.temporal.api.common" + - ".v1.Payload\022=\n\032workflow_execution_timeou" + - "t\030\007 \001(\0132\031.google.protobuf.Duration\0227\n\024wo" + - "rkflow_run_timeout\030\010 \001(\0132\031.google.protob" + - "uf.Duration\0228\n\025workflow_task_timeout\030\t \001" + - "(\0132\031.google.protobuf.Duration\022J\n\023parent_" + - "close_policy\030\n \001(\0162-.temporal.omes.kitch" + - "en_sink.ParentClosePolicy\022N\n\030workflow_id" + - "_reuse_policy\030\014 \001(\0162,.temporal.api.enums" + - ".v1.WorkflowIdReusePolicy\0229\n\014retry_polic" + - "y\030\r \001(\0132#.temporal.api.common.v1.RetryPo" + - "licy\022\025\n\rcron_schedule\030\016 \001(\t\022T\n\007headers\030\017" + - " \003(\0132C.temporal.omes.kitchen_sink.Execut" + - "eChildWorkflowAction.HeadersEntry\022N\n\004mem" + - "o\030\020 \003(\0132@.temporal.omes.kitchen_sink.Exe" + - "cuteChildWorkflowAction.MemoEntry\022g\n\021sea" + - "rch_attributes\030\021 \003(\0132L.temporal.omes.kit" + - "chen_sink.ExecuteChildWorkflowAction.Sea" + - "rchAttributesEntry\022T\n\021cancellation_type\030" + - "\022 \001(\01629.temporal.omes.kitchen_sink.Child" + - "WorkflowCancellationType\022G\n\021versioning_i" + - "ntent\030\023 \001(\0162,.temporal.omes.kitchen_sink" + - ".VersioningIntent\022E\n\020awaitable_choice\030\024 " + - "\001(\0132+.temporal.omes.kitchen_sink.Awaitab" + - "leChoice\032O\n\014HeadersEntry\022\013\n\003key\030\001 \001(\t\022.\n" + - "\005value\030\002 \001(\0132\037.temporal.api.common.v1.Pa" + - "yload:\0028\001\032L\n\tMemoEntry\022\013\n\003key\030\001 \001(\t\022.\n\005v" + - "alue\030\002 \001(\0132\037.temporal.api.common.v1.Payl" + - "oad:\0028\001\032X\n\025SearchAttributesEntry\022\013\n\003key\030" + - "\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.temporal.api.comm" + - "on.v1.Payload:\0028\001\"0\n\022AwaitWorkflowState\022" + - "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\337\002\n\020SendSign" + - "alAction\022\023\n\013workflow_id\030\001 \001(\t\022\016\n\006run_id\030" + - "\002 \001(\t\022\023\n\013signal_name\030\003 \001(\t\022-\n\004args\030\004 \003(\013" + - "2\037.temporal.api.common.v1.Payload\022J\n\007hea" + - "ders\030\005 \003(\01329.temporal.omes.kitchen_sink." + - "SendSignalAction.HeadersEntry\022E\n\020awaitab" + - "le_choice\030\006 \001(\0132+.temporal.omes.kitchen_" + - "sink.AwaitableChoice\032O\n\014HeadersEntry\022\013\n\003" + - "key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.temporal.api." + - "common.v1.Payload:\0028\001\";\n\024CancelWorkflowA" + - "ction\022\023\n\013workflow_id\030\001 \001(\t\022\016\n\006run_id\030\002 \001" + - "(\t\"v\n\024SetPatchMarkerAction\022\020\n\010patch_id\030\001" + - " \001(\t\022\022\n\ndeprecated\030\002 \001(\010\0228\n\014inner_action" + - "\030\003 \001(\0132\".temporal.omes.kitchen_sink.Acti" + - "on\"\343\001\n\034UpsertSearchAttributesAction\022i\n\021s" + - "earch_attributes\030\001 \003(\0132N.temporal.omes.k" + - "itchen_sink.UpsertSearchAttributesAction" + - ".SearchAttributesEntry\032X\n\025SearchAttribut" + - "esEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.te" + - "mporal.api.common.v1.Payload:\0028\001\"G\n\020Upse" + - "rtMemoAction\0223\n\rupserted_memo\030\001 \001(\0132\034.te" + - "mporal.api.common.v1.Memo\"J\n\022ReturnResul" + - "tAction\0224\n\013return_this\030\001 \001(\0132\037.temporal." + - "api.common.v1.Payload\"F\n\021ReturnErrorActi" + - "on\0221\n\007failure\030\001 \001(\0132 .temporal.api.failu" + - "re.v1.Failure\"\336\006\n\023ContinueAsNewAction\022\025\n" + - "\rworkflow_type\030\001 \001(\t\022\022\n\ntask_queue\030\002 \001(\t" + - "\0222\n\targuments\030\003 \003(\0132\037.temporal.api.commo" + - "n.v1.Payload\0227\n\024workflow_run_timeout\030\004 \001" + - "(\0132\031.google.protobuf.Duration\0228\n\025workflo" + - "w_task_timeout\030\005 \001(\0132\031.google.protobuf.D" + - "uration\022G\n\004memo\030\006 \003(\01329.temporal.omes.ki" + - "tchen_sink.ContinueAsNewAction.MemoEntry" + - "\022M\n\007headers\030\007 \003(\0132<.temporal.omes.kitche" + - "n_sink.ContinueAsNewAction.HeadersEntry\022" + - "`\n\021search_attributes\030\010 \003(\0132E.temporal.om" + - "es.kitchen_sink.ContinueAsNewAction.Sear" + - "chAttributesEntry\0229\n\014retry_policy\030\t \001(\0132" + - "#.temporal.api.common.v1.RetryPolicy\022G\n\021" + - "versioning_intent\030\n \001(\0162,.temporal.omes." + - "kitchen_sink.VersioningIntent\032L\n\tMemoEnt" + - "ry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.tempora" + - "l.api.common.v1.Payload:\0028\001\032O\n\014HeadersEn" + - "try\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(\0132\037.tempor" + - "al.api.common.v1.Payload:\0028\001\032X\n\025SearchAt" + - "tributesEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value\030\002 \001(" + - "\0132\037.temporal.api.common.v1.Payload:\0028\001\"\321" + - "\001\n\025RemoteActivityOptions\022O\n\021cancellation" + - "_type\030\001 \001(\01624.temporal.omes.kitchen_sink" + - ".ActivityCancellationType\022\036\n\026do_not_eage" + - "rly_execute\030\002 \001(\010\022G\n\021versioning_intent\030\003" + - " \001(\0162,.temporal.omes.kitchen_sink.Versio" + - "ningIntent\"\376\002\n\025ExecuteNexusOperation\022\020\n\010" + - "endpoint\030\001 \001(\t\022\021\n\toperation\030\002 \001(\t\022\r\n\005inp" + - "ut\030\003 \001(\t\022E\n\020awaitable_choice\030\005 \001(\0132+.tem" + - "poral.omes.kitchen_sink.AwaitableChoice\022" + - "\027\n\017expected_output\030\006 \001(\t\022=\n\016before_actio" + - "ns\030\007 \003(\0132%.temporal.omes.kitchen_sink.Ac" + - "tionSet\022\033\n\023handler_workflow_id\030\010 \001(\t\022\\\n#" + - "handler_workflow_id_conflict_policy\030\t \001(" + - "\0162/.temporal.api.enums.v1.WorkflowIdConf" + - "lictPolicy\022\027\n\017wait_for_signal\030\n \001(\010\"\365\001\n\021" + - "NexusHandlerInput\022\r\n\005input\030\001 \001(\t\022=\n\016befo" + - "re_actions\030\002 \003(\0132%.temporal.omes.kitchen" + - "_sink.ActionSet\022\033\n\023handler_workflow_id\030\003" + - " \001(\t\022\\\n#handler_workflow_id_conflict_pol" + - "icy\030\004 \001(\0162/.temporal.api.enums.v1.Workfl" + - "owIdConflictPolicy\022\027\n\017wait_for_signal\030\005 " + - "\001(\010\"\025\n\023AwaitPendingActions*\244\001\n\021ParentClo" + - "sePolicy\022#\n\037PARENT_CLOSE_POLICY_UNSPECIF" + - "IED\020\000\022!\n\035PARENT_CLOSE_POLICY_TERMINATE\020\001" + - "\022\037\n\033PARENT_CLOSE_POLICY_ABANDON\020\002\022&\n\"PAR" + - "ENT_CLOSE_POLICY_REQUEST_CANCEL\020\003*@\n\020Ver" + - "sioningIntent\022\017\n\013UNSPECIFIED\020\000\022\016\n\nCOMPAT" + - "IBLE\020\001\022\013\n\007DEFAULT\020\002*\242\001\n\035ChildWorkflowCan" + - "cellationType\022\024\n\020CHILD_WF_ABANDON\020\000\022\027\n\023C" + - "HILD_WF_TRY_CANCEL\020\001\022(\n$CHILD_WF_WAIT_CA" + - "NCELLATION_COMPLETED\020\002\022(\n$CHILD_WF_WAIT_" + - "CANCELLATION_REQUESTED\020\003*X\n\030ActivityCanc" + - "ellationType\022\016\n\nTRY_CANCEL\020\000\022\037\n\033WAIT_CAN" + - "CELLATION_COMPLETED\020\001\022\013\n\007ABANDON\020\002BB\n\020io" + - ".temporal.omesZ.github.com/temporalio/om" + - "es/loadgen/kitchensinkb\006proto3" + "AttributesAction.SearchAttributesEntry\032X" + + "\n\025SearchAttributesEntry\022\013\n\003key\030\001 \001(\t\022.\n\005" + + "value\030\002 \001(\0132\037.temporal.api.common.v1.Pay" + + "load:\0028\001\"G\n\020UpsertMemoAction\0223\n\rupserted" + + "_memo\030\001 \001(\0132\034.temporal.api.common.v1.Mem" + + "o\"J\n\022ReturnResultAction\0224\n\013return_this\030\001" + + " \001(\0132\037.temporal.api.common.v1.Payload\"F\n" + + "\021ReturnErrorAction\0221\n\007failure\030\001 \001(\0132 .te" + + "mporal.api.failure.v1.Failure\"\336\006\n\023Contin" + + "ueAsNewAction\022\025\n\rworkflow_type\030\001 \001(\t\022\022\n\n" + + "task_queue\030\002 \001(\t\0222\n\targuments\030\003 \003(\0132\037.te" + + "mporal.api.common.v1.Payload\0227\n\024workflow" + + "_run_timeout\030\004 \001(\0132\031.google.protobuf.Dur" + + "ation\0228\n\025workflow_task_timeout\030\005 \001(\0132\031.g" + + "oogle.protobuf.Duration\022G\n\004memo\030\006 \003(\01329." + + "temporal.omes.kitchen_sink.ContinueAsNew" + + "Action.MemoEntry\022M\n\007headers\030\007 \003(\0132<.temp" + + "oral.omes.kitchen_sink.ContinueAsNewActi" + + "on.HeadersEntry\022`\n\021search_attributes\030\010 \003" + + "(\0132E.temporal.omes.kitchen_sink.Continue" + + "AsNewAction.SearchAttributesEntry\0229\n\014ret" + + "ry_policy\030\t \001(\0132#.temporal.api.common.v1" + + ".RetryPolicy\022G\n\021versioning_intent\030\n \001(\0162" + + ",.temporal.omes.kitchen_sink.VersioningI" + + "ntent\032L\n\tMemoEntry\022\013\n\003key\030\001 \001(\t\022.\n\005value" + + "\030\002 \001(\0132\037.temporal.api.common.v1.Payload:" + + "\0028\001\032O\n\014HeadersEntry\022\013\n\003key\030\001 \001(\t\022.\n\005valu" + + "e\030\002 \001(\0132\037.temporal.api.common.v1.Payload" + + ":\0028\001\032X\n\025SearchAttributesEntry\022\013\n\003key\030\001 \001" + + "(\t\022.\n\005value\030\002 \001(\0132\037.temporal.api.common." + + "v1.Payload:\0028\001\"\321\001\n\025RemoteActivityOptions" + + "\022O\n\021cancellation_type\030\001 \001(\01624.temporal.o" + + "mes.kitchen_sink.ActivityCancellationTyp" + + "e\022\036\n\026do_not_eagerly_execute\030\002 \001(\010\022G\n\021ver" + + "sioning_intent\030\003 \001(\0162,.temporal.omes.kit" + + "chen_sink.VersioningIntent\"\377\001\n\025ExecuteNe" + + "xusOperation\022\020\n\010endpoint\030\001 \001(\t\022\021\n\toperat" + + "ion\030\002 \001(\t\022@\n\005input\030\003 \001(\01321.temporal.omes" + + ".kitchen_sink.NexusOperationRequest\022E\n\020a" + + "waitable_choice\030\005 \001(\0132+.temporal.omes.ki" + + "tchen_sink.AwaitableChoice\0228\n\017expected_o" + + "utput\030\006 \001(\0132\037.temporal.api.common.v1.Pay" + + "load\"\312\001\n\025NexusOperationRequest\022\016\n\004echo\030\001" + + " \001(\tH\000\022J\n\017workflow_action\030\002 \001(\0132/.tempor" + + "al.omes.kitchen_sink.NexusWorkflowAction" + + "H\000\022K\n\016start_activity\030\003 \001(\01321.temporal.om" + + "es.kitchen_sink.ExecuteActivityActionH\000B" + + "\010\n\006action\"\273\001\n\023NexusWorkflowAction\022\023\n\013wor" + + "kflow_id\030\001 \001(\t\022\016\n\006run_id\030\002 \001(\t\022L\n\rstart_" + + "options\030\003 \001(\01325.temporal.omes.kitchen_si" + + "nk.NexusWorkflowStartOptions\022\'\n\005start\030\004 " + + "\001(\0132\026.google.protobuf.EmptyH\000B\010\n\006action\"" + + "\310\001\n\031NexusWorkflowStartOptions\022\022\n\ntask_qu" + + "eue\030\001 \001(\t\022T\n\033workflow_id_conflict_policy" + + "\030\002 \001(\0162/.temporal.api.enums.v1.WorkflowI" + + "dConflictPolicy\022A\n\016workflow_input\030\003 \001(\0132" + + ").temporal.omes.kitchen_sink.WorkflowInp" + + "ut\"\025\n\023AwaitPendingActions*\244\001\n\021ParentClos" + + "ePolicy\022#\n\037PARENT_CLOSE_POLICY_UNSPECIFI" + + "ED\020\000\022!\n\035PARENT_CLOSE_POLICY_TERMINATE\020\001\022" + + "\037\n\033PARENT_CLOSE_POLICY_ABANDON\020\002\022&\n\"PARE" + + "NT_CLOSE_POLICY_REQUEST_CANCEL\020\003*@\n\020Vers" + + "ioningIntent\022\017\n\013UNSPECIFIED\020\000\022\016\n\nCOMPATI" + + "BLE\020\001\022\013\n\007DEFAULT\020\002*\242\001\n\035ChildWorkflowCanc" + + "ellationType\022\024\n\020CHILD_WF_ABANDON\020\000\022\027\n\023CH" + + "ILD_WF_TRY_CANCEL\020\001\022(\n$CHILD_WF_WAIT_CAN" + + "CELLATION_COMPLETED\020\002\022(\n$CHILD_WF_WAIT_C" + + "ANCELLATION_REQUESTED\020\003*X\n\030ActivityCance" + + "llationType\022\016\n\nTRY_CANCEL\020\000\022\037\n\033WAIT_CANC" + + "ELLATION_COMPLETED\020\001\022\013\n\007ABANDON\020\002BB\n\020io." + + "temporal.omesZ.github.com/temporalio/ome" + + "s/loadgen/kitchensinkb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -58653,7 +59898,7 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp internal_static_temporal_omes_kitchen_sink_DoStandaloneNexusOperation_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_temporal_omes_kitchen_sink_DoStandaloneNexusOperation_descriptor, - new java.lang.String[] { "Endpoint", "Service", "Operation", }); + new java.lang.String[] { "Operation", }); internal_static_temporal_omes_kitchen_sink_DoStandaloneActivity_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_temporal_omes_kitchen_sink_DoStandaloneActivity_fieldAccessorTable = new @@ -58923,15 +60168,27 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp internal_static_temporal_omes_kitchen_sink_ExecuteNexusOperation_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_temporal_omes_kitchen_sink_ExecuteNexusOperation_descriptor, - new java.lang.String[] { "Endpoint", "Operation", "Input", "AwaitableChoice", "ExpectedOutput", "BeforeActions", "HandlerWorkflowId", "HandlerWorkflowIdConflictPolicy", "WaitForSignal", }); - internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor = + new java.lang.String[] { "Endpoint", "Operation", "Input", "AwaitableChoice", "ExpectedOutput", }); + internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor = getDescriptor().getMessageTypes().get(33); - internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_fieldAccessorTable = new + internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_temporal_omes_kitchen_sink_NexusHandlerInput_descriptor, - new java.lang.String[] { "Input", "BeforeActions", "HandlerWorkflowId", "HandlerWorkflowIdConflictPolicy", "WaitForSignal", }); - internal_static_temporal_omes_kitchen_sink_AwaitPendingActions_descriptor = + internal_static_temporal_omes_kitchen_sink_NexusOperationRequest_descriptor, + new java.lang.String[] { "Echo", "WorkflowAction", "StartActivity", "Action", }); + internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor = getDescriptor().getMessageTypes().get(34); + internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor, + new java.lang.String[] { "WorkflowId", "RunId", "StartOptions", "Start", "Action", }); + internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor = + getDescriptor().getMessageTypes().get(35); + internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor, + new java.lang.String[] { "TaskQueue", "WorkflowIdConflictPolicy", "WorkflowInput", }); + internal_static_temporal_omes_kitchen_sink_AwaitPendingActions_descriptor = + getDescriptor().getMessageTypes().get(36); internal_static_temporal_omes_kitchen_sink_AwaitPendingActions_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_temporal_omes_kitchen_sink_AwaitPendingActions_descriptor, diff --git a/workers/proto/kitchen_sink/kitchen_sink.proto b/workers/proto/kitchen_sink/kitchen_sink.proto index 80672fa0..3af436ef 100644 --- a/workers/proto/kitchen_sink/kitchen_sink.proto +++ b/workers/proto/kitchen_sink/kitchen_sink.proto @@ -61,9 +61,7 @@ message ClientAction { // DoStandaloneNexusOperation starts a Nexus operation outside of any workflow context using // StartNexusOperationExecution and polls for its completion with PollNexusOperationExecution. message DoStandaloneNexusOperation { - string endpoint = 1; - string service = 2; - string operation = 3; + ExecuteNexusOperation operation = 1; } // DoStandaloneActivity starts an activity outside of any workflow context using @@ -529,35 +527,48 @@ enum ActivityCancellationType { ABANDON = 2; } -// Execute a Nexus operation +// Execute a Nexus operation. message ExecuteNexusOperation { string endpoint = 1; - // Operation name to call + // Operation name on the Nexus service. string operation = 2; - // Input payload for the operation - string input = 3; + NexusOperationRequest input = 3; // How to await on the operation AwaitableChoice awaitable_choice = 5; - // Expected output for verification - string expected_output = 6; - // Actions to execute before returning from the handler workflow - repeated ActionSet before_actions = 7; - // Override the handler workflow ID (defaults to per-request random). - string handler_workflow_id = 8; - // Conflict policy when starting the handler workflow. Only applied when handler_workflow_id is set. - temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 9; - // If true, the handler workflow waits on the "unblock" signal before returning. - bool wait_for_signal = 10; -} - -// Input for the Nexus handler workflow that backs echo-sync and echo-async operations -message NexusHandlerInput { - string input = 1; - repeated ActionSet before_actions = 2; - string handler_workflow_id = 3; - temporal.api.enums.v1.WorkflowIdConflictPolicy handler_workflow_id_conflict_policy = 4; - // If true, the handler workflow waits on the "unblock" signal before returning. - bool wait_for_signal = 5; + // If set, the operation's output is compared against this value after completion. + temporal.api.common.v1.Payload expected_output = 6; +} + +// Input for the kitchen sink Nexus operation. +message NexusOperationRequest { + oneof action { + // Return this value synchronously. + string echo = 1; + // Act on a kitchenSink workflow. + NexusWorkflowAction workflow_action = 2; + // Start a standalone activity. + ExecuteActivityAction start_activity = 3; + } +} + +message NexusWorkflowAction { + string workflow_id = 1; + string run_id = 2; + // Options used when the action may start a workflow. + NexusWorkflowStartOptions start_options = 3; + oneof action { + google.protobuf.Empty start = 4; + } +} + +// Configuration for starting a kitchenSink workflow through a Nexus operation. +message NexusWorkflowStartOptions { + // Task queue. Defaults to the task queue handling the Nexus request when empty. + string task_queue = 1; + // Conflict policy when starting the workflow. + temporal.api.enums.v1.WorkflowIdConflictPolicy workflow_id_conflict_policy = 2; + // Typed input passed to the kitchenSink workflow. + WorkflowInput workflow_input = 3; } // Await completion of all actions that were started in the same workflow with diff --git a/workers/python/apps/worker/app.py b/workers/python/apps/worker/app.py index fe32f50f..3e6b52be 100644 --- a/workers/python/apps/worker/app.py +++ b/workers/python/apps/worker/app.py @@ -13,7 +13,7 @@ timeout_activity, ) from harness import App, WorkerContext, default_client_factory -from kitchen_sink import KitchenSinkWorkflow, NexusHandlerWorkflow +from kitchen_sink import KitchenSinkWorkflow from nexus_service import KitchenSinkNexusServiceHandler @@ -23,7 +23,6 @@ def build_worker(client: Client, context: WorkerContext) -> Worker: task_queue=context.task_queue, workflows=[ KitchenSinkWorkflow, - NexusHandlerWorkflow, ], activities=[ noop_activity, diff --git a/workers/python/kitchen_sink.py b/workers/python/kitchen_sink.py index 19fcb583..7cfe297f 100644 --- a/workers/python/kitchen_sink.py +++ b/workers/python/kitchen_sink.py @@ -25,7 +25,6 @@ DoSignal, ExecuteActivityAction, ExecuteNexusOperation, - NexusHandlerInput, SendSignalAction, WorkflowInput, WorkflowState, @@ -286,15 +285,6 @@ async def handle_nexus_operation( ) choice = nexus_op.awaitable_choice - op_input = NexusHandlerInput( - input=nexus_op.input, - before_actions=nexus_op.before_actions, - handler_workflow_id=nexus_op.handler_workflow_id, - handler_workflow_id_conflict_policy=nexus_op.handler_workflow_id_conflict_policy, - wait_for_signal=nexus_op.wait_for_signal, - ) - output_type = str - # Track whether the operation has started so we can wait for it op_started = False @@ -304,12 +294,12 @@ async def start_and_complete(): nonlocal op_started handle = await client.start_operation( nexus_op.operation, - op_input, - output_type=output_type, + nexus_op.input, + output_type=Payload, ) op_started = True result = await handle - if nexus_op.expected_output and result != nexus_op.expected_output: + if nexus_op.HasField("expected_output") and result != nexus_op.expected_output: raise exceptions.ApplicationError( f"expected output {nexus_op.expected_output!r}, got {result!r}" ) @@ -407,21 +397,3 @@ def convert_act_cancel_type( return temporalio.workflow.ActivityCancellationType.ABANDON else: raise NotImplementedError("Unknown cancellation type " + str(ctype)) - - -@workflow.defn -class NexusHandlerWorkflow: - _unblocked: bool = False - - @workflow.run - async def run(self, input: NexusHandlerInput) -> str: - state = KitchenSinkWorkflow() - for action_set in input.before_actions: - await state.handle_action_set(action_set) - if input.wait_for_signal: - await workflow.wait_condition(lambda: self._unblocked) - return input.input - - @workflow.signal(name="unblock") - async def unblock(self) -> None: - self._unblocked = True diff --git a/workers/python/nexus_service.py b/workers/python/nexus_service.py index 939593f9..e2a017ab 100644 --- a/workers/python/nexus_service.py +++ b/workers/python/nexus_service.py @@ -1,5 +1,6 @@ from __future__ import annotations +import json from datetime import timedelta from typing import cast @@ -7,57 +8,58 @@ import nexusrpc.handler import temporalio.common from temporalio import nexus +from temporalio.api.common.v1 import Payload -from kitchen_sink import KITCHEN_SINK_SERVICE_NAME, NexusHandlerWorkflow -from protos.kitchen_sink_pb2 import NexusHandlerInput +from kitchen_sink import KITCHEN_SINK_SERVICE_NAME, KitchenSinkWorkflow +from protos.kitchen_sink_pb2 import NexusOperationRequest, WorkflowInput @nexusrpc.service(name=KITCHEN_SINK_SERVICE_NAME) class KitchenSinkNexusService: - echo_sync: nexusrpc.Operation[NexusHandlerInput, str] = nexusrpc.Operation( - name="echo-sync" - ) - echo_async: nexusrpc.Operation[NexusHandlerInput, str] = nexusrpc.Operation( - name="echo-async" + execute: nexusrpc.Operation[NexusOperationRequest, Payload] = nexusrpc.Operation( + name="execute" ) @nexusrpc.handler.service_handler(service=KitchenSinkNexusService) class KitchenSinkNexusServiceHandler: - @nexusrpc.handler.sync_operation - async def echo_sync( - self, ctx: nexusrpc.handler.StartOperationContext, input: NexusHandlerInput - ) -> str: - if len(input.before_actions) > 0: - raise nexusrpc.HandlerError( - "before_actions not supported in echo-sync", - type=nexusrpc.HandlerErrorType.BAD_REQUEST, - ) - return input.input - - @nexus.workflow_run_operation - async def echo_async( - self, ctx: nexus.WorkflowRunOperationContext, input: NexusHandlerInput - ) -> nexus.WorkflowHandle[str]: - # If the caller specified a handler workflow ID + conflict policy, use them so - # concurrent operations can exercise USE_EXISTING callback coalescing. Otherwise - # fall back to a per-request unique ID. - if input.handler_workflow_id: - # Proto enums are ints at runtime; cast to satisfy mypy when constructing the - # SDK's typed WorkflowIDConflictPolicy enum. - policy = temporalio.common.WorkflowIDConflictPolicy( - cast(int, input.handler_workflow_id_conflict_policy) + @nexus.temporal_operation + async def execute( + self, + ctx: nexus.TemporalStartOperationContext, + client: nexus.TemporalNexusClient, + input: NexusOperationRequest, + ) -> nexus.TemporalOperationResult[Payload]: + action = input.WhichOneof("action") + if action == "echo": + return nexus.TemporalOperationResult.sync( + Payload( + metadata={"encoding": b"json/plain"}, + data=json.dumps(input.echo).encode(), + ) ) - return await ctx.start_workflow( - NexusHandlerWorkflow.run, - input, - id=input.handler_workflow_id, - id_conflict_policy=policy, - # Cap the handler so we don't leave dangling workflows if a stress run fails. - execution_timeout=timedelta(minutes=60), - ) - return await ctx.start_workflow( - NexusHandlerWorkflow.run, - input, - id=ctx.request_id, + if action == "workflow_action": + workflow_action = input.workflow_action + if workflow_action.HasField("start"): + start = workflow_action.start_options + workflow_input = ( + start.workflow_input + if start.HasField("workflow_input") + else WorkflowInput() + ) + policy = temporalio.common.WorkflowIDConflictPolicy( + cast(int, start.workflow_id_conflict_policy) + ) + return await client.start_workflow( + KitchenSinkWorkflow.run, + workflow_input, + id=workflow_action.workflow_id or ctx.request_id, + task_queue=start.task_queue or None, + id_conflict_policy=policy, + execution_timeout=timedelta(minutes=60), + ) + + raise nexusrpc.HandlerError( + "Nexus operation request has no supported action set", + type=nexusrpc.HandlerErrorType.BAD_REQUEST, ) diff --git a/workers/python/protos/kitchen_sink_pb2.py b/workers/python/protos/kitchen_sink_pb2.py index b3b3cc46..2b2ece06 100644 --- a/workers/python/protos/kitchen_sink_pb2.py +++ b/workers/python/protos/kitchen_sink_pb2.py @@ -19,7 +19,7 @@ from temporalio.api.enums.v1 import workflow_pb2 as temporal_dot_api_dot_enums_dot_v1_dot_workflow__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"R\n\x1a\x44oStandaloneNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x11\n\toperation\x18\x03 \x01(\t\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xfe\x02\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\r\n\x05input\x18\x03 \x01(\t\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x17\n\x0f\x65xpected_output\x18\x06 \x01(\t\x12=\n\x0e\x62\x65\x66ore_actions\x18\x07 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1b\n\x13handler_workflow_id\x18\x08 \x01(\t\x12\\\n#handler_workflow_id_conflict_policy\x18\t \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x17\n\x0fwait_for_signal\x18\n \x01(\x08\"\xf5\x01\n\x11NexusHandlerInput\x12\r\n\x05input\x18\x01 \x01(\t\x12=\n\x0e\x62\x65\x66ore_actions\x18\x02 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1b\n\x13handler_workflow_id\x18\x03 \x01(\t\x12\\\n#handler_workflow_id_conflict_policy\x18\x04 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x17\n\x0fwait_for_signal\x18\x05 \x01(\x08\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xbb\x01\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -47,14 +47,14 @@ _globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_options = b'8\001' _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._options = None _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_PARENTCLOSEPOLICY']._serialized_start=11509 - _globals['_PARENTCLOSEPOLICY']._serialized_end=11673 - _globals['_VERSIONINGINTENT']._serialized_start=11675 - _globals['_VERSIONINGINTENT']._serialized_end=11739 - _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_start=11742 - _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_end=11904 - _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_start=11906 - _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_end=11994 + _globals['_PARENTCLOSEPOLICY']._serialized_start=11748 + _globals['_PARENTCLOSEPOLICY']._serialized_end=11912 + _globals['_VERSIONINGINTENT']._serialized_start=11914 + _globals['_VERSIONINGINTENT']._serialized_end=11978 + _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_start=11981 + _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_end=12143 + _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_start=12145 + _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_end=12233 _globals['_TESTINPUT']._serialized_start=227 _globals['_TESTINPUT']._serialized_end=452 _globals['_CLIENTSEQUENCE']._serialized_start=454 @@ -66,101 +66,105 @@ _globals['_CLIENTACTION']._serialized_start=888 _globals['_CLIENTACTION']._serialized_end=1521 _globals['_DOSTANDALONENEXUSOPERATION']._serialized_start=1523 - _globals['_DOSTANDALONENEXUSOPERATION']._serialized_end=1605 - _globals['_DOSTANDALONEACTIVITY']._serialized_start=1607 - _globals['_DOSTANDALONEACTIVITY']._serialized_end=1698 - _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS']._serialized_start=1701 - _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS']._serialized_end=2026 - _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS_COMMANDTYPE']._serialized_start=1910 - _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS_COMMANDTYPE']._serialized_end=2026 - _globals['_DOSIGNAL']._serialized_start=2029 - _globals['_DOSIGNAL']._serialized_end=2398 - _globals['_DOSIGNAL_DOSIGNALACTIONS']._serialized_start=2210 - _globals['_DOSIGNAL_DOSIGNALACTIONS']._serialized_end=2387 - _globals['_DODESCRIBE']._serialized_start=2400 - _globals['_DODESCRIBE']._serialized_end=2412 - _globals['_DOQUERY']._serialized_start=2415 - _globals['_DOQUERY']._serialized_end=2584 - _globals['_DOUPDATE']._serialized_start=2587 - _globals['_DOUPDATE']._serialized_end=2786 - _globals['_DOACTIONSUPDATE']._serialized_start=2789 - _globals['_DOACTIONSUPDATE']._serialized_end=2923 - _globals['_HANDLERINVOCATION']._serialized_start=2925 - _globals['_HANDLERINVOCATION']._serialized_end=3005 - _globals['_WORKFLOWSTATE']._serialized_start=3007 - _globals['_WORKFLOWSTATE']._serialized_end=3131 - _globals['_WORKFLOWSTATE_KVSENTRY']._serialized_start=3089 - _globals['_WORKFLOWSTATE_KVSENTRY']._serialized_end=3131 - _globals['_WORKFLOWINPUT']._serialized_start=3134 - _globals['_WORKFLOWINPUT']._serialized_end=3302 - _globals['_ACTIONSET']._serialized_start=3304 - _globals['_ACTIONSET']._serialized_end=3388 - _globals['_ACTION']._serialized_start=3391 - _globals['_ACTION']._serialized_end=4619 - _globals['_AWAITABLECHOICE']._serialized_start=4622 - _globals['_AWAITABLECHOICE']._serialized_end=4961 - _globals['_TIMERACTION']._serialized_start=4963 - _globals['_TIMERACTION']._serialized_end=5069 - _globals['_EXECUTEACTIVITYACTION']._serialized_start=5072 - _globals['_EXECUTEACTIVITYACTION']._serialized_end=7409 - _globals['_EXECUTEACTIVITYACTION_GENERICACTIVITY']._serialized_start=6491 - _globals['_EXECUTEACTIVITYACTION_GENERICACTIVITY']._serialized_end=6574 - _globals['_EXECUTEACTIVITYACTION_RESOURCESACTIVITY']._serialized_start=6577 - _globals['_EXECUTEACTIVITYACTION_RESOURCESACTIVITY']._serialized_end=6731 - _globals['_EXECUTEACTIVITYACTION_PAYLOADACTIVITY']._serialized_start=6733 - _globals['_EXECUTEACTIVITYACTION_PAYLOADACTIVITY']._serialized_end=6801 - _globals['_EXECUTEACTIVITYACTION_CLIENTACTIVITY']._serialized_start=6803 - _globals['_EXECUTEACTIVITYACTION_CLIENTACTIVITY']._serialized_end=6888 - _globals['_EXECUTEACTIVITYACTION_RETRYABLEERRORACTIVITY']._serialized_start=6890 - _globals['_EXECUTEACTIVITYACTION_RETRYABLEERRORACTIVITY']._serialized_end=6937 - _globals['_EXECUTEACTIVITYACTION_TIMEOUTACTIVITY']._serialized_start=6940 - _globals['_EXECUTEACTIVITYACTION_TIMEOUTACTIVITY']._serialized_end=7086 - _globals['_EXECUTEACTIVITYACTION_HEARTBEATTIMEOUTACTIVITY']._serialized_start=7089 - _globals['_EXECUTEACTIVITYACTION_HEARTBEATTIMEOUTACTIVITY']._serialized_end=7299 - _globals['_EXECUTEACTIVITYACTION_HEADERSENTRY']._serialized_start=7301 - _globals['_EXECUTEACTIVITYACTION_HEADERSENTRY']._serialized_end=7380 - _globals['_EXECUTECHILDWORKFLOWACTION']._serialized_start=7412 - _globals['_EXECUTECHILDWORKFLOWACTION']._serialized_end=8737 - _globals['_EXECUTECHILDWORKFLOWACTION_HEADERSENTRY']._serialized_start=7301 - _globals['_EXECUTECHILDWORKFLOWACTION_HEADERSENTRY']._serialized_end=7380 - _globals['_EXECUTECHILDWORKFLOWACTION_MEMOENTRY']._serialized_start=8571 - _globals['_EXECUTECHILDWORKFLOWACTION_MEMOENTRY']._serialized_end=8647 - _globals['_EXECUTECHILDWORKFLOWACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8649 - _globals['_EXECUTECHILDWORKFLOWACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8737 - _globals['_AWAITWORKFLOWSTATE']._serialized_start=8739 - _globals['_AWAITWORKFLOWSTATE']._serialized_end=8787 - _globals['_SENDSIGNALACTION']._serialized_start=8790 - _globals['_SENDSIGNALACTION']._serialized_end=9141 - _globals['_SENDSIGNALACTION_HEADERSENTRY']._serialized_start=7301 - _globals['_SENDSIGNALACTION_HEADERSENTRY']._serialized_end=7380 - _globals['_CANCELWORKFLOWACTION']._serialized_start=9143 - _globals['_CANCELWORKFLOWACTION']._serialized_end=9202 - _globals['_SETPATCHMARKERACTION']._serialized_start=9204 - _globals['_SETPATCHMARKERACTION']._serialized_end=9322 - _globals['_UPSERTSEARCHATTRIBUTESACTION']._serialized_start=9325 - _globals['_UPSERTSEARCHATTRIBUTESACTION']._serialized_end=9552 - _globals['_UPSERTSEARCHATTRIBUTESACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8649 - _globals['_UPSERTSEARCHATTRIBUTESACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8737 - _globals['_UPSERTMEMOACTION']._serialized_start=9554 - _globals['_UPSERTMEMOACTION']._serialized_end=9625 - _globals['_RETURNRESULTACTION']._serialized_start=9627 - _globals['_RETURNRESULTACTION']._serialized_end=9701 - _globals['_RETURNERRORACTION']._serialized_start=9703 - _globals['_RETURNERRORACTION']._serialized_end=9773 - _globals['_CONTINUEASNEWACTION']._serialized_start=9776 - _globals['_CONTINUEASNEWACTION']._serialized_end=10638 - _globals['_CONTINUEASNEWACTION_MEMOENTRY']._serialized_start=8571 - _globals['_CONTINUEASNEWACTION_MEMOENTRY']._serialized_end=8647 - _globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_start=7301 - _globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_end=7380 - _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8649 - _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8737 - _globals['_REMOTEACTIVITYOPTIONS']._serialized_start=10641 - _globals['_REMOTEACTIVITYOPTIONS']._serialized_end=10850 - _globals['_EXECUTENEXUSOPERATION']._serialized_start=10853 - _globals['_EXECUTENEXUSOPERATION']._serialized_end=11235 - _globals['_NEXUSHANDLERINPUT']._serialized_start=11238 - _globals['_NEXUSHANDLERINPUT']._serialized_end=11483 - _globals['_AWAITPENDINGACTIONS']._serialized_start=11485 - _globals['_AWAITPENDINGACTIONS']._serialized_end=11506 + _globals['_DOSTANDALONENEXUSOPERATION']._serialized_end=1621 + _globals['_DOSTANDALONEACTIVITY']._serialized_start=1623 + _globals['_DOSTANDALONEACTIVITY']._serialized_end=1714 + _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS']._serialized_start=1717 + _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS']._serialized_end=2042 + _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS_COMMANDTYPE']._serialized_start=1926 + _globals['_DOSTANDALONEACTIVITYOPERATORCOMMANDS_COMMANDTYPE']._serialized_end=2042 + _globals['_DOSIGNAL']._serialized_start=2045 + _globals['_DOSIGNAL']._serialized_end=2414 + _globals['_DOSIGNAL_DOSIGNALACTIONS']._serialized_start=2226 + _globals['_DOSIGNAL_DOSIGNALACTIONS']._serialized_end=2403 + _globals['_DODESCRIBE']._serialized_start=2416 + _globals['_DODESCRIBE']._serialized_end=2428 + _globals['_DOQUERY']._serialized_start=2431 + _globals['_DOQUERY']._serialized_end=2600 + _globals['_DOUPDATE']._serialized_start=2603 + _globals['_DOUPDATE']._serialized_end=2802 + _globals['_DOACTIONSUPDATE']._serialized_start=2805 + _globals['_DOACTIONSUPDATE']._serialized_end=2939 + _globals['_HANDLERINVOCATION']._serialized_start=2941 + _globals['_HANDLERINVOCATION']._serialized_end=3021 + _globals['_WORKFLOWSTATE']._serialized_start=3023 + _globals['_WORKFLOWSTATE']._serialized_end=3147 + _globals['_WORKFLOWSTATE_KVSENTRY']._serialized_start=3105 + _globals['_WORKFLOWSTATE_KVSENTRY']._serialized_end=3147 + _globals['_WORKFLOWINPUT']._serialized_start=3150 + _globals['_WORKFLOWINPUT']._serialized_end=3318 + _globals['_ACTIONSET']._serialized_start=3320 + _globals['_ACTIONSET']._serialized_end=3404 + _globals['_ACTION']._serialized_start=3407 + _globals['_ACTION']._serialized_end=4635 + _globals['_AWAITABLECHOICE']._serialized_start=4638 + _globals['_AWAITABLECHOICE']._serialized_end=4977 + _globals['_TIMERACTION']._serialized_start=4979 + _globals['_TIMERACTION']._serialized_end=5085 + _globals['_EXECUTEACTIVITYACTION']._serialized_start=5088 + _globals['_EXECUTEACTIVITYACTION']._serialized_end=7425 + _globals['_EXECUTEACTIVITYACTION_GENERICACTIVITY']._serialized_start=6507 + _globals['_EXECUTEACTIVITYACTION_GENERICACTIVITY']._serialized_end=6590 + _globals['_EXECUTEACTIVITYACTION_RESOURCESACTIVITY']._serialized_start=6593 + _globals['_EXECUTEACTIVITYACTION_RESOURCESACTIVITY']._serialized_end=6747 + _globals['_EXECUTEACTIVITYACTION_PAYLOADACTIVITY']._serialized_start=6749 + _globals['_EXECUTEACTIVITYACTION_PAYLOADACTIVITY']._serialized_end=6817 + _globals['_EXECUTEACTIVITYACTION_CLIENTACTIVITY']._serialized_start=6819 + _globals['_EXECUTEACTIVITYACTION_CLIENTACTIVITY']._serialized_end=6904 + _globals['_EXECUTEACTIVITYACTION_RETRYABLEERRORACTIVITY']._serialized_start=6906 + _globals['_EXECUTEACTIVITYACTION_RETRYABLEERRORACTIVITY']._serialized_end=6953 + _globals['_EXECUTEACTIVITYACTION_TIMEOUTACTIVITY']._serialized_start=6956 + _globals['_EXECUTEACTIVITYACTION_TIMEOUTACTIVITY']._serialized_end=7102 + _globals['_EXECUTEACTIVITYACTION_HEARTBEATTIMEOUTACTIVITY']._serialized_start=7105 + _globals['_EXECUTEACTIVITYACTION_HEARTBEATTIMEOUTACTIVITY']._serialized_end=7315 + _globals['_EXECUTEACTIVITYACTION_HEADERSENTRY']._serialized_start=7317 + _globals['_EXECUTEACTIVITYACTION_HEADERSENTRY']._serialized_end=7396 + _globals['_EXECUTECHILDWORKFLOWACTION']._serialized_start=7428 + _globals['_EXECUTECHILDWORKFLOWACTION']._serialized_end=8753 + _globals['_EXECUTECHILDWORKFLOWACTION_HEADERSENTRY']._serialized_start=7317 + _globals['_EXECUTECHILDWORKFLOWACTION_HEADERSENTRY']._serialized_end=7396 + _globals['_EXECUTECHILDWORKFLOWACTION_MEMOENTRY']._serialized_start=8587 + _globals['_EXECUTECHILDWORKFLOWACTION_MEMOENTRY']._serialized_end=8663 + _globals['_EXECUTECHILDWORKFLOWACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8665 + _globals['_EXECUTECHILDWORKFLOWACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8753 + _globals['_AWAITWORKFLOWSTATE']._serialized_start=8755 + _globals['_AWAITWORKFLOWSTATE']._serialized_end=8803 + _globals['_SENDSIGNALACTION']._serialized_start=8806 + _globals['_SENDSIGNALACTION']._serialized_end=9157 + _globals['_SENDSIGNALACTION_HEADERSENTRY']._serialized_start=7317 + _globals['_SENDSIGNALACTION_HEADERSENTRY']._serialized_end=7396 + _globals['_CANCELWORKFLOWACTION']._serialized_start=9159 + _globals['_CANCELWORKFLOWACTION']._serialized_end=9218 + _globals['_SETPATCHMARKERACTION']._serialized_start=9220 + _globals['_SETPATCHMARKERACTION']._serialized_end=9338 + _globals['_UPSERTSEARCHATTRIBUTESACTION']._serialized_start=9341 + _globals['_UPSERTSEARCHATTRIBUTESACTION']._serialized_end=9568 + _globals['_UPSERTSEARCHATTRIBUTESACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8665 + _globals['_UPSERTSEARCHATTRIBUTESACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8753 + _globals['_UPSERTMEMOACTION']._serialized_start=9570 + _globals['_UPSERTMEMOACTION']._serialized_end=9641 + _globals['_RETURNRESULTACTION']._serialized_start=9643 + _globals['_RETURNRESULTACTION']._serialized_end=9717 + _globals['_RETURNERRORACTION']._serialized_start=9719 + _globals['_RETURNERRORACTION']._serialized_end=9789 + _globals['_CONTINUEASNEWACTION']._serialized_start=9792 + _globals['_CONTINUEASNEWACTION']._serialized_end=10654 + _globals['_CONTINUEASNEWACTION_MEMOENTRY']._serialized_start=8587 + _globals['_CONTINUEASNEWACTION_MEMOENTRY']._serialized_end=8663 + _globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_start=7317 + _globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_end=7396 + _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_start=8665 + _globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_end=8753 + _globals['_REMOTEACTIVITYOPTIONS']._serialized_start=10657 + _globals['_REMOTEACTIVITYOPTIONS']._serialized_end=10866 + _globals['_EXECUTENEXUSOPERATION']._serialized_start=10869 + _globals['_EXECUTENEXUSOPERATION']._serialized_end=11124 + _globals['_NEXUSOPERATIONREQUEST']._serialized_start=11127 + _globals['_NEXUSOPERATIONREQUEST']._serialized_end=11329 + _globals['_NEXUSWORKFLOWACTION']._serialized_start=11332 + _globals['_NEXUSWORKFLOWACTION']._serialized_end=11519 + _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_start=11522 + _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_end=11722 + _globals['_AWAITPENDINGACTIONS']._serialized_start=11724 + _globals['_AWAITPENDINGACTIONS']._serialized_end=11745 # @@protoc_insertion_point(module_scope) diff --git a/workers/python/protos/kitchen_sink_pb2.pyi b/workers/python/protos/kitchen_sink_pb2.pyi index 690d64f0..771c62a4 100644 --- a/workers/python/protos/kitchen_sink_pb2.pyi +++ b/workers/python/protos/kitchen_sink_pb2.pyi @@ -108,14 +108,10 @@ class ClientAction(_message.Message): def __init__(self, do_signal: _Optional[_Union[DoSignal, _Mapping]] = ..., do_query: _Optional[_Union[DoQuery, _Mapping]] = ..., do_update: _Optional[_Union[DoUpdate, _Mapping]] = ..., nested_actions: _Optional[_Union[ClientActionSet, _Mapping]] = ..., do_describe: _Optional[_Union[DoDescribe, _Mapping]] = ..., do_standalone_nexus_operation: _Optional[_Union[DoStandaloneNexusOperation, _Mapping]] = ..., do_standalone_activity: _Optional[_Union[DoStandaloneActivity, _Mapping]] = ..., do_standalone_activity_operator_commands: _Optional[_Union[DoStandaloneActivityOperatorCommands, _Mapping]] = ...) -> None: ... class DoStandaloneNexusOperation(_message.Message): - __slots__ = ("endpoint", "service", "operation") - ENDPOINT_FIELD_NUMBER: _ClassVar[int] - SERVICE_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("operation",) OPERATION_FIELD_NUMBER: _ClassVar[int] - endpoint: str - service: str - operation: str - def __init__(self, endpoint: _Optional[str] = ..., service: _Optional[str] = ..., operation: _Optional[str] = ...) -> None: ... + operation: ExecuteNexusOperation + def __init__(self, operation: _Optional[_Union[ExecuteNexusOperation, _Mapping]] = ...) -> None: ... class DoStandaloneActivity(_message.Message): __slots__ = ("activity",) @@ -602,40 +598,50 @@ class RemoteActivityOptions(_message.Message): def __init__(self, cancellation_type: _Optional[_Union[ActivityCancellationType, str]] = ..., do_not_eagerly_execute: bool = ..., versioning_intent: _Optional[_Union[VersioningIntent, str]] = ...) -> None: ... class ExecuteNexusOperation(_message.Message): - __slots__ = ("endpoint", "operation", "input", "awaitable_choice", "expected_output", "before_actions", "handler_workflow_id", "handler_workflow_id_conflict_policy", "wait_for_signal") + __slots__ = ("endpoint", "operation", "input", "awaitable_choice", "expected_output") ENDPOINT_FIELD_NUMBER: _ClassVar[int] OPERATION_FIELD_NUMBER: _ClassVar[int] INPUT_FIELD_NUMBER: _ClassVar[int] AWAITABLE_CHOICE_FIELD_NUMBER: _ClassVar[int] EXPECTED_OUTPUT_FIELD_NUMBER: _ClassVar[int] - BEFORE_ACTIONS_FIELD_NUMBER: _ClassVar[int] - HANDLER_WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] - HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER: _ClassVar[int] - WAIT_FOR_SIGNAL_FIELD_NUMBER: _ClassVar[int] endpoint: str operation: str - input: str + input: NexusOperationRequest awaitable_choice: AwaitableChoice - expected_output: str - before_actions: _containers.RepeatedCompositeFieldContainer[ActionSet] - handler_workflow_id: str - handler_workflow_id_conflict_policy: _workflow_pb2.WorkflowIdConflictPolicy - wait_for_signal: bool - def __init__(self, endpoint: _Optional[str] = ..., operation: _Optional[str] = ..., input: _Optional[str] = ..., awaitable_choice: _Optional[_Union[AwaitableChoice, _Mapping]] = ..., expected_output: _Optional[str] = ..., before_actions: _Optional[_Iterable[_Union[ActionSet, _Mapping]]] = ..., handler_workflow_id: _Optional[str] = ..., handler_workflow_id_conflict_policy: _Optional[_Union[_workflow_pb2.WorkflowIdConflictPolicy, str]] = ..., wait_for_signal: bool = ...) -> None: ... - -class NexusHandlerInput(_message.Message): - __slots__ = ("input", "before_actions", "handler_workflow_id", "handler_workflow_id_conflict_policy", "wait_for_signal") - INPUT_FIELD_NUMBER: _ClassVar[int] - BEFORE_ACTIONS_FIELD_NUMBER: _ClassVar[int] - HANDLER_WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] - HANDLER_WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER: _ClassVar[int] - WAIT_FOR_SIGNAL_FIELD_NUMBER: _ClassVar[int] - input: str - before_actions: _containers.RepeatedCompositeFieldContainer[ActionSet] - handler_workflow_id: str - handler_workflow_id_conflict_policy: _workflow_pb2.WorkflowIdConflictPolicy - wait_for_signal: bool - def __init__(self, input: _Optional[str] = ..., before_actions: _Optional[_Iterable[_Union[ActionSet, _Mapping]]] = ..., handler_workflow_id: _Optional[str] = ..., handler_workflow_id_conflict_policy: _Optional[_Union[_workflow_pb2.WorkflowIdConflictPolicy, str]] = ..., wait_for_signal: bool = ...) -> None: ... + expected_output: _message_pb2.Payload + def __init__(self, endpoint: _Optional[str] = ..., operation: _Optional[str] = ..., input: _Optional[_Union[NexusOperationRequest, _Mapping]] = ..., awaitable_choice: _Optional[_Union[AwaitableChoice, _Mapping]] = ..., expected_output: _Optional[_Union[_message_pb2.Payload, _Mapping]] = ...) -> None: ... + +class NexusOperationRequest(_message.Message): + __slots__ = ("echo", "workflow_action", "start_activity") + ECHO_FIELD_NUMBER: _ClassVar[int] + WORKFLOW_ACTION_FIELD_NUMBER: _ClassVar[int] + START_ACTIVITY_FIELD_NUMBER: _ClassVar[int] + echo: str + workflow_action: NexusWorkflowAction + start_activity: ExecuteActivityAction + def __init__(self, echo: _Optional[str] = ..., workflow_action: _Optional[_Union[NexusWorkflowAction, _Mapping]] = ..., start_activity: _Optional[_Union[ExecuteActivityAction, _Mapping]] = ...) -> None: ... + +class NexusWorkflowAction(_message.Message): + __slots__ = ("workflow_id", "run_id", "start_options", "start") + WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int] + RUN_ID_FIELD_NUMBER: _ClassVar[int] + START_OPTIONS_FIELD_NUMBER: _ClassVar[int] + START_FIELD_NUMBER: _ClassVar[int] + workflow_id: str + run_id: str + start_options: NexusWorkflowStartOptions + start: _empty_pb2.Empty + def __init__(self, workflow_id: _Optional[str] = ..., run_id: _Optional[str] = ..., start_options: _Optional[_Union[NexusWorkflowStartOptions, _Mapping]] = ..., start: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ...) -> None: ... + +class NexusWorkflowStartOptions(_message.Message): + __slots__ = ("task_queue", "workflow_id_conflict_policy", "workflow_input") + TASK_QUEUE_FIELD_NUMBER: _ClassVar[int] + WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER: _ClassVar[int] + WORKFLOW_INPUT_FIELD_NUMBER: _ClassVar[int] + task_queue: str + workflow_id_conflict_policy: _workflow_pb2.WorkflowIdConflictPolicy + workflow_input: WorkflowInput + def __init__(self, task_queue: _Optional[str] = ..., workflow_id_conflict_policy: _Optional[_Union[_workflow_pb2.WorkflowIdConflictPolicy, str]] = ..., workflow_input: _Optional[_Union[WorkflowInput, _Mapping]] = ...) -> None: ... class AwaitPendingActions(_message.Message): __slots__ = () diff --git a/workers/ruby/protos/kitchen_sink_pb.rb b/workers/ruby/protos/kitchen_sink_pb.rb index 7f9cc17c..9acaa001 100644 --- a/workers/ruby/protos/kitchen_sink_pb.rb +++ b/workers/ruby/protos/kitchen_sink_pb.rb @@ -11,7 +11,7 @@ require 'temporalio/api/enums/v1/workflow' -descriptor_data = "\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"R\n\x1a\x44oStandaloneNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x11\n\toperation\x18\x03 \x01(\t\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xfe\x02\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\r\n\x05input\x18\x03 \x01(\t\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x17\n\x0f\x65xpected_output\x18\x06 \x01(\t\x12=\n\x0e\x62\x65\x66ore_actions\x18\x07 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1b\n\x13handler_workflow_id\x18\x08 \x01(\t\x12\\\n#handler_workflow_id_conflict_policy\x18\t \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x17\n\x0fwait_for_signal\x18\n \x01(\x08\"\xf5\x01\n\x11NexusHandlerInput\x12\r\n\x05input\x18\x01 \x01(\t\x12=\n\x0e\x62\x65\x66ore_actions\x18\x02 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1b\n\x13handler_workflow_id\x18\x03 \x01(\t\x12\\\n#handler_workflow_id_conflict_policy\x18\x04 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x17\n\x0fwait_for_signal\x18\x05 \x01(\x08\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3" +descriptor_data = "\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xbb\x01\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -86,7 +86,9 @@ module KitchenSink ContinueAsNewAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.ContinueAsNewAction").msgclass RemoteActivityOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.RemoteActivityOptions").msgclass ExecuteNexusOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.ExecuteNexusOperation").msgclass - NexusHandlerInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.NexusHandlerInput").msgclass + NexusOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.NexusOperationRequest").msgclass + NexusWorkflowAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.NexusWorkflowAction").msgclass + NexusWorkflowStartOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.NexusWorkflowStartOptions").msgclass AwaitPendingActions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.AwaitPendingActions").msgclass ParentClosePolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.ParentClosePolicy").enummodule VersioningIntent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("temporal.omes.kitchen_sink.VersioningIntent").enummodule