From 430d3a90a504e32f00e4522f9762965399b0b5a7 Mon Sep 17 00:00:00 2001 From: Alex Shtin Date: Wed, 25 Jan 2023 14:18:46 -0800 Subject: [PATCH] Messages protocol implementation (#3843) --- api/historyservice/v1/request_response.pb.go | 818 ++++++++++-------- api/matchingservice/v1/request_response.pb.go | 410 +++++---- common/util.go | 32 +- .../historyservice/v1/request_response.proto | 2 + .../matchingservice/v1/request_response.proto | 2 + service/frontend/workflow_handler.go | 1 + service/history/commandChecker.go | 9 + service/history/workflowTaskHandler.go | 26 + .../history/workflowTaskHandlerCallbacks.go | 44 +- tests/integration_test.go | 21 + tests/integrationbase.go | 2 +- tests/taskpoller.go | 66 +- tests/workflow_buffered_events_test.go | 4 +- tests/workflow_test.go | 2 +- 14 files changed, 856 insertions(+), 583 deletions(-) diff --git a/api/historyservice/v1/request_response.pb.go b/api/historyservice/v1/request_response.pb.go index a6588e6d200..0cae5347722 100644 --- a/api/historyservice/v1/request_response.pb.go +++ b/api/historyservice/v1/request_response.pb.go @@ -45,18 +45,19 @@ import ( v14 "go.temporal.io/api/common/v1" v12 "go.temporal.io/api/enums/v1" v13 "go.temporal.io/api/failure/v1" - v110 "go.temporal.io/api/history/v1" + v111 "go.temporal.io/api/history/v1" + v110 "go.temporal.io/api/protocol/v1" v19 "go.temporal.io/api/query/v1" v16 "go.temporal.io/api/taskqueue/v1" - v111 "go.temporal.io/api/workflow/v1" + v112 "go.temporal.io/api/workflow/v1" v1 "go.temporal.io/api/workflowservice/v1" - v115 "go.temporal.io/server/api/adminservice/v1" + v116 "go.temporal.io/server/api/adminservice/v1" v15 "go.temporal.io/server/api/clock/v1" v17 "go.temporal.io/server/api/enums/v1" v18 "go.temporal.io/server/api/history/v1" - v113 "go.temporal.io/server/api/namespace/v1" - v112 "go.temporal.io/server/api/persistence/v1" - v114 "go.temporal.io/server/api/replication/v1" + v114 "go.temporal.io/server/api/namespace/v1" + v113 "go.temporal.io/server/api/persistence/v1" + v115 "go.temporal.io/server/api/replication/v1" v11 "go.temporal.io/server/api/workflow/v1" ) @@ -863,6 +864,7 @@ type RecordWorkflowTaskStartedResponse struct { StartedTime *time.Time `protobuf:"bytes,13,opt,name=started_time,json=startedTime,proto3,stdtime" json:"started_time,omitempty"` Queries map[string]*v19.WorkflowQuery `protobuf:"bytes,14,rep,name=queries,proto3" json:"queries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Clock *v15.VectorClock `protobuf:"bytes,15,opt,name=clock,proto3" json:"clock,omitempty"` + Messages []*v110.Message `protobuf:"bytes,16,rep,name=messages,proto3" json:"messages,omitempty"` } func (m *RecordWorkflowTaskStartedResponse) Reset() { *m = RecordWorkflowTaskStartedResponse{} } @@ -995,6 +997,13 @@ func (m *RecordWorkflowTaskStartedResponse) GetClock() *v15.VectorClock { return nil } +func (m *RecordWorkflowTaskStartedResponse) GetMessages() []*v110.Message { + if m != nil { + return m.Messages + } + return nil +} + type RecordActivityTaskStartedRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` WorkflowExecution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` @@ -1088,7 +1097,7 @@ func (m *RecordActivityTaskStartedRequest) GetClock() *v15.VectorClock { } type RecordActivityTaskStartedResponse struct { - ScheduledEvent *v110.HistoryEvent `protobuf:"bytes,1,opt,name=scheduled_event,json=scheduledEvent,proto3" json:"scheduled_event,omitempty"` + ScheduledEvent *v111.HistoryEvent `protobuf:"bytes,1,opt,name=scheduled_event,json=scheduledEvent,proto3" json:"scheduled_event,omitempty"` StartedTime *time.Time `protobuf:"bytes,2,opt,name=started_time,json=startedTime,proto3,stdtime" json:"started_time,omitempty"` Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` CurrentAttemptScheduledTime *time.Time `protobuf:"bytes,4,opt,name=current_attempt_scheduled_time,json=currentAttemptScheduledTime,proto3,stdtime" json:"current_attempt_scheduled_time,omitempty"` @@ -1130,7 +1139,7 @@ func (m *RecordActivityTaskStartedResponse) XXX_DiscardUnknown() { var xxx_messageInfo_RecordActivityTaskStartedResponse proto.InternalMessageInfo -func (m *RecordActivityTaskStartedResponse) GetScheduledEvent() *v110.HistoryEvent { +func (m *RecordActivityTaskStartedResponse) GetScheduledEvent() *v111.HistoryEvent { if m != nil { return m.ScheduledEvent } @@ -2643,7 +2652,7 @@ type RecordChildExecutionCompletedRequest struct { WorkflowExecution *v14.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` ParentInitiatedId int64 `protobuf:"varint,3,opt,name=parent_initiated_id,json=parentInitiatedId,proto3" json:"parent_initiated_id,omitempty"` CompletedExecution *v14.WorkflowExecution `protobuf:"bytes,4,opt,name=completed_execution,json=completedExecution,proto3" json:"completed_execution,omitempty"` - CompletionEvent *v110.HistoryEvent `protobuf:"bytes,5,opt,name=completion_event,json=completionEvent,proto3" json:"completion_event,omitempty"` + CompletionEvent *v111.HistoryEvent `protobuf:"bytes,5,opt,name=completion_event,json=completionEvent,proto3" json:"completion_event,omitempty"` Clock *v15.VectorClock `protobuf:"bytes,6,opt,name=clock,proto3" json:"clock,omitempty"` ParentInitiatedVersion int64 `protobuf:"varint,7,opt,name=parent_initiated_version,json=parentInitiatedVersion,proto3" json:"parent_initiated_version,omitempty"` } @@ -2708,7 +2717,7 @@ func (m *RecordChildExecutionCompletedRequest) GetCompletedExecution() *v14.Work return nil } -func (m *RecordChildExecutionCompletedRequest) GetCompletionEvent() *v110.HistoryEvent { +func (m *RecordChildExecutionCompletedRequest) GetCompletionEvent() *v111.HistoryEvent { if m != nil { return m.CompletionEvent } @@ -2938,11 +2947,11 @@ func (m *DescribeWorkflowExecutionRequest) GetRequest() *v1.DescribeWorkflowExec } type DescribeWorkflowExecutionResponse struct { - ExecutionConfig *v111.WorkflowExecutionConfig `protobuf:"bytes,1,opt,name=execution_config,json=executionConfig,proto3" json:"execution_config,omitempty"` - WorkflowExecutionInfo *v111.WorkflowExecutionInfo `protobuf:"bytes,2,opt,name=workflow_execution_info,json=workflowExecutionInfo,proto3" json:"workflow_execution_info,omitempty"` - PendingActivities []*v111.PendingActivityInfo `protobuf:"bytes,3,rep,name=pending_activities,json=pendingActivities,proto3" json:"pending_activities,omitempty"` - PendingChildren []*v111.PendingChildExecutionInfo `protobuf:"bytes,4,rep,name=pending_children,json=pendingChildren,proto3" json:"pending_children,omitempty"` - PendingWorkflowTask *v111.PendingWorkflowTaskInfo `protobuf:"bytes,5,opt,name=pending_workflow_task,json=pendingWorkflowTask,proto3" json:"pending_workflow_task,omitempty"` + ExecutionConfig *v112.WorkflowExecutionConfig `protobuf:"bytes,1,opt,name=execution_config,json=executionConfig,proto3" json:"execution_config,omitempty"` + WorkflowExecutionInfo *v112.WorkflowExecutionInfo `protobuf:"bytes,2,opt,name=workflow_execution_info,json=workflowExecutionInfo,proto3" json:"workflow_execution_info,omitempty"` + PendingActivities []*v112.PendingActivityInfo `protobuf:"bytes,3,rep,name=pending_activities,json=pendingActivities,proto3" json:"pending_activities,omitempty"` + PendingChildren []*v112.PendingChildExecutionInfo `protobuf:"bytes,4,rep,name=pending_children,json=pendingChildren,proto3" json:"pending_children,omitempty"` + PendingWorkflowTask *v112.PendingWorkflowTaskInfo `protobuf:"bytes,5,opt,name=pending_workflow_task,json=pendingWorkflowTask,proto3" json:"pending_workflow_task,omitempty"` } func (m *DescribeWorkflowExecutionResponse) Reset() { *m = DescribeWorkflowExecutionResponse{} } @@ -2977,35 +2986,35 @@ func (m *DescribeWorkflowExecutionResponse) XXX_DiscardUnknown() { var xxx_messageInfo_DescribeWorkflowExecutionResponse proto.InternalMessageInfo -func (m *DescribeWorkflowExecutionResponse) GetExecutionConfig() *v111.WorkflowExecutionConfig { +func (m *DescribeWorkflowExecutionResponse) GetExecutionConfig() *v112.WorkflowExecutionConfig { if m != nil { return m.ExecutionConfig } return nil } -func (m *DescribeWorkflowExecutionResponse) GetWorkflowExecutionInfo() *v111.WorkflowExecutionInfo { +func (m *DescribeWorkflowExecutionResponse) GetWorkflowExecutionInfo() *v112.WorkflowExecutionInfo { if m != nil { return m.WorkflowExecutionInfo } return nil } -func (m *DescribeWorkflowExecutionResponse) GetPendingActivities() []*v111.PendingActivityInfo { +func (m *DescribeWorkflowExecutionResponse) GetPendingActivities() []*v112.PendingActivityInfo { if m != nil { return m.PendingActivities } return nil } -func (m *DescribeWorkflowExecutionResponse) GetPendingChildren() []*v111.PendingChildExecutionInfo { +func (m *DescribeWorkflowExecutionResponse) GetPendingChildren() []*v112.PendingChildExecutionInfo { if m != nil { return m.PendingChildren } return nil } -func (m *DescribeWorkflowExecutionResponse) GetPendingWorkflowTask() *v111.PendingWorkflowTaskInfo { +func (m *DescribeWorkflowExecutionResponse) GetPendingWorkflowTask() *v112.PendingWorkflowTaskInfo { if m != nil { return m.PendingWorkflowTask } @@ -3124,7 +3133,7 @@ func (m *ReplicateEventsV2Response) XXX_DiscardUnknown() { var xxx_messageInfo_ReplicateEventsV2Response proto.InternalMessageInfo type ReplicateWorkflowStateRequest struct { - WorkflowState *v112.WorkflowMutableState `protobuf:"bytes,1,opt,name=workflow_state,json=workflowState,proto3" json:"workflow_state,omitempty"` + WorkflowState *v113.WorkflowMutableState `protobuf:"bytes,1,opt,name=workflow_state,json=workflowState,proto3" json:"workflow_state,omitempty"` RemoteCluster string `protobuf:"bytes,2,opt,name=remote_cluster,json=remoteCluster,proto3" json:"remote_cluster,omitempty"` NamespaceId string `protobuf:"bytes,3,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` } @@ -3161,7 +3170,7 @@ func (m *ReplicateWorkflowStateRequest) XXX_DiscardUnknown() { var xxx_messageInfo_ReplicateWorkflowStateRequest proto.InternalMessageInfo -func (m *ReplicateWorkflowStateRequest) GetWorkflowState() *v112.WorkflowMutableState { +func (m *ReplicateWorkflowStateRequest) GetWorkflowState() *v113.WorkflowMutableState { if m != nil { return m.WorkflowState } @@ -3545,8 +3554,8 @@ func (m *DescribeMutableStateRequest) GetExecution() *v14.WorkflowExecution { } type DescribeMutableStateResponse struct { - CacheMutableState *v112.WorkflowMutableState `protobuf:"bytes,1,opt,name=cache_mutable_state,json=cacheMutableState,proto3" json:"cache_mutable_state,omitempty"` - DatabaseMutableState *v112.WorkflowMutableState `protobuf:"bytes,2,opt,name=database_mutable_state,json=databaseMutableState,proto3" json:"database_mutable_state,omitempty"` + CacheMutableState *v113.WorkflowMutableState `protobuf:"bytes,1,opt,name=cache_mutable_state,json=cacheMutableState,proto3" json:"cache_mutable_state,omitempty"` + DatabaseMutableState *v113.WorkflowMutableState `protobuf:"bytes,2,opt,name=database_mutable_state,json=databaseMutableState,proto3" json:"database_mutable_state,omitempty"` } func (m *DescribeMutableStateResponse) Reset() { *m = DescribeMutableStateResponse{} } @@ -3581,14 +3590,14 @@ func (m *DescribeMutableStateResponse) XXX_DiscardUnknown() { var xxx_messageInfo_DescribeMutableStateResponse proto.InternalMessageInfo -func (m *DescribeMutableStateResponse) GetCacheMutableState() *v112.WorkflowMutableState { +func (m *DescribeMutableStateResponse) GetCacheMutableState() *v113.WorkflowMutableState { if m != nil { return m.CacheMutableState } return nil } -func (m *DescribeMutableStateResponse) GetDatabaseMutableState() *v112.WorkflowMutableState { +func (m *DescribeMutableStateResponse) GetDatabaseMutableState() *v113.WorkflowMutableState { if m != nil { return m.DatabaseMutableState } @@ -3667,7 +3676,7 @@ func (m *DescribeHistoryHostRequest) GetWorkflowExecution() *v14.WorkflowExecuti type DescribeHistoryHostResponse struct { ShardsNumber int32 `protobuf:"varint,1,opt,name=shards_number,json=shardsNumber,proto3" json:"shards_number,omitempty"` ShardIds []int32 `protobuf:"varint,2,rep,packed,name=shard_ids,json=shardIds,proto3" json:"shard_ids,omitempty"` - NamespaceCache *v113.NamespaceCacheInfo `protobuf:"bytes,3,opt,name=namespace_cache,json=namespaceCache,proto3" json:"namespace_cache,omitempty"` + NamespaceCache *v114.NamespaceCacheInfo `protobuf:"bytes,3,opt,name=namespace_cache,json=namespaceCache,proto3" json:"namespace_cache,omitempty"` Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"` } @@ -3717,7 +3726,7 @@ func (m *DescribeHistoryHostResponse) GetShardIds() []int32 { return nil } -func (m *DescribeHistoryHostResponse) GetNamespaceCache() *v113.NamespaceCacheInfo { +func (m *DescribeHistoryHostResponse) GetNamespaceCache() *v114.NamespaceCacheInfo { if m != nil { return m.NamespaceCache } @@ -3853,7 +3862,7 @@ func (m *GetShardRequest) GetShardId() int32 { } type GetShardResponse struct { - ShardInfo *v112.ShardInfo `protobuf:"bytes,1,opt,name=shard_info,json=shardInfo,proto3" json:"shard_info,omitempty"` + ShardInfo *v113.ShardInfo `protobuf:"bytes,1,opt,name=shard_info,json=shardInfo,proto3" json:"shard_info,omitempty"` } func (m *GetShardResponse) Reset() { *m = GetShardResponse{} } @@ -3888,7 +3897,7 @@ func (m *GetShardResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetShardResponse proto.InternalMessageInfo -func (m *GetShardResponse) GetShardInfo() *v112.ShardInfo { +func (m *GetShardResponse) GetShardInfo() *v113.ShardInfo { if m != nil { return m.ShardInfo } @@ -3998,7 +4007,7 @@ func (m *RemoveTaskResponse) XXX_DiscardUnknown() { var xxx_messageInfo_RemoveTaskResponse proto.InternalMessageInfo type GetReplicationMessagesRequest struct { - Tokens []*v114.ReplicationToken `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` + Tokens []*v115.ReplicationToken `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` } @@ -4034,7 +4043,7 @@ func (m *GetReplicationMessagesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetReplicationMessagesRequest proto.InternalMessageInfo -func (m *GetReplicationMessagesRequest) GetTokens() []*v114.ReplicationToken { +func (m *GetReplicationMessagesRequest) GetTokens() []*v115.ReplicationToken { if m != nil { return m.Tokens } @@ -4049,7 +4058,7 @@ func (m *GetReplicationMessagesRequest) GetClusterName() string { } type GetReplicationMessagesResponse struct { - ShardMessages map[int32]*v114.ReplicationMessages `protobuf:"bytes,1,rep,name=shard_messages,json=shardMessages,proto3" json:"shard_messages,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ShardMessages map[int32]*v115.ReplicationMessages `protobuf:"bytes,1,rep,name=shard_messages,json=shardMessages,proto3" json:"shard_messages,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *GetReplicationMessagesResponse) Reset() { *m = GetReplicationMessagesResponse{} } @@ -4084,7 +4093,7 @@ func (m *GetReplicationMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetReplicationMessagesResponse proto.InternalMessageInfo -func (m *GetReplicationMessagesResponse) GetShardMessages() map[int32]*v114.ReplicationMessages { +func (m *GetReplicationMessagesResponse) GetShardMessages() map[int32]*v115.ReplicationMessages { if m != nil { return m.ShardMessages } @@ -4092,7 +4101,7 @@ func (m *GetReplicationMessagesResponse) GetShardMessages() map[int32]*v114.Repl } type GetDLQReplicationMessagesRequest struct { - TaskInfos []*v114.ReplicationTaskInfo `protobuf:"bytes,1,rep,name=task_infos,json=taskInfos,proto3" json:"task_infos,omitempty"` + TaskInfos []*v115.ReplicationTaskInfo `protobuf:"bytes,1,rep,name=task_infos,json=taskInfos,proto3" json:"task_infos,omitempty"` } func (m *GetDLQReplicationMessagesRequest) Reset() { *m = GetDLQReplicationMessagesRequest{} } @@ -4127,7 +4136,7 @@ func (m *GetDLQReplicationMessagesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetDLQReplicationMessagesRequest proto.InternalMessageInfo -func (m *GetDLQReplicationMessagesRequest) GetTaskInfos() []*v114.ReplicationTaskInfo { +func (m *GetDLQReplicationMessagesRequest) GetTaskInfos() []*v115.ReplicationTaskInfo { if m != nil { return m.TaskInfos } @@ -4135,7 +4144,7 @@ func (m *GetDLQReplicationMessagesRequest) GetTaskInfos() []*v114.ReplicationTas } type GetDLQReplicationMessagesResponse struct { - ReplicationTasks []*v114.ReplicationTask `protobuf:"bytes,1,rep,name=replication_tasks,json=replicationTasks,proto3" json:"replication_tasks,omitempty"` + ReplicationTasks []*v115.ReplicationTask `protobuf:"bytes,1,rep,name=replication_tasks,json=replicationTasks,proto3" json:"replication_tasks,omitempty"` } func (m *GetDLQReplicationMessagesResponse) Reset() { *m = GetDLQReplicationMessagesResponse{} } @@ -4170,7 +4179,7 @@ func (m *GetDLQReplicationMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetDLQReplicationMessagesResponse proto.InternalMessageInfo -func (m *GetDLQReplicationMessagesResponse) GetReplicationTasks() []*v114.ReplicationTask { +func (m *GetDLQReplicationMessagesResponse) GetReplicationTasks() []*v115.ReplicationTask { if m != nil { return m.ReplicationTasks } @@ -4273,7 +4282,7 @@ func (m *QueryWorkflowResponse) GetResponse() *v1.QueryWorkflowResponse { type ReapplyEventsRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - Request *v115.ReapplyEventsRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + Request *v116.ReapplyEventsRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` } func (m *ReapplyEventsRequest) Reset() { *m = ReapplyEventsRequest{} } @@ -4315,7 +4324,7 @@ func (m *ReapplyEventsRequest) GetNamespaceId() string { return "" } -func (m *ReapplyEventsRequest) GetRequest() *v115.ReapplyEventsRequest { +func (m *ReapplyEventsRequest) GetRequest() *v116.ReapplyEventsRequest { if m != nil { return m.Request } @@ -4442,7 +4451,7 @@ func (m *GetDLQMessagesRequest) GetNextPageToken() []byte { type GetDLQMessagesResponse struct { Type v17.DeadLetterQueueType `protobuf:"varint,1,opt,name=type,proto3,enum=temporal.server.api.enums.v1.DeadLetterQueueType" json:"type,omitempty"` - ReplicationTasks []*v114.ReplicationTask `protobuf:"bytes,2,rep,name=replication_tasks,json=replicationTasks,proto3" json:"replication_tasks,omitempty"` + ReplicationTasks []*v115.ReplicationTask `protobuf:"bytes,2,rep,name=replication_tasks,json=replicationTasks,proto3" json:"replication_tasks,omitempty"` NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } @@ -4485,7 +4494,7 @@ func (m *GetDLQMessagesResponse) GetType() v17.DeadLetterQueueType { return v17.DEAD_LETTER_QUEUE_TYPE_UNSPECIFIED } -func (m *GetDLQMessagesResponse) GetReplicationTasks() []*v114.ReplicationTask { +func (m *GetDLQMessagesResponse) GetReplicationTasks() []*v115.ReplicationTask { if m != nil { return m.ReplicationTasks } @@ -4729,7 +4738,7 @@ func (m *MergeDLQMessagesResponse) GetNextPageToken() []byte { type RefreshWorkflowTasksRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - Request *v115.RefreshWorkflowTasksRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + Request *v116.RefreshWorkflowTasksRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` } func (m *RefreshWorkflowTasksRequest) Reset() { *m = RefreshWorkflowTasksRequest{} } @@ -4771,7 +4780,7 @@ func (m *RefreshWorkflowTasksRequest) GetNamespaceId() string { return "" } -func (m *RefreshWorkflowTasksRequest) GetRequest() *v115.RefreshWorkflowTasksRequest { +func (m *RefreshWorkflowTasksRequest) GetRequest() *v116.RefreshWorkflowTasksRequest { if m != nil { return m.Request } @@ -5530,7 +5539,7 @@ func init() { proto.RegisterType((*RemoveTaskResponse)(nil), "temporal.server.api.historyservice.v1.RemoveTaskResponse") proto.RegisterType((*GetReplicationMessagesRequest)(nil), "temporal.server.api.historyservice.v1.GetReplicationMessagesRequest") proto.RegisterType((*GetReplicationMessagesResponse)(nil), "temporal.server.api.historyservice.v1.GetReplicationMessagesResponse") - proto.RegisterMapType((map[int32]*v114.ReplicationMessages)(nil), "temporal.server.api.historyservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry") + proto.RegisterMapType((map[int32]*v115.ReplicationMessages)(nil), "temporal.server.api.historyservice.v1.GetReplicationMessagesResponse.ShardMessagesEntry") proto.RegisterType((*GetDLQReplicationMessagesRequest)(nil), "temporal.server.api.historyservice.v1.GetDLQReplicationMessagesRequest") proto.RegisterType((*GetDLQReplicationMessagesResponse)(nil), "temporal.server.api.historyservice.v1.GetDLQReplicationMessagesResponse") proto.RegisterType((*QueryWorkflowRequest)(nil), "temporal.server.api.historyservice.v1.QueryWorkflowRequest") @@ -5567,287 +5576,289 @@ func init() { } var fileDescriptor_b8c78c1d460a3711 = []byte{ - // 4476 bytes of a gzipped FileDescriptorProto + // 4504 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc9, - 0x75, 0x6a, 0xce, 0x0c, 0x39, 0x7c, 0x24, 0xe7, 0xd3, 0xfc, 0x0d, 0x49, 0x69, 0x44, 0xf5, 0x2e, - 0x25, 0xae, 0x76, 0x35, 0xd4, 0xc7, 0xf6, 0xca, 0x8a, 0x77, 0xd7, 0x12, 0xf5, 0xa3, 0x20, 0xc9, - 0xdc, 0x26, 0x57, 0xda, 0xac, 0xbd, 0xee, 0x6d, 0x76, 0x17, 0xc9, 0x0e, 0x67, 0xba, 0x47, 0x5d, - 0x3d, 0x24, 0x67, 0x73, 0x70, 0x12, 0x23, 0x41, 0xec, 0x00, 0xc9, 0x02, 0xb9, 0x18, 0x81, 0x13, - 0x04, 0x01, 0x82, 0xf8, 0x12, 0xe4, 0x90, 0x43, 0xe0, 0x43, 0x2e, 0x09, 0x10, 0x04, 0x39, 0x2d, - 0x72, 0x89, 0x91, 0x00, 0x71, 0x56, 0x7b, 0x88, 0x83, 0xe4, 0xe0, 0x63, 0x10, 0xe4, 0x10, 0xd4, - 0xaf, 0xa7, 0x7f, 0xf3, 0x97, 0xa2, 0xb5, 0xbd, 0x37, 0x4e, 0xd5, 0x7b, 0xaf, 0xea, 0xfd, 0xab, - 0x5e, 0xbd, 0x26, 0x7c, 0xc5, 0x43, 0xb5, 0xba, 0xe3, 0xea, 0xd5, 0x35, 0x8c, 0xdc, 0x43, 0xe4, - 0xae, 0xe9, 0x75, 0x6b, 0x6d, 0xdf, 0xc2, 0x9e, 0xe3, 0x36, 0xc9, 0x88, 0x65, 0xa0, 0xb5, 0xc3, - 0x4b, 0x6b, 0x2e, 0x7a, 0xd2, 0x40, 0xd8, 0xd3, 0x5c, 0x84, 0xeb, 0x8e, 0x8d, 0x51, 0xa5, 0xee, - 0x3a, 0x9e, 0x23, 0xaf, 0x08, 0xec, 0x0a, 0xc3, 0xae, 0xe8, 0x75, 0xab, 0x12, 0xc6, 0xae, 0x1c, - 0x5e, 0x5a, 0x2c, 0xef, 0x39, 0xce, 0x5e, 0x15, 0xad, 0x51, 0xa4, 0x9d, 0xc6, 0xee, 0x9a, 0xd9, - 0x70, 0x75, 0xcf, 0x72, 0x6c, 0x46, 0x66, 0xf1, 0x74, 0x74, 0xde, 0xb3, 0x6a, 0x08, 0x7b, 0x7a, - 0xad, 0xce, 0x01, 0xce, 0x98, 0xa8, 0x8e, 0x6c, 0x13, 0xd9, 0x86, 0x85, 0xf0, 0xda, 0x9e, 0xb3, - 0xe7, 0xd0, 0x71, 0xfa, 0x17, 0x07, 0x79, 0xd9, 0x67, 0x84, 0x70, 0x60, 0x38, 0xb5, 0x9a, 0x63, - 0x93, 0x9d, 0xd7, 0x10, 0xc6, 0xfa, 0x1e, 0xdf, 0xf0, 0xe2, 0x4a, 0x08, 0x8a, 0xef, 0x34, 0x0e, - 0x76, 0x2e, 0x04, 0xe6, 0xe9, 0xf8, 0xe0, 0x49, 0x03, 0x35, 0x50, 0x1c, 0x30, 0xbc, 0x2a, 0xb2, - 0x1b, 0x35, 0x4c, 0x80, 0x8e, 0x1c, 0xf7, 0x60, 0xb7, 0xea, 0x1c, 0x71, 0xa8, 0xb3, 0x21, 0x28, - 0x31, 0x19, 0xa7, 0xf6, 0x52, 0x08, 0xee, 0x49, 0x03, 0x25, 0xed, 0x2d, 0xcc, 0xc2, 0xae, 0x6e, - 0x55, 0x1b, 0x6e, 0xc2, 0xce, 0xce, 0x27, 0x29, 0xd6, 0xa8, 0x3a, 0xc6, 0x41, 0x1c, 0xf6, 0xb5, - 0x0e, 0x46, 0x10, 0x87, 0x7e, 0x25, 0x09, 0xda, 0x67, 0x9d, 0x49, 0x9e, 0x83, 0xbe, 0xda, 0x11, - 0x34, 0x22, 0xa5, 0x73, 0x1d, 0x81, 0x89, 0x12, 0x38, 0xe0, 0x85, 0x24, 0xc0, 0xf6, 0x52, 0xad, - 0x24, 0x81, 0xdb, 0x7a, 0x0d, 0xe1, 0xba, 0x6e, 0x24, 0x48, 0xee, 0x62, 0x12, 0xbc, 0x8b, 0xea, - 0x55, 0xcb, 0xa0, 0x46, 0x1b, 0xc7, 0xb8, 0x92, 0x84, 0x51, 0x47, 0x2e, 0xb6, 0xb0, 0x87, 0x6c, - 0xb6, 0x06, 0x3a, 0x46, 0x46, 0x83, 0xa0, 0x63, 0x8e, 0xf4, 0x56, 0x0f, 0x48, 0x82, 0x29, 0xad, - 0xd6, 0xf0, 0xf4, 0x9d, 0x2a, 0xd2, 0xb0, 0xa7, 0x7b, 0x62, 0xd5, 0x2f, 0x25, 0x5a, 0x55, 0x57, - 0xa7, 0x5d, 0xbc, 0x96, 0xb4, 0xb0, 0x6e, 0xd6, 0x2c, 0xbb, 0x2b, 0xae, 0xf2, 0x3b, 0xa3, 0x70, - 0x6a, 0xcb, 0xd3, 0x5d, 0xef, 0x31, 0x5f, 0xee, 0x96, 0x60, 0x4b, 0x65, 0x08, 0xf2, 0x19, 0x98, - 0xf4, 0x65, 0xab, 0x59, 0x66, 0x49, 0x5a, 0x96, 0x56, 0xc7, 0xd5, 0x09, 0x7f, 0x6c, 0xc3, 0x94, - 0x0d, 0x98, 0xc2, 0x84, 0x86, 0xc6, 0x17, 0x29, 0x8d, 0x2c, 0x4b, 0xab, 0x13, 0x97, 0xdf, 0xf4, - 0x15, 0x45, 0xc3, 0x48, 0x84, 0xa1, 0xca, 0xe1, 0xa5, 0x4a, 0xc7, 0x95, 0xd5, 0x49, 0x4a, 0x54, - 0xec, 0x63, 0x1f, 0x66, 0xeb, 0xba, 0x8b, 0x6c, 0x4f, 0xf3, 0x25, 0xaf, 0x59, 0xf6, 0xae, 0x53, - 0x4a, 0xd1, 0xc5, 0xbe, 0x50, 0x49, 0x0a, 0x5d, 0xbe, 0x45, 0x1e, 0x5e, 0xaa, 0x6c, 0x52, 0x6c, - 0x7f, 0x95, 0x0d, 0x7b, 0xd7, 0x51, 0xa7, 0xeb, 0xf1, 0x41, 0xb9, 0x04, 0x63, 0xba, 0x47, 0xa8, - 0x79, 0xa5, 0xf4, 0xb2, 0xb4, 0x9a, 0x51, 0xc5, 0x4f, 0xb9, 0x06, 0x8a, 0xaf, 0xc1, 0xd6, 0x2e, - 0xd0, 0x71, 0xdd, 0x62, 0xe1, 0x4f, 0x23, 0x71, 0xae, 0x94, 0xa1, 0x1b, 0x5a, 0xac, 0xb0, 0x20, - 0x58, 0x11, 0x41, 0xb0, 0xb2, 0x2d, 0x82, 0xe0, 0x8d, 0xf4, 0x47, 0x3f, 0x3e, 0x2d, 0xa9, 0xa7, - 0x8f, 0xa2, 0x9c, 0xdf, 0xf2, 0x29, 0x11, 0x58, 0x79, 0x1f, 0x16, 0x0c, 0xc7, 0xf6, 0x2c, 0xbb, - 0x81, 0x34, 0x1d, 0x6b, 0x36, 0x3a, 0xd2, 0x2c, 0xdb, 0xf2, 0x2c, 0xdd, 0x73, 0xdc, 0xd2, 0xe8, - 0xb2, 0xb4, 0x9a, 0xbb, 0x7c, 0x21, 0x2c, 0x63, 0xea, 0x5d, 0x84, 0xd9, 0x75, 0x8e, 0x77, 0x1d, - 0x3f, 0x44, 0x47, 0x1b, 0x02, 0x49, 0x9d, 0x33, 0x12, 0xc7, 0xe5, 0x07, 0x50, 0x14, 0x33, 0xa6, - 0xc6, 0x43, 0x50, 0x69, 0x8c, 0xf2, 0xb1, 0x1c, 0x5e, 0x81, 0x4f, 0x92, 0x35, 0x6e, 0xb3, 0x3f, - 0xd5, 0x82, 0x8f, 0xca, 0x47, 0xe4, 0x47, 0x30, 0x57, 0xd5, 0xb1, 0xa7, 0x19, 0x4e, 0xad, 0x5e, - 0x45, 0x54, 0x32, 0x2e, 0xc2, 0x8d, 0xaa, 0x57, 0xca, 0x26, 0xd1, 0xe4, 0x21, 0x86, 0xea, 0xa8, - 0x59, 0x75, 0x74, 0x13, 0xab, 0x33, 0x04, 0x7f, 0xdd, 0x47, 0x57, 0x29, 0xb6, 0xfc, 0x4d, 0x58, - 0xda, 0xb5, 0x5c, 0xec, 0x69, 0xbe, 0x16, 0x48, 0x14, 0xd1, 0x76, 0x74, 0xe3, 0xc0, 0xd9, 0xdd, - 0x2d, 0x8d, 0x53, 0xe2, 0x0b, 0x31, 0xc1, 0xdf, 0xe4, 0xd9, 0xe9, 0x46, 0xfa, 0x7b, 0x44, 0xee, - 0x25, 0x4a, 0x43, 0x98, 0xdd, 0xb6, 0x8e, 0x0f, 0x6e, 0x30, 0x02, 0xca, 0x31, 0x94, 0xdb, 0x99, - 0x24, 0xf3, 0x1a, 0x79, 0x16, 0x46, 0xdd, 0x86, 0xdd, 0xf2, 0x83, 0x8c, 0xdb, 0xb0, 0x37, 0x4c, - 0xf9, 0x2d, 0xc8, 0xd0, 0x50, 0xcc, 0x2d, 0xff, 0x95, 0x44, 0x63, 0xa4, 0x10, 0x84, 0xcb, 0x47, - 0xc8, 0xf0, 0x1c, 0x77, 0x9d, 0xfc, 0x54, 0x19, 0x9e, 0xf2, 0x9f, 0x12, 0xcc, 0xdd, 0x41, 0xde, - 0x03, 0x16, 0x16, 0xb6, 0x48, 0x54, 0xe8, 0xc3, 0x01, 0xef, 0xc0, 0xb8, 0x6f, 0x8e, 0xf1, 0x2d, - 0x84, 0x45, 0x1c, 0xe7, 0xad, 0x85, 0x2b, 0x5f, 0x81, 0x39, 0x74, 0x5c, 0x47, 0x86, 0x87, 0x4c, - 0xcd, 0x46, 0xc7, 0x9e, 0x86, 0x0e, 0x89, 0xc7, 0x59, 0x26, 0xf5, 0xb2, 0x94, 0x3a, 0x2d, 0x66, - 0x1f, 0xa2, 0x63, 0xef, 0x16, 0x99, 0xdb, 0x30, 0xe5, 0x8b, 0x30, 0x63, 0x34, 0x5c, 0xea, 0x9a, - 0x3b, 0xae, 0x6e, 0x1b, 0xfb, 0x9a, 0xe7, 0x1c, 0x20, 0x9b, 0x3a, 0xcf, 0xa4, 0x2a, 0xf3, 0xb9, - 0x1b, 0x74, 0x6a, 0x9b, 0xcc, 0x28, 0x3f, 0xce, 0xc2, 0x7c, 0x8c, 0x5b, 0x2e, 0xe1, 0x10, 0x2f, - 0xd2, 0x10, 0xbc, 0x6c, 0xc0, 0x54, 0xcb, 0x4c, 0x9a, 0x75, 0xc4, 0x05, 0xf3, 0x72, 0x37, 0x62, - 0xdb, 0xcd, 0x3a, 0x52, 0x27, 0x8f, 0x02, 0xbf, 0x64, 0x05, 0xa6, 0x92, 0xa4, 0x31, 0x61, 0x07, - 0xa4, 0xf0, 0x65, 0x58, 0xa8, 0xbb, 0xe8, 0xd0, 0x72, 0x1a, 0x58, 0xa3, 0x81, 0x0b, 0x99, 0x2d, - 0xf8, 0x34, 0x85, 0x9f, 0x13, 0x00, 0x5b, 0x6c, 0x5e, 0xa0, 0x5e, 0x80, 0x69, 0xea, 0x2e, 0xcc, - 0xb6, 0x7d, 0xa4, 0x0c, 0x45, 0x2a, 0x90, 0xa9, 0xdb, 0x64, 0x46, 0x80, 0xaf, 0x03, 0x50, 0xb3, - 0xa7, 0x47, 0x18, 0x1a, 0x07, 0x62, 0x5c, 0xf9, 0x27, 0x1c, 0xc2, 0x18, 0xb1, 0xf0, 0xb7, 0xc9, - 0x0f, 0x75, 0xdc, 0x13, 0x7f, 0xca, 0x9b, 0x50, 0xc4, 0x9e, 0x65, 0x1c, 0x34, 0xb5, 0x00, 0xad, - 0xb1, 0x3e, 0x68, 0xe5, 0x19, 0xba, 0x3f, 0x20, 0xff, 0x2a, 0xbc, 0x1a, 0xa3, 0xa8, 0x61, 0x63, - 0x1f, 0x99, 0x8d, 0x2a, 0xd2, 0x3c, 0x87, 0x49, 0x85, 0x86, 0x48, 0xa7, 0xe1, 0x95, 0x26, 0x7a, - 0x73, 0xd6, 0x95, 0xc8, 0x32, 0x5b, 0x9c, 0xe0, 0xb6, 0x43, 0x85, 0xb8, 0xcd, 0xa8, 0xb5, 0xb5, - 0xc1, 0xa9, 0x76, 0x36, 0x28, 0x7f, 0x1d, 0x72, 0xbe, 0x79, 0xd0, 0x2c, 0x5c, 0xca, 0xd3, 0x88, - 0x9a, 0x9c, 0x48, 0xfc, 0xc0, 0x1a, 0x33, 0x39, 0x66, 0xbd, 0xbe, 0xa9, 0xd1, 0x9f, 0xf2, 0x63, - 0xc8, 0x87, 0x88, 0x37, 0x70, 0xa9, 0x40, 0xa9, 0x57, 0xda, 0xc4, 0xeb, 0x44, 0xb2, 0x0d, 0xac, - 0xe6, 0x82, 0x74, 0x1b, 0x58, 0x7e, 0x1f, 0x8a, 0x87, 0xe4, 0x48, 0xe1, 0xd8, 0x1a, 0x3b, 0xcf, - 0x59, 0x08, 0x97, 0x8a, 0x54, 0x94, 0x17, 0x2b, 0x1d, 0x0e, 0xef, 0x2c, 0xec, 0x50, 0xc4, 0xbb, - 0x02, 0x4f, 0x2d, 0x1c, 0x46, 0x46, 0xe4, 0x37, 0xe1, 0xa4, 0x45, 0xcc, 0x37, 0xaa, 0x46, 0x64, - 0x13, 0x47, 0x35, 0x4b, 0xf2, 0xb2, 0xb4, 0x9a, 0x55, 0x4b, 0x16, 0xde, 0x0a, 0x6b, 0xe5, 0x16, - 0x9b, 0x97, 0xbf, 0x00, 0xf3, 0x31, 0x4b, 0xf6, 0x8e, 0x69, 0xbc, 0x9c, 0x66, 0x01, 0x24, 0x6c, - 0xcd, 0xdb, 0xc7, 0x24, 0x7a, 0x5e, 0x81, 0x39, 0x8e, 0xe0, 0xe7, 0x54, 0x1e, 0x64, 0x67, 0x68, - 0xac, 0x9b, 0xa6, 0xb3, 0x2d, 0x27, 0x27, 0x21, 0xf7, 0x5e, 0x3a, 0x9b, 0x2d, 0x8c, 0xdf, 0x4b, - 0x67, 0xc7, 0x0b, 0x70, 0x2f, 0x9d, 0x85, 0xc2, 0xc4, 0xbd, 0x74, 0x76, 0xb2, 0x30, 0x75, 0x2f, - 0x9d, 0xcd, 0x15, 0xf2, 0xca, 0x7f, 0x49, 0x30, 0xbf, 0xe9, 0x54, 0xab, 0xbf, 0x20, 0x01, 0xf5, - 0x0f, 0xb2, 0x50, 0x8a, 0xb3, 0xfb, 0x79, 0x44, 0xfd, 0x3c, 0xa2, 0x3e, 0xf3, 0x88, 0x3a, 0xd9, - 0x36, 0xa2, 0x26, 0xc6, 0xa6, 0xdc, 0x33, 0x8b, 0x4d, 0x3f, 0x9b, 0x01, 0xbb, 0x43, 0x44, 0x2c, - 0x0e, 0x12, 0x11, 0xe5, 0xfe, 0x22, 0xe2, 0x54, 0x21, 0xa7, 0x7c, 0x47, 0x82, 0x25, 0x15, 0x61, - 0xe4, 0x45, 0x82, 0xf6, 0x0b, 0x88, 0x87, 0x4a, 0x19, 0x4e, 0x26, 0x6f, 0x85, 0xc5, 0x2a, 0xe5, - 0x07, 0x29, 0x58, 0x56, 0x91, 0xe1, 0xb8, 0x66, 0xf0, 0x7c, 0xce, 0xbd, 0xbb, 0x8f, 0x0d, 0xbf, - 0x0b, 0x72, 0xfc, 0xa6, 0xd6, 0xff, 0xce, 0x8b, 0xb1, 0x2b, 0x9a, 0xfc, 0x1a, 0xc8, 0xc2, 0x05, - 0xcd, 0x68, 0xf8, 0x2a, 0xf8, 0x33, 0x22, 0xb2, 0xcc, 0xc3, 0x18, 0xf5, 0x5d, 0x3f, 0x62, 0x8d, - 0x92, 0x9f, 0x1b, 0xa6, 0x7c, 0x0a, 0x40, 0x5c, 0xc9, 0x79, 0x60, 0x1a, 0x57, 0xc7, 0xf9, 0xc8, - 0x86, 0x29, 0x7f, 0x00, 0x93, 0x75, 0xa7, 0x5a, 0xf5, 0x6f, 0xd4, 0x2c, 0x26, 0xbd, 0xd1, 0xf5, - 0x46, 0x4d, 0x92, 0x40, 0x50, 0x72, 0x41, 0x45, 0xab, 0x13, 0x84, 0xa4, 0x10, 0xa2, 0x7f, 0x65, - 0x19, 0x1b, 0xf0, 0xca, 0xf2, 0xc7, 0x59, 0x38, 0xd3, 0x41, 0x55, 0x3c, 0xf9, 0xc4, 0x72, 0x86, - 0x34, 0x70, 0xce, 0xe8, 0x98, 0x0f, 0x46, 0x3a, 0xe6, 0x83, 0xfe, 0x94, 0xb6, 0x0a, 0x85, 0x36, - 0xf9, 0x26, 0x87, 0xc3, 0x74, 0x63, 0x69, 0x2c, 0x13, 0x4f, 0x63, 0x81, 0x72, 0xc2, 0x68, 0xb8, - 0x9c, 0x70, 0x15, 0x4a, 0x3c, 0xbe, 0x07, 0x8a, 0x09, 0xfc, 0xa4, 0x35, 0x46, 0x4f, 0x5a, 0x73, - 0x6c, 0xbe, 0x55, 0x20, 0xe0, 0xe7, 0xac, 0x27, 0x30, 0xef, 0xb9, 0xba, 0x8d, 0x2d, 0xb2, 0x6c, - 0xe8, 0x32, 0xcc, 0x6f, 0xd8, 0x5f, 0xee, 0x16, 0x70, 0xb7, 0x05, 0x7a, 0x50, 0x79, 0xb4, 0x26, - 0x32, 0xeb, 0x25, 0x4d, 0xc9, 0x7b, 0x70, 0x2a, 0xa1, 0xf6, 0x11, 0x48, 0x75, 0xe3, 0x7d, 0xa4, - 0xba, 0xc5, 0x98, 0x5f, 0xb5, 0xb2, 0xde, 0x19, 0x98, 0x0c, 0x25, 0x9c, 0x09, 0x9a, 0x70, 0x26, - 0x76, 0x02, 0x99, 0xe6, 0x0e, 0xe4, 0x5a, 0xea, 0xa4, 0x35, 0x97, 0xc9, 0x1e, 0x6b, 0x2e, 0x53, - 0x3e, 0x1e, 0xad, 0xb0, 0xac, 0xc3, 0xa4, 0xd0, 0x34, 0x25, 0x33, 0xd5, 0x23, 0x99, 0x09, 0x8e, - 0x45, 0x89, 0x38, 0x30, 0xf6, 0xa4, 0x81, 0x78, 0xb6, 0x4b, 0xad, 0x4e, 0x5c, 0x7e, 0xa7, 0xd2, - 0x53, 0x19, 0xbd, 0xd2, 0xd5, 0x7b, 0x2a, 0x6f, 0x33, 0xba, 0xb7, 0x6c, 0xcf, 0x6d, 0xaa, 0x62, - 0x95, 0x96, 0xeb, 0xe6, 0x07, 0x73, 0xdd, 0xc5, 0x0f, 0x60, 0x32, 0x48, 0x59, 0x2e, 0x40, 0xea, - 0x00, 0x35, 0x79, 0x1c, 0x25, 0x7f, 0xca, 0xd7, 0x20, 0x73, 0xa8, 0x57, 0x1b, 0x6d, 0x8e, 0x78, - 0xb4, 0x92, 0x1d, 0xf4, 0x56, 0x42, 0xad, 0xa9, 0x32, 0x94, 0x6b, 0x23, 0x57, 0x25, 0x96, 0x7f, - 0x02, 0xd1, 0xfc, 0xba, 0xe1, 0x59, 0x87, 0x96, 0xd7, 0xfc, 0x3c, 0x9a, 0xf7, 0x1b, 0xcd, 0x83, - 0x92, 0x7b, 0x8e, 0xd1, 0xfc, 0x6f, 0xd3, 0x22, 0x9a, 0x27, 0xaa, 0x8a, 0x47, 0xf3, 0x87, 0x90, - 0x8f, 0x88, 0x8b, 0xc7, 0xf3, 0x95, 0x30, 0x2f, 0x81, 0x40, 0xc3, 0x0e, 0x70, 0x4d, 0x2a, 0x42, - 0x35, 0x17, 0x16, 0x69, 0xcc, 0xff, 0x46, 0x06, 0xf1, 0xbf, 0x40, 0x80, 0x4d, 0x85, 0x03, 0x2c, - 0x82, 0xb2, 0x38, 0xc3, 0xf2, 0x21, 0x2d, 0x12, 0x37, 0xd2, 0x3d, 0x2e, 0xb8, 0xc4, 0xe9, 0x5c, - 0x67, 0x64, 0xb6, 0x42, 0x51, 0xe4, 0x01, 0x14, 0xf7, 0x91, 0xee, 0x7a, 0x3b, 0x48, 0xf7, 0x34, - 0x13, 0x79, 0xba, 0x55, 0xc5, 0xbc, 0x0a, 0xdc, 0xbd, 0xd2, 0x59, 0xf0, 0x51, 0x6f, 0x32, 0xcc, - 0x78, 0xca, 0x1c, 0x1d, 0x38, 0x65, 0x5e, 0x08, 0x38, 0x8e, 0xef, 0x50, 0xd4, 0x46, 0xc6, 0x5b, - 0xde, 0xf0, 0x50, 0x4c, 0xb4, 0xac, 0x28, 0x3b, 0xa0, 0x15, 0xfd, 0x50, 0x82, 0x97, 0x98, 0xb1, - 0x84, 0xc2, 0x1a, 0x2f, 0xe4, 0xf6, 0xe5, 0xf3, 0x0e, 0x14, 0x78, 0xf9, 0x18, 0x45, 0xde, 0x15, - 0x6e, 0x76, 0xf5, 0x9b, 0x1e, 0xb6, 0xa0, 0xe6, 0x05, 0x75, 0x3e, 0xa0, 0xfc, 0xc6, 0x08, 0xbc, - 0xdc, 0x19, 0x91, 0x3b, 0x01, 0x6e, 0x1d, 0x0f, 0xc4, 0x6b, 0x0a, 0xf7, 0x82, 0xbb, 0xcf, 0x2a, - 0xf0, 0x93, 0xbb, 0x60, 0xd8, 0xf3, 0x10, 0xe4, 0x74, 0xee, 0x98, 0x34, 0xe9, 0xe2, 0xd2, 0x08, - 0xcd, 0x35, 0x6f, 0x0e, 0x1a, 0x44, 0xf8, 0x42, 0x53, 0x7a, 0x60, 0x0a, 0x2b, 0x7f, 0x21, 0x91, - 0x88, 0x1d, 0x13, 0xc2, 0x6d, 0xdd, 0xaa, 0xf6, 0xa5, 0xbd, 0x7d, 0xc8, 0xed, 0x52, 0x9c, 0x88, - 0xee, 0xae, 0x0f, 0xa2, 0xbb, 0xd0, 0xea, 0xea, 0xd4, 0x6e, 0xf0, 0xa7, 0xf2, 0x12, 0x89, 0x5b, - 0x6d, 0x51, 0xf8, 0xb5, 0xe2, 0x87, 0x12, 0x28, 0xf1, 0xe8, 0x76, 0x57, 0x78, 0x5e, 0x1f, 0x8c, - 0xd5, 0x83, 0xbe, 0x1e, 0xe6, 0x6d, 0xbd, 0x07, 0xde, 0xba, 0x6d, 0x21, 0x10, 0x0e, 0x04, 0x83, - 0x9b, 0xc4, 0xa5, 0x3a, 0xe0, 0x71, 0x03, 0x79, 0x05, 0x0a, 0x86, 0x6e, 0x1b, 0xc8, 0xcf, 0x32, - 0x88, 0xed, 0x3f, 0xab, 0xe6, 0xd9, 0xb8, 0x2a, 0x86, 0x83, 0x5e, 0x1a, 0xa4, 0xf9, 0x82, 0xbc, - 0xb4, 0xd3, 0x16, 0xe2, 0x5e, 0x7a, 0xd6, 0x77, 0xd2, 0x36, 0x78, 0x5c, 0xe3, 0x01, 0x43, 0x0e, - 0x02, 0xfe, 0xff, 0x1b, 0x72, 0xdb, 0xd5, 0xdb, 0x1b, 0x72, 0x12, 0x0a, 0x67, 0xeb, 0x2f, 0xa9, - 0x21, 0xc7, 0xf9, 0xa7, 0x1a, 0xee, 0x8b, 0xb1, 0x5f, 0x81, 0x5c, 0xd8, 0x5e, 0xfa, 0xb0, 0xe2, - 0x6e, 0xeb, 0xab, 0x53, 0x21, 0x93, 0x53, 0x56, 0x92, 0xed, 0xcd, 0x47, 0xe2, 0xcc, 0xfd, 0xdd, - 0x08, 0x94, 0xb7, 0xac, 0x3d, 0x5b, 0xaf, 0x0e, 0xf3, 0x1a, 0xbd, 0x0b, 0x39, 0x4c, 0x89, 0x44, - 0x18, 0x7b, 0xab, 0xfb, 0x73, 0x74, 0xc7, 0xb5, 0xd5, 0x29, 0x46, 0x56, 0x6c, 0xc5, 0x82, 0x25, - 0x74, 0xec, 0x21, 0x97, 0xac, 0x94, 0x70, 0x3a, 0x4d, 0xf5, 0x7b, 0x3a, 0x5d, 0x10, 0xd4, 0x62, - 0x53, 0x72, 0x05, 0xa6, 0x8d, 0x7d, 0xab, 0x6a, 0xb6, 0xd6, 0x71, 0xec, 0x6a, 0x93, 0x1e, 0x5e, - 0xb2, 0x6a, 0x91, 0x4e, 0x09, 0xa4, 0xaf, 0xd9, 0xd5, 0xa6, 0x72, 0x06, 0x4e, 0xb7, 0xe5, 0x85, - 0xcb, 0xfa, 0x1f, 0x25, 0x38, 0xc7, 0x61, 0x2c, 0x6f, 0x7f, 0xe8, 0x16, 0x80, 0x6f, 0x4b, 0xb0, - 0xc0, 0xa5, 0x7e, 0x64, 0x79, 0xfb, 0x5a, 0x52, 0x3f, 0xc0, 0xdd, 0x5e, 0x15, 0xd0, 0x6d, 0x43, - 0xea, 0x1c, 0x0e, 0x03, 0x0a, 0x3b, 0xbb, 0x0e, 0xab, 0xdd, 0x49, 0x74, 0x7c, 0xc9, 0x55, 0xfe, - 0x5a, 0x82, 0xd3, 0x2a, 0xaa, 0x39, 0x87, 0x88, 0x51, 0x1a, 0xf0, 0x01, 0xe1, 0xf9, 0xdd, 0x58, - 0xc2, 0x57, 0x8d, 0x54, 0xe4, 0xaa, 0xa1, 0x28, 0x24, 0xec, 0xb5, 0xdb, 0xbe, 0xd0, 0xfd, 0x08, - 0x9c, 0xd9, 0x46, 0x6e, 0xcd, 0xb2, 0x75, 0x0f, 0x0d, 0xa3, 0x75, 0x07, 0x8a, 0x9e, 0xa0, 0x13, - 0x51, 0xf6, 0x8d, 0xae, 0xca, 0xee, 0xba, 0x03, 0xb5, 0xe0, 0x13, 0xff, 0x19, 0xf0, 0xb9, 0x97, - 0x41, 0xe9, 0xc4, 0x11, 0x17, 0xfd, 0xff, 0x48, 0x50, 0xbe, 0x89, 0x48, 0xaa, 0x1a, 0x46, 0xee, - 0xcf, 0xcf, 0xba, 0x5e, 0x81, 0x82, 0x4f, 0x99, 0x57, 0xe0, 0xf9, 0x6d, 0xd8, 0xaf, 0x8f, 0xf3, - 0x52, 0x3d, 0x7d, 0x20, 0xa8, 0x3a, 0x18, 0x25, 0x4b, 0x48, 0x66, 0x73, 0xd1, 0xb0, 0xd4, 0x96, - 0x77, 0x2e, 0x9f, 0x3f, 0x93, 0xe0, 0x14, 0x2d, 0x10, 0x0f, 0xd9, 0x8f, 0xe4, 0x12, 0x1a, 0x7d, - 0xf7, 0x23, 0x75, 0x5c, 0x59, 0x9d, 0xa4, 0x44, 0x45, 0xac, 0x79, 0x1d, 0xca, 0xed, 0xc0, 0x3b, - 0x47, 0x98, 0xdf, 0x4f, 0xc1, 0x0a, 0x27, 0xc2, 0x32, 0xe0, 0x30, 0xac, 0xd6, 0xda, 0x64, 0xf1, - 0xdb, 0x3d, 0xf0, 0xda, 0xc3, 0x16, 0x22, 0x89, 0x5c, 0x7e, 0x23, 0xe0, 0x7f, 0xbc, 0x15, 0x29, - 0x5e, 0x37, 0x29, 0x09, 0x90, 0x0d, 0x01, 0x21, 0xea, 0x27, 0x5d, 0xdc, 0x37, 0xfd, 0xfc, 0xdd, - 0x37, 0xd3, 0xce, 0x7d, 0x57, 0xe1, 0x6c, 0x37, 0x89, 0x70, 0x13, 0xfd, 0x68, 0x04, 0x96, 0xc4, - 0xfd, 0x3f, 0x78, 0xe5, 0xf8, 0x4c, 0xf8, 0xef, 0x15, 0x98, 0xb3, 0xb0, 0x96, 0xd0, 0x24, 0x45, - 0x75, 0x93, 0x55, 0xa7, 0x2d, 0x7c, 0x3b, 0xda, 0xfd, 0xd4, 0xba, 0xf6, 0xa7, 0x07, 0xbc, 0xf6, - 0x97, 0xe1, 0x64, 0xb2, 0x44, 0xb8, 0xc8, 0xfe, 0x5d, 0x82, 0x73, 0x8f, 0x90, 0x6b, 0xed, 0x36, - 0x63, 0x8b, 0xfb, 0x95, 0x94, 0xcf, 0x84, 0xf8, 0x7c, 0x49, 0xa4, 0x06, 0x94, 0xc4, 0x79, 0x58, - 0xed, 0xce, 0x28, 0x97, 0xca, 0xff, 0xa6, 0xc8, 0x5d, 0x86, 0xdc, 0xec, 0xd6, 0x89, 0x39, 0xfa, - 0xbb, 0x18, 0xe4, 0x1e, 0xf6, 0xfc, 0x44, 0x52, 0x01, 0xde, 0x24, 0x19, 0x70, 0x78, 0xdf, 0xd5, - 0x8b, 0x6c, 0xca, 0x77, 0xf4, 0x0d, 0x53, 0x7e, 0x0f, 0xa6, 0xc5, 0x9d, 0xcd, 0x1c, 0xc6, 0xb7, - 0x65, 0x9f, 0x4a, 0x6b, 0x2f, 0x9b, 0xfe, 0x6d, 0x93, 0x3e, 0x95, 0xd0, 0xfa, 0x63, 0xa6, 0x9f, - 0xfa, 0x63, 0xbe, 0x85, 0xce, 0x0a, 0x90, 0xbe, 0xc2, 0x47, 0x07, 0x53, 0xb8, 0x7c, 0x15, 0x4a, - 0x31, 0xf1, 0x88, 0xc4, 0x39, 0xc6, 0xdf, 0xa4, 0xc2, 0x32, 0xe2, 0xf9, 0x53, 0x39, 0x47, 0xd2, - 0x40, 0x47, 0xed, 0x8b, 0x9c, 0x98, 0x82, 0x0b, 0xcc, 0xa8, 0x12, 0x21, 0x69, 0x6c, 0x22, 0x74, - 0xfa, 0x32, 0x98, 0x6d, 0x28, 0x44, 0xdb, 0x69, 0xfb, 0x37, 0x97, 0x7c, 0xa4, 0x7d, 0x56, 0x56, - 0x21, 0xcf, 0xa2, 0xee, 0x10, 0x67, 0xb2, 0x9c, 0x11, 0xe2, 0xb2, 0x9d, 0x01, 0xa6, 0xdb, 0x19, - 0x60, 0x27, 0x8d, 0x64, 0x3a, 0x69, 0x64, 0x68, 0x63, 0x50, 0x2e, 0x42, 0xa5, 0x57, 0x45, 0x71, - 0xdd, 0xfe, 0x89, 0x04, 0xcb, 0x37, 0x11, 0x36, 0x5c, 0x6b, 0x67, 0xa8, 0x13, 0xe1, 0xd7, 0x61, - 0xac, 0xdf, 0xfa, 0x44, 0xb7, 0x65, 0x55, 0x41, 0x51, 0xf9, 0xbd, 0x34, 0x9c, 0xe9, 0x00, 0xcd, - 0x8f, 0x3b, 0xdf, 0x80, 0x42, 0xeb, 0x5d, 0xd0, 0x70, 0xec, 0x5d, 0x6b, 0x8f, 0x97, 0x45, 0x2f, - 0x25, 0xef, 0x25, 0x51, 0xfd, 0xeb, 0x14, 0x51, 0xcd, 0xa3, 0xf0, 0x80, 0xbc, 0x07, 0xf3, 0x09, - 0xcf, 0x8f, 0xb4, 0x01, 0x9c, 0x31, 0xbc, 0xd6, 0xc7, 0x22, 0xec, 0x9d, 0xf3, 0x28, 0x69, 0x58, - 0xfe, 0x06, 0xc8, 0x75, 0x64, 0x9b, 0x96, 0xbd, 0xa7, 0xf1, 0xd2, 0xa8, 0x85, 0x70, 0x29, 0x45, - 0x8b, 0xad, 0x17, 0xda, 0xaf, 0xb1, 0xc9, 0x70, 0x44, 0x7d, 0x83, 0xae, 0x50, 0xac, 0x87, 0x06, - 0x2d, 0x84, 0xe5, 0x6f, 0x42, 0x41, 0x50, 0xa7, 0x66, 0xee, 0xd2, 0xb6, 0x2e, 0x42, 0xfb, 0x4a, - 0x57, 0xda, 0x61, 0xa3, 0xa2, 0x2b, 0xe4, 0xeb, 0x81, 0x29, 0x17, 0xd9, 0x32, 0x82, 0x59, 0x41, - 0x3f, 0x9c, 0xfe, 0x33, 0xdd, 0x34, 0xc1, 0x17, 0x89, 0x3d, 0x07, 0x4f, 0xd7, 0xe3, 0x13, 0xca, - 0xaf, 0xa7, 0xa0, 0xa4, 0xf2, 0x2f, 0x28, 0x10, 0x8d, 0xa4, 0xf8, 0xd1, 0xe5, 0xcf, 0x44, 0xba, - 0xda, 0x85, 0xd9, 0x70, 0x13, 0x52, 0x53, 0xb3, 0x3c, 0x54, 0x13, 0x1a, 0xbc, 0xdc, 0x57, 0x23, - 0x52, 0x73, 0xc3, 0x43, 0x35, 0x75, 0xfa, 0x30, 0x36, 0x86, 0xe5, 0xab, 0x30, 0x4a, 0xf3, 0x0f, - 0xe6, 0x99, 0xad, 0xed, 0x43, 0xcf, 0x4d, 0xdd, 0xd3, 0x6f, 0x54, 0x9d, 0x1d, 0x95, 0xc3, 0xcb, - 0xb7, 0x21, 0x67, 0xa3, 0x23, 0xda, 0xcf, 0xc3, 0x29, 0x64, 0x7a, 0xa4, 0x30, 0x69, 0xa3, 0x23, - 0xb5, 0xc1, 0x32, 0x17, 0x56, 0x96, 0x60, 0x21, 0x41, 0x05, 0x3c, 0xae, 0xfc, 0x03, 0xbd, 0x47, - 0xf1, 0xd9, 0xc7, 0xc1, 0x56, 0x27, 0xa1, 0x25, 0x2d, 0xd6, 0x4e, 0xc5, 0x9c, 0xf5, 0x6a, 0xa2, - 0x84, 0x02, 0xdf, 0xb1, 0x04, 0x55, 0x11, 0x2a, 0x2f, 0x44, 0x5a, 0xaa, 0x56, 0x20, 0xe7, 0xa2, - 0x9a, 0xe3, 0x21, 0xcd, 0xa8, 0x36, 0xb0, 0x87, 0x5c, 0xaa, 0xdf, 0x71, 0x75, 0x8a, 0x8d, 0xae, - 0xb3, 0xc1, 0x98, 0xb5, 0xa4, 0x62, 0xd6, 0xa2, 0x2c, 0x93, 0xab, 0x56, 0x32, 0x2f, 0x9c, 0xdd, - 0x3f, 0x94, 0x60, 0x6e, 0xab, 0x69, 0x1b, 0x5b, 0xfb, 0xba, 0x6b, 0xf2, 0x4e, 0x2c, 0xce, 0xe7, - 0x0a, 0xe4, 0xb0, 0xd3, 0x70, 0x8d, 0xd6, 0x36, 0x98, 0x3d, 0x4e, 0xb1, 0x51, 0xb1, 0x8d, 0x05, - 0xc8, 0x62, 0x82, 0x2c, 0x7a, 0x49, 0x32, 0xea, 0x18, 0xfd, 0xbd, 0x61, 0xca, 0xd7, 0x61, 0x82, - 0xb5, 0x84, 0xb1, 0x27, 0xc3, 0x54, 0x8f, 0x4f, 0x86, 0xc0, 0x90, 0xc8, 0xb0, 0xb2, 0x00, 0xf3, - 0xb1, 0xed, 0xf1, 0xad, 0xff, 0x24, 0x03, 0xd3, 0x64, 0x4e, 0x44, 0x8e, 0x3e, 0xbc, 0xe8, 0x34, - 0x4c, 0xf8, 0x2a, 0xe4, 0xdb, 0x1e, 0x57, 0x41, 0x0c, 0x6d, 0x98, 0x81, 0x1b, 0x68, 0x2a, 0xf8, - 0xb5, 0x42, 0x09, 0xc6, 0x44, 0x42, 0x64, 0x59, 0x54, 0xfc, 0x6c, 0xf3, 0x1c, 0x9e, 0x69, 0xf3, - 0x1c, 0x1e, 0x6f, 0xc3, 0x18, 0x1d, 0xac, 0x0d, 0x23, 0xa9, 0xe1, 0x66, 0x2c, 0xb1, 0xe1, 0x26, - 0xfa, 0x60, 0x9c, 0x1d, 0xe4, 0xc1, 0x78, 0x93, 0x77, 0x87, 0xb6, 0x1e, 0x72, 0x28, 0xad, 0xf1, - 0x1e, 0x69, 0x15, 0x09, 0xb2, 0xff, 0x00, 0x43, 0x29, 0x5e, 0x83, 0x31, 0xf1, 0xee, 0x0b, 0x3d, - 0xbe, 0xfb, 0x0a, 0x84, 0xe0, 0xf3, 0xf5, 0x44, 0xf8, 0xf9, 0x7a, 0x1d, 0x26, 0x59, 0xef, 0x20, - 0xff, 0x20, 0x67, 0xb2, 0xc7, 0x0f, 0x72, 0x26, 0x68, 0x4b, 0x21, 0xff, 0x16, 0xe7, 0x22, 0xd0, - 0x6f, 0x69, 0x68, 0x3a, 0x40, 0xae, 0x66, 0x99, 0xc8, 0xf6, 0x2c, 0xaf, 0x49, 0x5b, 0x5d, 0xc6, - 0x55, 0x99, 0xcc, 0x3d, 0xa6, 0x53, 0x1b, 0x7c, 0x46, 0x7e, 0x0c, 0xf9, 0x48, 0x08, 0xe5, 0x5d, - 0x9c, 0x95, 0xfe, 0x82, 0xa7, 0x9a, 0x0b, 0x07, 0x4e, 0x65, 0x0e, 0x66, 0xc2, 0x96, 0xce, 0x5d, - 0xe0, 0x3b, 0x12, 0x2c, 0x89, 0xf3, 0xc5, 0x0b, 0x6e, 0xd8, 0x56, 0xfe, 0x5b, 0x82, 0x93, 0xc9, - 0x7b, 0xe1, 0xc7, 0x9c, 0x7d, 0x98, 0x36, 0x74, 0x63, 0x1f, 0x85, 0x3f, 0xe1, 0x1b, 0x3a, 0x78, - 0x16, 0x29, 0xd1, 0xe0, 0x90, 0x6c, 0xc3, 0x9c, 0xa9, 0x7b, 0xfa, 0x8e, 0x8e, 0xa3, 0x8b, 0x8d, - 0x0c, 0xb9, 0xd8, 0x8c, 0xa0, 0x1b, 0x1c, 0x55, 0xfe, 0x49, 0x82, 0x45, 0xc1, 0x3a, 0x57, 0xd9, - 0x5d, 0x07, 0x07, 0x1f, 0x47, 0xf7, 0x1d, 0xec, 0x69, 0xba, 0x69, 0xba, 0x08, 0x63, 0xa1, 0x05, - 0x32, 0x76, 0x9d, 0x0d, 0x75, 0x0a, 0xa2, 0xdd, 0xc3, 0x7c, 0x9b, 0x43, 0x41, 0x7a, 0xf8, 0x43, - 0x81, 0xf2, 0xaf, 0x01, 0x03, 0x0b, 0x71, 0xc6, 0x75, 0xfa, 0x12, 0x4c, 0xd1, 0x7d, 0x62, 0xcd, - 0x6e, 0xd4, 0x76, 0x78, 0x8a, 0xc8, 0xa8, 0x93, 0x6c, 0xf0, 0x21, 0x1d, 0x93, 0x97, 0x60, 0x5c, - 0x30, 0xc7, 0x1e, 0xdf, 0x33, 0x6a, 0x96, 0x73, 0x87, 0xe5, 0xf7, 0x21, 0xdf, 0x62, 0x8f, 0xaa, - 0xb2, 0xe3, 0x77, 0x89, 0x3e, 0x2c, 0x61, 0xc1, 0xef, 0xbf, 0x58, 0x27, 0x78, 0xf4, 0xd0, 0x95, - 0xb3, 0x43, 0x63, 0x34, 0x46, 0x70, 0xb1, 0xb3, 0xe6, 0x22, 0xf1, 0xf3, 0x5e, 0x3a, 0x9b, 0x2e, - 0x64, 0x94, 0x0a, 0x14, 0xd7, 0xab, 0x0e, 0x46, 0x34, 0xc1, 0x08, 0x85, 0x05, 0xb5, 0x21, 0x85, - 0xb4, 0xa1, 0xcc, 0x80, 0x1c, 0x84, 0xe7, 0x7e, 0xf8, 0x1a, 0xe4, 0xef, 0x20, 0xaf, 0x57, 0x1a, - 0x1f, 0x40, 0xa1, 0x05, 0xcd, 0x05, 0x79, 0x1f, 0x80, 0x83, 0x93, 0x83, 0x39, 0xf3, 0x89, 0x0b, - 0xbd, 0x98, 0x29, 0x25, 0x43, 0x59, 0x67, 0x42, 0x26, 0x7f, 0x2a, 0xff, 0x2c, 0x41, 0x91, 0x3d, - 0x66, 0x04, 0xeb, 0x6b, 0xed, 0xb7, 0x24, 0xdf, 0x86, 0x2c, 0x39, 0x23, 0xec, 0x91, 0x90, 0x35, - 0x42, 0xdb, 0xb7, 0xcf, 0x77, 0x6e, 0x0e, 0x67, 0xcf, 0x90, 0x0c, 0x43, 0xf5, 0x71, 0x83, 0x7d, - 0x5e, 0xa9, 0x50, 0x9f, 0xd7, 0x06, 0xe4, 0x0f, 0x2d, 0x6c, 0xed, 0x58, 0x55, 0xda, 0x87, 0xd1, - 0x4f, 0x07, 0x51, 0xae, 0x85, 0x48, 0x8f, 0x04, 0x33, 0x20, 0x07, 0x79, 0x13, 0xc5, 0x45, 0x09, - 0x4e, 0xdd, 0x41, 0x9e, 0xda, 0xfa, 0x3a, 0xf9, 0x01, 0xfb, 0x32, 0xd9, 0x3f, 0xcf, 0xdc, 0x87, - 0x51, 0xda, 0x17, 0x49, 0x1c, 0x30, 0xd5, 0xd6, 0xc0, 0x02, 0x9f, 0x37, 0xb3, 0x62, 0xaf, 0xff, - 0x93, 0x76, 0x50, 0xaa, 0x9c, 0x06, 0x71, 0x4b, 0x7e, 0x2c, 0xa2, 0xfd, 0x41, 0xfc, 0x0c, 0x31, - 0xc1, 0xc7, 0x88, 0x65, 0x2a, 0xdf, 0x1f, 0x81, 0x72, 0xbb, 0x2d, 0x71, 0xb5, 0x7f, 0x0b, 0x72, - 0x4c, 0x25, 0xfc, 0x33, 0x6a, 0xb1, 0xb7, 0x77, 0x7b, 0xec, 0x87, 0xe9, 0x4c, 0x9e, 0x19, 0x87, - 0x18, 0x65, 0xbd, 0x90, 0xcc, 0x5f, 0xc5, 0xd8, 0x62, 0x13, 0xe4, 0x38, 0x50, 0xb0, 0xad, 0x31, - 0xc3, 0xda, 0x1a, 0x1f, 0x84, 0xdb, 0x1a, 0x5f, 0xef, 0x53, 0x76, 0xfe, 0xce, 0x5a, 0x9d, 0x8e, - 0xca, 0x87, 0xb0, 0x7c, 0x07, 0x79, 0x37, 0xef, 0xbf, 0xdd, 0x41, 0x67, 0x8f, 0xf8, 0xf7, 0x25, - 0xc4, 0x2b, 0x84, 0x6c, 0xfa, 0x5d, 0xdb, 0xbf, 0x90, 0xd1, 0x4f, 0x4e, 0xc8, 0x5f, 0x58, 0xf9, - 0x4d, 0x09, 0xce, 0x74, 0x58, 0x9c, 0x6b, 0xe7, 0x03, 0x28, 0x06, 0xc8, 0xf2, 0xee, 0x21, 0x29, - 0x7a, 0xe9, 0xec, 0x79, 0x13, 0x6a, 0xc1, 0x0d, 0x0f, 0x60, 0xe5, 0xbb, 0x12, 0xcc, 0xd0, 0x16, - 0x50, 0x11, 0x8d, 0xfb, 0xc8, 0xdc, 0x5f, 0x8b, 0x56, 0x2e, 0xbe, 0xd8, 0xb5, 0x72, 0x91, 0xb4, - 0x54, 0xab, 0x5a, 0x71, 0x00, 0xb3, 0x11, 0x00, 0x2e, 0x07, 0x15, 0xb2, 0x91, 0x7e, 0xad, 0x2f, - 0xf5, 0xbb, 0x14, 0x6f, 0x9a, 0xf2, 0xe9, 0x28, 0xbf, 0x2b, 0xc1, 0x8c, 0x8a, 0xf4, 0x7a, 0xbd, - 0xca, 0x2a, 0x8c, 0xb8, 0x0f, 0xce, 0xb7, 0xa2, 0x9c, 0x27, 0x37, 0x6d, 0x07, 0xbf, 0xe4, 0x67, - 0xea, 0x88, 0x2f, 0xd7, 0xe2, 0x7e, 0x1e, 0x66, 0x23, 0x00, 0x7c, 0xa7, 0x7f, 0x3e, 0x02, 0xb3, - 0xcc, 0x56, 0xa2, 0xd6, 0x79, 0x0b, 0xd2, 0x7e, 0x67, 0x7e, 0x2e, 0x58, 0x22, 0x48, 0x8a, 0x98, - 0x37, 0x91, 0x6e, 0xde, 0x47, 0x9e, 0x87, 0x5c, 0xda, 0x47, 0x46, 0x7b, 0x0e, 0x29, 0x7a, 0xa7, - 0xe4, 0x1f, 0xbf, 0x83, 0xa5, 0x92, 0xee, 0x60, 0xaf, 0x43, 0xc9, 0xb2, 0x09, 0x84, 0x75, 0x88, - 0x34, 0x64, 0xfb, 0xe1, 0xa4, 0x55, 0xee, 0x9b, 0xf5, 0xe7, 0x6f, 0xd9, 0xc2, 0xd9, 0x37, 0x4c, - 0xf9, 0x3c, 0x14, 0x6b, 0xfa, 0xb1, 0x55, 0x6b, 0xd4, 0xb4, 0x3a, 0x81, 0xc7, 0xd6, 0x87, 0xec, - 0x33, 0xfc, 0x8c, 0x9a, 0xe7, 0x13, 0x9b, 0xfa, 0x1e, 0xda, 0xb2, 0x3e, 0x44, 0xf2, 0x59, 0xc8, - 0xd3, 0x96, 0x7d, 0x0a, 0xc8, 0x3a, 0xcc, 0x47, 0x69, 0x87, 0x39, 0xed, 0xe4, 0x27, 0x60, 0xec, - 0x93, 0xba, 0xff, 0x60, 0x5f, 0x64, 0x87, 0xe4, 0xc5, 0x0d, 0xe9, 0x19, 0x09, 0x2c, 0xd1, 0x2f, - 0x47, 0x9e, 0xa1, 0x5f, 0x26, 0xf1, 0x9a, 0x4a, 0xe2, 0xf5, 0x5f, 0x24, 0x98, 0xdf, 0x6c, 0xb8, - 0x7b, 0xe8, 0xe7, 0xd1, 0x3a, 0x94, 0x45, 0x28, 0xc5, 0x99, 0x13, 0x6d, 0x62, 0x23, 0x30, 0xff, - 0x00, 0xfd, 0x9c, 0x72, 0xfe, 0x5c, 0xfc, 0xe2, 0x06, 0x94, 0xe2, 0x02, 0xe3, 0x8e, 0x91, 0x40, - 0x43, 0x4a, 0xa2, 0xf1, 0x7d, 0xfa, 0x45, 0xda, 0xae, 0x8b, 0xf0, 0x7e, 0xb0, 0xac, 0xd8, 0x4f, - 0xf0, 0x7c, 0x2f, 0x1a, 0x3c, 0xbf, 0xda, 0x63, 0xf0, 0x6c, 0xbb, 0x6a, 0x2b, 0x86, 0xd2, 0x8f, - 0xd4, 0x92, 0xe0, 0xb8, 0xd1, 0x7c, 0x4f, 0x82, 0xf3, 0x77, 0x90, 0x8d, 0x5c, 0xdd, 0x43, 0xf7, - 0x75, 0xec, 0x89, 0xfb, 0x6e, 0xc4, 0xfd, 0x5e, 0xc4, 0xf5, 0xf5, 0x02, 0xbc, 0xda, 0xd3, 0xce, - 0x38, 0x27, 0xb7, 0x61, 0x29, 0x7c, 0xf6, 0x0a, 0xd7, 0xce, 0xce, 0x41, 0x3e, 0x5c, 0xc2, 0x63, - 0xe7, 0x86, 0x71, 0x35, 0x17, 0xaa, 0xe1, 0x61, 0xa5, 0x01, 0x27, 0x93, 0xe9, 0x70, 0xc3, 0x78, - 0x07, 0x46, 0xd9, 0x5d, 0x8a, 0x9f, 0x3b, 0xde, 0xe8, 0xf1, 0x60, 0xc8, 0x6f, 0x17, 0x51, 0xb2, - 0x9c, 0x98, 0xf2, 0x37, 0xa3, 0x30, 0x97, 0x0c, 0xd2, 0xe9, 0x96, 0xf0, 0x45, 0x98, 0xaf, 0xe9, - 0xc7, 0x5a, 0x34, 0xf6, 0xb6, 0xbe, 0x22, 0x9b, 0xa9, 0xe9, 0xc7, 0xd1, 0x93, 0x97, 0x29, 0xdf, - 0x87, 0x02, 0xa3, 0x58, 0x75, 0x0c, 0xbd, 0xda, 0x6b, 0x2d, 0x70, 0x94, 0x1c, 0xfe, 0x4b, 0x92, - 0xca, 0x0e, 0xc8, 0xf7, 0x09, 0x2a, 0xad, 0x18, 0x7d, 0x18, 0x17, 0x2d, 0x7b, 0x07, 0x78, 0x7b, - 0x28, 0xd1, 0x54, 0xd4, 0x90, 0x62, 0xd8, 0x61, 0x39, 0xa2, 0x2d, 0xf9, 0xb7, 0x24, 0x98, 0xde, - 0xd7, 0x6d, 0xd3, 0x39, 0xe4, 0xc7, 0x7e, 0x6a, 0x86, 0xe4, 0x6a, 0xd9, 0xcf, 0xd7, 0x4b, 0x6d, - 0x36, 0x70, 0x97, 0x13, 0xf6, 0x6f, 0xb5, 0x7c, 0x13, 0xf2, 0x7e, 0x6c, 0x42, 0xae, 0xc3, 0xcb, - 0x89, 0x9a, 0x88, 0xde, 0xb1, 0x7a, 0x2d, 0x2b, 0x2e, 0xc7, 0x15, 0xf7, 0x28, 0x74, 0xeb, 0x5a, - 0xfc, 0xae, 0x04, 0xd3, 0x09, 0x22, 0x4a, 0xf8, 0x02, 0xea, 0xfd, 0xf0, 0x55, 0xe1, 0xce, 0x50, - 0x52, 0xd9, 0x44, 0x2e, 0x5f, 0x2f, 0x70, 0x75, 0x58, 0xfc, 0xb6, 0x04, 0xf3, 0x6d, 0xc4, 0x95, - 0xb0, 0x21, 0x35, 0xbc, 0xa1, 0xaf, 0xf4, 0xb8, 0xa1, 0xd8, 0x02, 0xf4, 0x12, 0x11, 0xb8, 0xc0, - 0xbc, 0x0b, 0xb3, 0x89, 0x30, 0xf2, 0x5b, 0x70, 0xd2, 0xb7, 0x92, 0x24, 0x67, 0x91, 0xa8, 0xb3, - 0x2c, 0x08, 0x98, 0x98, 0xc7, 0x28, 0x7f, 0x2a, 0xc1, 0x72, 0x37, 0x79, 0xc8, 0x0a, 0x4c, 0xe9, - 0xc6, 0x01, 0x32, 0x23, 0x64, 0x27, 0xe8, 0x20, 0x77, 0xbd, 0xf7, 0x61, 0x31, 0x00, 0x13, 0xb5, - 0x8e, 0x5e, 0x3f, 0x1a, 0x9a, 0xf7, 0x49, 0x86, 0x8d, 0x42, 0xf9, 0x6d, 0x09, 0x16, 0x55, 0xb4, - 0xd3, 0xb0, 0xaa, 0xe6, 0x8b, 0x2e, 0x3f, 0x9e, 0x22, 0x89, 0x31, 0x61, 0x27, 0x3c, 0x5e, 0xff, - 0xd5, 0x08, 0xac, 0x84, 0x5b, 0xe8, 0x5a, 0xac, 0xb0, 0xb7, 0xe5, 0x17, 0xf1, 0x4f, 0x2e, 0x36, - 0x61, 0x3a, 0xf8, 0x94, 0xc4, 0xff, 0x25, 0x41, 0xcf, 0x0f, 0x25, 0xc5, 0xc0, 0xbb, 0x11, 0xfb, - 0xff, 0x03, 0x21, 0x8a, 0xb4, 0x91, 0xb0, 0xbf, 0x5a, 0x8b, 0x4f, 0x91, 0x16, 0xb9, 0xa8, 0x8e, - 0x57, 0xe1, 0x6c, 0x37, 0xc1, 0x71, 0x19, 0xff, 0x91, 0x04, 0xe5, 0x77, 0xea, 0xe6, 0x90, 0xad, - 0xb1, 0xbf, 0x1c, 0x3d, 0x9f, 0x74, 0x6f, 0x3f, 0xef, 0xbc, 0x68, 0xeb, 0x78, 0xf2, 0x2d, 0x38, - 0xdd, 0x16, 0xd4, 0x7f, 0x8b, 0x8f, 0x5e, 0x75, 0xbf, 0x3a, 0xf8, 0xf2, 0xd1, 0x4b, 0xef, 0x8d, - 0xfa, 0xc7, 0x9f, 0x94, 0x4f, 0xfc, 0xe8, 0x93, 0xf2, 0x89, 0x9f, 0x7e, 0x52, 0x96, 0x7e, 0xed, - 0x69, 0x59, 0xfa, 0xc1, 0xd3, 0xb2, 0xf4, 0xf7, 0x4f, 0xcb, 0xd2, 0xc7, 0x4f, 0xcb, 0xd2, 0xbf, - 0x3d, 0x2d, 0x4b, 0x3f, 0x79, 0x5a, 0x3e, 0xf1, 0xd3, 0xa7, 0x65, 0xe9, 0xa3, 0x4f, 0xcb, 0x27, - 0x3e, 0xfe, 0xb4, 0x7c, 0xe2, 0x47, 0x9f, 0x96, 0x4f, 0xbc, 0x77, 0x6d, 0xcf, 0x69, 0xed, 0xc1, - 0x72, 0x3a, 0xfe, 0x7f, 0xca, 0x5f, 0x0a, 0x8f, 0xec, 0x8c, 0x52, 0x55, 0x5f, 0xf9, 0xbf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xde, 0x65, 0xb7, 0x9e, 0xde, 0x52, 0x00, 0x00, + 0x75, 0x6a, 0xce, 0x0c, 0x39, 0x7c, 0x24, 0xe7, 0xd3, 0xfc, 0x0d, 0x49, 0x69, 0x44, 0xf6, 0x8a, + 0x12, 0x57, 0xbb, 0x1a, 0xea, 0x63, 0x7b, 0x65, 0xc5, 0xbb, 0x6b, 0x89, 0xfa, 0x51, 0x90, 0x64, + 0x6e, 0x93, 0x2b, 0x6d, 0xd6, 0x5e, 0xf7, 0x36, 0xbb, 0x8b, 0x64, 0x87, 0x33, 0xdd, 0xa3, 0xae, + 0x1e, 0x92, 0xa3, 0x1c, 0x9c, 0xc4, 0x48, 0x10, 0x3b, 0x40, 0xb2, 0x40, 0x2e, 0x46, 0xe0, 0xe4, + 0x10, 0x20, 0x88, 0x2f, 0x41, 0x0e, 0x39, 0x04, 0x3e, 0xe4, 0x92, 0x00, 0x41, 0x90, 0xd3, 0x22, + 0x97, 0x18, 0x09, 0x90, 0xcd, 0x6a, 0x0f, 0x71, 0x90, 0x1c, 0x7c, 0x0c, 0x82, 0x1c, 0x82, 0xfa, + 0xf5, 0xf4, 0x6f, 0x7e, 0x1c, 0x29, 0x5a, 0x3b, 0x7b, 0xe3, 0x54, 0xbd, 0xf7, 0xaa, 0xde, 0xbf, + 0xea, 0xd5, 0x6b, 0xc2, 0xd7, 0x3c, 0x54, 0xab, 0x3b, 0xae, 0x5e, 0x5d, 0xc5, 0xc8, 0x3d, 0x40, + 0xee, 0xaa, 0x5e, 0xb7, 0x56, 0xf7, 0x2c, 0xec, 0x39, 0x6e, 0x93, 0x8c, 0x58, 0x06, 0x5a, 0x3d, + 0xb8, 0xb4, 0xea, 0xa2, 0x27, 0x0d, 0x84, 0x3d, 0xcd, 0x45, 0xb8, 0xee, 0xd8, 0x18, 0x55, 0xea, + 0xae, 0xe3, 0x39, 0xf2, 0xb2, 0xc0, 0xae, 0x30, 0xec, 0x8a, 0x5e, 0xb7, 0x2a, 0x61, 0xec, 0xca, + 0xc1, 0xa5, 0xf9, 0xf2, 0xae, 0xe3, 0xec, 0x56, 0xd1, 0x2a, 0x45, 0xda, 0x6e, 0xec, 0xac, 0x9a, + 0x0d, 0x57, 0xf7, 0x2c, 0xc7, 0x66, 0x64, 0xe6, 0x4f, 0x47, 0xe7, 0x3d, 0xab, 0x86, 0xb0, 0xa7, + 0xd7, 0xea, 0x1c, 0x60, 0xc9, 0x44, 0x75, 0x64, 0x9b, 0xc8, 0x36, 0x2c, 0x84, 0x57, 0x77, 0x9d, + 0x5d, 0x87, 0x8e, 0xd3, 0xbf, 0x38, 0xc8, 0x19, 0x9f, 0x11, 0xc2, 0x81, 0xe1, 0xd4, 0x6a, 0x8e, + 0x4d, 0x76, 0x5e, 0x43, 0x18, 0xeb, 0xbb, 0x7c, 0xc3, 0xf3, 0xcb, 0x21, 0x28, 0xbe, 0xd3, 0x38, + 0xd8, 0xb9, 0x10, 0x98, 0xa7, 0xe3, 0xfd, 0x27, 0x0d, 0xd4, 0x40, 0x71, 0xc0, 0xf0, 0xaa, 0xc8, + 0x6e, 0xd4, 0x30, 0x01, 0x3a, 0x74, 0xdc, 0xfd, 0x9d, 0xaa, 0x73, 0xc8, 0xa1, 0xce, 0x86, 0xa0, + 0xc4, 0x64, 0x9c, 0xda, 0x2b, 0x21, 0xb8, 0x27, 0x0d, 0x94, 0xb4, 0xb7, 0x30, 0x31, 0x3a, 0x66, + 0x38, 0xd5, 0x6e, 0xac, 0xee, 0xe8, 0x56, 0xb5, 0xe1, 0x26, 0x70, 0x70, 0x3e, 0xc9, 0x00, 0x8c, + 0xaa, 0x63, 0xec, 0xc7, 0x61, 0x5f, 0xef, 0x60, 0x2c, 0x71, 0xe8, 0x57, 0x93, 0xa0, 0x7d, 0x11, + 0x31, 0x0d, 0x71, 0xd0, 0xd7, 0x3a, 0x82, 0x46, 0xa4, 0x79, 0xae, 0x23, 0x30, 0x51, 0x16, 0x07, + 0xbc, 0x90, 0x04, 0xd8, 0x5e, 0xfa, 0x95, 0x24, 0x70, 0x5b, 0xaf, 0x21, 0x5c, 0xd7, 0x8d, 0x04, + 0xc9, 0x5d, 0x4c, 0x82, 0x77, 0x51, 0xbd, 0x6a, 0x19, 0xd4, 0xb8, 0xe3, 0x18, 0x57, 0x92, 0x30, + 0xea, 0xc8, 0xc5, 0x16, 0xf6, 0x90, 0xcd, 0xd6, 0x40, 0x47, 0xc8, 0x68, 0x10, 0x74, 0xcc, 0x91, + 0xde, 0xee, 0x01, 0x49, 0x30, 0xa5, 0xd5, 0x1a, 0x9e, 0xbe, 0x5d, 0x45, 0x1a, 0xf6, 0x74, 0x4f, + 0xac, 0xfa, 0x95, 0x44, 0xeb, 0xeb, 0xea, 0xdc, 0xf3, 0xd7, 0x92, 0x16, 0xd6, 0xcd, 0x9a, 0x65, + 0x77, 0xc5, 0x55, 0x7e, 0x67, 0x18, 0x4e, 0x6d, 0x7a, 0xba, 0xeb, 0x3d, 0xe6, 0xcb, 0xdd, 0x12, + 0x6c, 0xa9, 0x0c, 0x41, 0x5e, 0x82, 0x71, 0x5f, 0xb6, 0x9a, 0x65, 0x96, 0xa4, 0x45, 0x69, 0x65, + 0x54, 0x1d, 0xf3, 0xc7, 0xd6, 0x4d, 0xd9, 0x80, 0x09, 0x4c, 0x68, 0x68, 0x7c, 0x91, 0xd2, 0xd0, + 0xa2, 0xb4, 0x32, 0x76, 0xf9, 0x2d, 0x5f, 0x51, 0x34, 0xdc, 0x44, 0x18, 0xaa, 0x1c, 0x5c, 0xaa, + 0x74, 0x5c, 0x59, 0x1d, 0xa7, 0x44, 0xc5, 0x3e, 0xf6, 0x60, 0xba, 0xae, 0xbb, 0xc8, 0xf6, 0x34, + 0x5f, 0xf2, 0x9a, 0x65, 0xef, 0x38, 0xa5, 0x14, 0x5d, 0xec, 0x4b, 0x95, 0xa4, 0x10, 0xe7, 0x5b, + 0xe4, 0xc1, 0xa5, 0xca, 0x06, 0xc5, 0xf6, 0x57, 0x59, 0xb7, 0x77, 0x1c, 0x75, 0xb2, 0x1e, 0x1f, + 0x94, 0x4b, 0x30, 0xa2, 0x7b, 0x84, 0x9a, 0x57, 0x4a, 0x2f, 0x4a, 0x2b, 0x19, 0x55, 0xfc, 0x94, + 0x6b, 0xa0, 0xf8, 0x1a, 0x6c, 0xed, 0x02, 0x1d, 0xd5, 0x2d, 0x16, 0x26, 0x35, 0x12, 0x0f, 0x4b, + 0x19, 0xba, 0xa1, 0xf9, 0x0a, 0x0b, 0x96, 0x15, 0x11, 0x2c, 0x2b, 0x5b, 0x22, 0x58, 0xde, 0x48, + 0x7f, 0xf4, 0xc9, 0x69, 0x49, 0x3d, 0x7d, 0x18, 0xe5, 0xfc, 0x96, 0x4f, 0x89, 0xc0, 0xca, 0x7b, + 0x30, 0x67, 0x38, 0xb6, 0x67, 0xd9, 0x0d, 0xa4, 0xe9, 0x58, 0xb3, 0xd1, 0xa1, 0x66, 0xd9, 0x96, + 0x67, 0xe9, 0x9e, 0xe3, 0x96, 0x86, 0x17, 0xa5, 0x95, 0xdc, 0xe5, 0x0b, 0x61, 0x19, 0x53, 0xef, + 0x22, 0xcc, 0xae, 0x71, 0xbc, 0xeb, 0xf8, 0x21, 0x3a, 0x5c, 0x17, 0x48, 0xea, 0x8c, 0x91, 0x38, + 0x2e, 0x3f, 0x80, 0xa2, 0x98, 0x31, 0x35, 0x1e, 0x82, 0x4a, 0x23, 0x94, 0x8f, 0xc5, 0xf0, 0x0a, + 0x7c, 0x92, 0xac, 0x71, 0x9b, 0xfd, 0xa9, 0x16, 0x7c, 0x54, 0x3e, 0x22, 0x3f, 0x82, 0x99, 0xaa, + 0x8e, 0x3d, 0xcd, 0x70, 0x6a, 0xf5, 0x2a, 0xa2, 0x92, 0x71, 0x11, 0x6e, 0x54, 0xbd, 0x52, 0x36, + 0x89, 0x26, 0x0f, 0x31, 0x54, 0x47, 0xcd, 0xaa, 0xa3, 0x9b, 0x58, 0x9d, 0x22, 0xf8, 0x6b, 0x3e, + 0xba, 0x4a, 0xb1, 0xe5, 0x6f, 0xc3, 0xc2, 0x8e, 0xe5, 0x62, 0x4f, 0xf3, 0xb5, 0x40, 0xa2, 0x88, + 0xb6, 0xad, 0x1b, 0xfb, 0xce, 0xce, 0x4e, 0x69, 0x94, 0x12, 0x9f, 0x8b, 0x09, 0xfe, 0x26, 0xcf, + 0x62, 0x37, 0xd2, 0x3f, 0x20, 0x72, 0x2f, 0x51, 0x1a, 0xc2, 0xec, 0xb6, 0x74, 0xbc, 0x7f, 0x83, + 0x11, 0x50, 0x8e, 0xa0, 0xdc, 0xce, 0x24, 0x99, 0xd7, 0xc8, 0xd3, 0x30, 0xec, 0x36, 0xec, 0x96, + 0x1f, 0x64, 0xdc, 0x86, 0xbd, 0x6e, 0xca, 0x6f, 0x43, 0x86, 0x86, 0x62, 0x6e, 0xf9, 0xaf, 0x26, + 0x1a, 0x23, 0x85, 0x20, 0x5c, 0x3e, 0x42, 0x86, 0xe7, 0xb8, 0x6b, 0xe4, 0xa7, 0xca, 0xf0, 0x94, + 0xff, 0x90, 0x60, 0xe6, 0x0e, 0xf2, 0x1e, 0xb0, 0xb0, 0xb0, 0x49, 0xa2, 0x42, 0x1f, 0x0e, 0x78, + 0x07, 0x46, 0x7d, 0x73, 0x8c, 0x6f, 0x21, 0x2c, 0xe2, 0x38, 0x6f, 0x2d, 0x5c, 0xf9, 0x0a, 0xcc, + 0xa0, 0xa3, 0x3a, 0x32, 0x3c, 0x64, 0x6a, 0x36, 0x3a, 0xf2, 0x34, 0x74, 0x40, 0x3c, 0xce, 0x32, + 0xa9, 0x97, 0xa5, 0xd4, 0x49, 0x31, 0xfb, 0x10, 0x1d, 0x79, 0xb7, 0xc8, 0xdc, 0xba, 0x29, 0x5f, + 0x84, 0x29, 0xa3, 0xe1, 0x52, 0xd7, 0xdc, 0x76, 0x75, 0xdb, 0xd8, 0xd3, 0x3c, 0x67, 0x1f, 0xd9, + 0xd4, 0x79, 0xc6, 0x55, 0x99, 0xcf, 0xdd, 0xa0, 0x53, 0x5b, 0x64, 0x46, 0xf9, 0x24, 0x0b, 0xb3, + 0x31, 0x6e, 0xb9, 0x84, 0x43, 0xbc, 0x48, 0x03, 0xf0, 0xb2, 0x0e, 0x13, 0x2d, 0x33, 0x69, 0xd6, + 0x11, 0x17, 0xcc, 0x99, 0x6e, 0xc4, 0xb6, 0x9a, 0x75, 0xa4, 0x8e, 0x1f, 0x06, 0x7e, 0xc9, 0x0a, + 0x4c, 0x24, 0x49, 0x63, 0xcc, 0x0e, 0x48, 0xe1, 0xab, 0x30, 0x57, 0x77, 0xd1, 0x81, 0xe5, 0x34, + 0xb0, 0x46, 0x03, 0x17, 0x32, 0x5b, 0xf0, 0x69, 0x0a, 0x3f, 0x23, 0x00, 0x36, 0xd9, 0xbc, 0x40, + 0xbd, 0x00, 0x93, 0xd4, 0x5d, 0x98, 0x6d, 0xfb, 0x48, 0x19, 0x8a, 0x54, 0x20, 0x53, 0xb7, 0xc9, + 0x8c, 0x00, 0x5f, 0x03, 0xa0, 0x66, 0x4f, 0x8f, 0x3a, 0x34, 0x0e, 0xc4, 0xb8, 0xf2, 0x4f, 0x42, + 0x84, 0x31, 0x62, 0xe1, 0xef, 0x90, 0x1f, 0xea, 0xa8, 0x27, 0xfe, 0x94, 0x37, 0xa0, 0x88, 0x3d, + 0xcb, 0xd8, 0x6f, 0x6a, 0x01, 0x5a, 0x23, 0x7d, 0xd0, 0xca, 0x33, 0x74, 0x7f, 0x40, 0xfe, 0x55, + 0x78, 0x2d, 0x46, 0x51, 0xc3, 0xc6, 0x1e, 0x32, 0x1b, 0x55, 0xa4, 0x79, 0x0e, 0x93, 0x0a, 0x0d, + 0x91, 0x4e, 0xc3, 0x2b, 0x8d, 0xf5, 0xe6, 0xac, 0xcb, 0x91, 0x65, 0x36, 0x39, 0xc1, 0x2d, 0x87, + 0x0a, 0x71, 0x8b, 0x51, 0x6b, 0x6b, 0x83, 0x13, 0xed, 0x6c, 0x50, 0xfe, 0x26, 0xe4, 0x7c, 0xf3, + 0xa0, 0x59, 0xb8, 0x94, 0xa7, 0x11, 0x35, 0x39, 0x91, 0xf8, 0x81, 0x35, 0x66, 0x72, 0xcc, 0x7a, + 0x7d, 0x53, 0xa3, 0x3f, 0xe5, 0xc7, 0x90, 0x0f, 0x11, 0x6f, 0xe0, 0x52, 0x81, 0x52, 0xaf, 0xb4, + 0x89, 0xd7, 0x89, 0x64, 0x1b, 0x58, 0xcd, 0x05, 0xe9, 0x36, 0xb0, 0xfc, 0x01, 0x14, 0x0f, 0xc8, + 0x91, 0xc2, 0xb1, 0x35, 0x76, 0x9e, 0xb3, 0x10, 0x2e, 0x15, 0xa9, 0x28, 0x2f, 0x56, 0x3a, 0x1c, + 0xf2, 0x59, 0xd8, 0xa1, 0x88, 0x77, 0x05, 0x9e, 0x5a, 0x38, 0x88, 0x8c, 0xc8, 0x6f, 0xc1, 0x49, + 0x8b, 0x98, 0x6f, 0x54, 0x8d, 0xc8, 0x26, 0x8e, 0x6a, 0x96, 0xe4, 0x45, 0x69, 0x25, 0xab, 0x96, + 0x2c, 0xbc, 0x19, 0xd6, 0xca, 0x2d, 0x36, 0x2f, 0x7f, 0x09, 0x66, 0x63, 0x96, 0xec, 0x1d, 0xd1, + 0x78, 0x39, 0xc9, 0x02, 0x48, 0xd8, 0x9a, 0xb7, 0x8e, 0x48, 0xf4, 0xbc, 0x02, 0x33, 0x1c, 0xc1, + 0xcf, 0xa9, 0x3c, 0xc8, 0x4e, 0xd1, 0x58, 0x37, 0x49, 0x67, 0x5b, 0x4e, 0x4e, 0x42, 0xee, 0xbd, + 0x74, 0x36, 0x5b, 0x18, 0xbd, 0x97, 0xce, 0x8e, 0x16, 0xe0, 0x5e, 0x3a, 0x0b, 0x85, 0xb1, 0x7b, + 0xe9, 0xec, 0x78, 0x61, 0xe2, 0x5e, 0x3a, 0x9b, 0x2b, 0xe4, 0x95, 0xff, 0x94, 0x60, 0x76, 0xc3, + 0xa9, 0x56, 0xff, 0x9f, 0x04, 0xd4, 0x3f, 0xc8, 0x42, 0x29, 0xce, 0xee, 0x17, 0x11, 0xf5, 0x8b, + 0x88, 0xfa, 0xdc, 0x23, 0xea, 0x78, 0xdb, 0x88, 0x9a, 0x18, 0x9b, 0x72, 0xcf, 0x2d, 0x36, 0xfd, + 0x7c, 0x06, 0xec, 0x0e, 0x11, 0xb1, 0x78, 0x9c, 0x88, 0x28, 0xf7, 0x17, 0x11, 0x27, 0x0a, 0x39, + 0xe5, 0x7b, 0x12, 0x2c, 0xa8, 0x08, 0x23, 0x2f, 0x12, 0xb4, 0x5f, 0x42, 0x3c, 0x54, 0xca, 0x70, + 0x32, 0x79, 0x2b, 0x2c, 0x56, 0x29, 0x3f, 0x4a, 0xc1, 0xa2, 0x8a, 0x0c, 0xc7, 0x35, 0x83, 0xe7, + 0x73, 0xee, 0xdd, 0x7d, 0x6c, 0xf8, 0x3d, 0x90, 0xe3, 0x37, 0xb5, 0xfe, 0x77, 0x5e, 0x8c, 0x5d, + 0xd1, 0xe4, 0xd7, 0x41, 0x16, 0x2e, 0x68, 0x46, 0xc3, 0x57, 0xc1, 0x9f, 0x11, 0x91, 0x65, 0x16, + 0x46, 0xa8, 0xef, 0xfa, 0x11, 0x6b, 0x98, 0xfc, 0x5c, 0x37, 0xe5, 0x53, 0x00, 0xe2, 0x4a, 0xce, + 0x03, 0xd3, 0xa8, 0x3a, 0xca, 0x47, 0xd6, 0x4d, 0xf9, 0x43, 0x18, 0xaf, 0x3b, 0xd5, 0xaa, 0x7f, + 0xa3, 0x66, 0x31, 0xe9, 0xcd, 0xae, 0x37, 0x6a, 0x92, 0x04, 0x82, 0x92, 0x0b, 0x2a, 0x5a, 0x1d, + 0x23, 0x24, 0x85, 0x10, 0xfd, 0x2b, 0xcb, 0xc8, 0x31, 0xaf, 0x2c, 0x9f, 0x64, 0x61, 0xa9, 0x83, + 0xaa, 0x78, 0xf2, 0x89, 0xe5, 0x0c, 0xe9, 0xd8, 0x39, 0xa3, 0x63, 0x3e, 0x18, 0xea, 0x98, 0x0f, + 0xfa, 0x53, 0xda, 0x0a, 0x14, 0xda, 0xe4, 0x9b, 0x1c, 0x0e, 0xd3, 0x8d, 0xa5, 0xb1, 0x4c, 0x3c, + 0x8d, 0x05, 0xca, 0x09, 0xc3, 0xe1, 0x72, 0xc2, 0x55, 0x28, 0xf1, 0xf8, 0x1e, 0x28, 0x26, 0xf0, + 0x93, 0xd6, 0x08, 0x3d, 0x69, 0xcd, 0xb0, 0xf9, 0x56, 0x81, 0x80, 0x9f, 0xb3, 0x9e, 0xc0, 0xac, + 0xe7, 0xea, 0x36, 0xb6, 0xc8, 0xb2, 0xa1, 0xcb, 0x30, 0xbf, 0x61, 0x7f, 0xb5, 0x5b, 0xc0, 0xdd, + 0x12, 0xe8, 0x41, 0xe5, 0xd1, 0x9a, 0xc8, 0xb4, 0x97, 0x34, 0x25, 0xef, 0xc2, 0xa9, 0x84, 0xda, + 0x47, 0x20, 0xd5, 0x8d, 0xf6, 0x91, 0xea, 0xe6, 0x63, 0x7e, 0xd5, 0xca, 0x7a, 0x4b, 0x30, 0x1e, + 0x4a, 0x38, 0x63, 0x34, 0xe1, 0x8c, 0x6d, 0x07, 0x32, 0xcd, 0x1d, 0xc8, 0xb5, 0xd4, 0x49, 0x6b, + 0x2e, 0xe3, 0x3d, 0xd6, 0x5c, 0x26, 0x7c, 0x3c, 0x5a, 0x61, 0x59, 0x83, 0x71, 0xa1, 0x69, 0x4a, + 0x66, 0xa2, 0x47, 0x32, 0x63, 0x1c, 0x8b, 0x12, 0x71, 0x60, 0xe4, 0x49, 0x03, 0xf1, 0x6c, 0x97, + 0x5a, 0x19, 0xbb, 0xfc, 0x6e, 0xa5, 0xa7, 0x72, 0x7b, 0xa5, 0xab, 0xf7, 0x54, 0xde, 0x61, 0x74, + 0x6f, 0xd9, 0x9e, 0xdb, 0x54, 0xc5, 0x2a, 0x2d, 0xd7, 0xcd, 0x1f, 0xcf, 0x75, 0xe5, 0x37, 0x21, + 0xcb, 0x0b, 0x9e, 0x24, 0xcd, 0x91, 0x2d, 0x2f, 0x85, 0xd5, 0x26, 0xaa, 0xd5, 0x04, 0xff, 0x01, + 0x83, 0x54, 0x7d, 0x94, 0xf9, 0x0f, 0x61, 0x3c, 0xb8, 0x31, 0xb9, 0x00, 0xa9, 0x7d, 0xd4, 0xe4, + 0x61, 0x98, 0xfc, 0x29, 0x5f, 0x83, 0xcc, 0x81, 0x5e, 0x6d, 0xb4, 0x39, 0x21, 0xd2, 0x82, 0x79, + 0xd0, 0xd9, 0x09, 0xb5, 0xa6, 0xca, 0x50, 0xae, 0x0d, 0x5d, 0x95, 0x58, 0xfa, 0x0a, 0x24, 0x83, + 0xeb, 0x86, 0x67, 0x1d, 0x58, 0x5e, 0xf3, 0x8b, 0x64, 0xd0, 0x6f, 0x32, 0x08, 0x4a, 0xee, 0x05, + 0x26, 0x83, 0xbf, 0x49, 0x8b, 0x64, 0x90, 0xa8, 0x2a, 0x9e, 0x0c, 0x1e, 0x42, 0x3e, 0x22, 0x2e, + 0x9e, 0x0e, 0x96, 0xc3, 0xbc, 0x04, 0xe2, 0x14, 0x3b, 0xff, 0x35, 0xa9, 0x08, 0xd5, 0x5c, 0x58, + 0xa4, 0x31, 0xf7, 0x1d, 0x3a, 0x8e, 0xfb, 0x06, 0xe2, 0x73, 0x2a, 0x1c, 0x9f, 0x11, 0x94, 0xc5, + 0x11, 0x98, 0x0f, 0x69, 0x91, 0xb0, 0x93, 0xee, 0x71, 0xc1, 0x05, 0x4e, 0xe7, 0x3a, 0x23, 0xb3, + 0x19, 0x0a, 0x42, 0x0f, 0xa0, 0xb8, 0x87, 0x74, 0xd7, 0xdb, 0x46, 0xba, 0xa7, 0x99, 0xc8, 0xd3, + 0xad, 0x2a, 0xe6, 0x45, 0xe4, 0xee, 0x85, 0xd2, 0x82, 0x8f, 0x7a, 0x93, 0x61, 0xc6, 0x33, 0xee, + 0xf0, 0xb1, 0x33, 0xee, 0x85, 0x80, 0xe3, 0xf8, 0x0e, 0x45, 0x6d, 0x64, 0xb4, 0xe5, 0x0d, 0x0f, + 0xc5, 0x44, 0xcb, 0x8a, 0xb2, 0xc7, 0xb4, 0xa2, 0x1f, 0x4b, 0xf0, 0x0a, 0x33, 0x96, 0x50, 0x54, + 0xe4, 0x75, 0xe0, 0xbe, 0x7c, 0xde, 0x81, 0x02, 0xaf, 0x3e, 0xa3, 0xc8, 0xb3, 0xc4, 0xcd, 0xae, + 0x7e, 0xd3, 0xc3, 0x16, 0xd4, 0xbc, 0xa0, 0xce, 0x07, 0x94, 0xdf, 0x18, 0x82, 0x33, 0x9d, 0x11, + 0xb9, 0x13, 0xe0, 0xd6, 0xe9, 0x42, 0x3c, 0xc6, 0x70, 0x2f, 0xb8, 0xfb, 0xbc, 0xf2, 0x06, 0xb9, + 0x4a, 0x86, 0x3d, 0x0f, 0x41, 0x4e, 0xe7, 0x8e, 0x49, 0x73, 0x36, 0x2e, 0x0d, 0xd1, 0xb8, 0xff, + 0xd6, 0x71, 0x83, 0x08, 0x5f, 0x68, 0x42, 0x0f, 0x4c, 0x61, 0xe5, 0xcf, 0x25, 0x12, 0xb1, 0x63, + 0x42, 0xb8, 0xad, 0x5b, 0xd5, 0xbe, 0xb4, 0xb7, 0x07, 0xb9, 0x1d, 0x8a, 0x13, 0xd1, 0xdd, 0xf5, + 0xe3, 0xe8, 0x2e, 0xb4, 0xba, 0x3a, 0xb1, 0x13, 0xfc, 0xa9, 0xbc, 0x42, 0xe2, 0x56, 0x5b, 0x14, + 0x7e, 0x2b, 0xf9, 0xb1, 0x04, 0x4a, 0x3c, 0xba, 0xdd, 0x15, 0x9e, 0xd7, 0x07, 0x63, 0xf5, 0xa0, + 0xaf, 0x87, 0x79, 0x5b, 0xeb, 0x81, 0xb7, 0x6e, 0x5b, 0x08, 0x84, 0x03, 0xc1, 0xe0, 0x06, 0x71, + 0xa9, 0x0e, 0x78, 0xdc, 0x40, 0x5e, 0x85, 0x82, 0xa1, 0xdb, 0x06, 0xf2, 0xb3, 0x0c, 0x62, 0xfb, + 0xcf, 0xaa, 0x79, 0x36, 0xae, 0x8a, 0xe1, 0xa0, 0x97, 0x06, 0x69, 0xbe, 0x24, 0x2f, 0xed, 0xb4, + 0x85, 0xb8, 0x97, 0x9e, 0xf5, 0x9d, 0xb4, 0x0d, 0x1e, 0xd7, 0x78, 0xc0, 0x90, 0x83, 0x80, 0xff, + 0xf7, 0x86, 0xdc, 0x76, 0xf5, 0xf6, 0x86, 0x9c, 0x84, 0xc2, 0xd9, 0xfa, 0x0b, 0x6a, 0xc8, 0x71, + 0xfe, 0xa9, 0x86, 0xfb, 0x62, 0xec, 0x57, 0x20, 0x17, 0xb6, 0x97, 0x3e, 0xac, 0xb8, 0xdb, 0xfa, + 0xea, 0x44, 0xc8, 0xe4, 0x94, 0xe5, 0x64, 0x7b, 0xf3, 0x91, 0x38, 0x73, 0x7f, 0x3b, 0x04, 0xe5, + 0x4d, 0x6b, 0xd7, 0xd6, 0xab, 0x83, 0x3c, 0x66, 0xef, 0x40, 0x0e, 0x53, 0x22, 0x11, 0xc6, 0xde, + 0xee, 0xfe, 0x9a, 0xdd, 0x71, 0x6d, 0x75, 0x82, 0x91, 0x15, 0x5b, 0xb1, 0x60, 0x01, 0x1d, 0x79, + 0xc8, 0x25, 0x2b, 0x25, 0x9c, 0x4e, 0x53, 0xfd, 0x9e, 0x4e, 0xe7, 0x04, 0xb5, 0xd8, 0x94, 0x5c, + 0x81, 0x49, 0x63, 0xcf, 0xaa, 0x9a, 0xad, 0x75, 0x1c, 0xbb, 0xda, 0xa4, 0x87, 0x97, 0xac, 0x5a, + 0xa4, 0x53, 0x02, 0xe9, 0x1b, 0x76, 0xb5, 0xa9, 0x2c, 0xc1, 0xe9, 0xb6, 0xbc, 0x70, 0x59, 0xff, + 0x83, 0x04, 0xe7, 0x38, 0x8c, 0xe5, 0xed, 0x0d, 0xdc, 0x41, 0xf0, 0x5d, 0x09, 0xe6, 0xb8, 0xd4, + 0x0f, 0x2d, 0x6f, 0x4f, 0x4b, 0x6a, 0x27, 0xb8, 0xdb, 0xab, 0x02, 0xba, 0x6d, 0x48, 0x9d, 0xc1, + 0x61, 0x40, 0x61, 0x67, 0xd7, 0x61, 0xa5, 0x3b, 0x89, 0x8e, 0x0f, 0xc1, 0xca, 0x5f, 0x49, 0x70, + 0x5a, 0x45, 0x35, 0xe7, 0x00, 0x31, 0x4a, 0xc7, 0x7c, 0x7f, 0x78, 0x71, 0x37, 0x96, 0xf0, 0x55, + 0x23, 0x15, 0xb9, 0x6a, 0x28, 0x0a, 0x09, 0x7b, 0xed, 0xb6, 0x2f, 0x74, 0x3f, 0x04, 0x4b, 0x5b, + 0xc8, 0xad, 0x59, 0xb6, 0xee, 0xa1, 0x41, 0xb4, 0xee, 0x40, 0xd1, 0x13, 0x74, 0x22, 0xca, 0xbe, + 0xd1, 0x55, 0xd9, 0x5d, 0x77, 0xa0, 0x16, 0x7c, 0xe2, 0x3f, 0x07, 0x3e, 0x77, 0x06, 0x94, 0x4e, + 0x1c, 0x71, 0xd1, 0xff, 0xb7, 0x04, 0xe5, 0x9b, 0x88, 0xa4, 0xaa, 0x41, 0xe4, 0xfe, 0xe2, 0xac, + 0xeb, 0x55, 0x28, 0xf8, 0x94, 0x79, 0x01, 0x9f, 0xdf, 0x86, 0xfd, 0xf2, 0x3a, 0xaf, 0xf4, 0xd3, + 0xf7, 0x85, 0xaa, 0x83, 0x51, 0xb2, 0x84, 0x64, 0x36, 0x17, 0x0d, 0x4b, 0x6d, 0x79, 0xe7, 0xf2, + 0xf9, 0x53, 0x09, 0x4e, 0xd1, 0xfa, 0xf2, 0x80, 0xed, 0x4c, 0x2e, 0xa1, 0xd1, 0x77, 0x3b, 0x53, + 0xc7, 0x95, 0xd5, 0x71, 0x4a, 0x54, 0xc4, 0x9a, 0x37, 0xa0, 0xdc, 0x0e, 0xbc, 0x73, 0x84, 0xf9, + 0xfd, 0x14, 0x2c, 0x73, 0x22, 0x2c, 0x03, 0x0e, 0xc2, 0x6a, 0xad, 0x4d, 0x16, 0xbf, 0xdd, 0x03, + 0xaf, 0x3d, 0x6c, 0x21, 0x92, 0xc8, 0xe5, 0x37, 0x03, 0xfe, 0xc7, 0x3b, 0x99, 0xe2, 0x75, 0x93, + 0x92, 0x00, 0x59, 0x17, 0x10, 0xa2, 0x7e, 0xd2, 0xc5, 0x7d, 0xd3, 0x2f, 0xde, 0x7d, 0x33, 0xed, + 0xdc, 0x77, 0x05, 0xce, 0x76, 0x93, 0x08, 0x37, 0xd1, 0x8f, 0x86, 0x60, 0x41, 0xdc, 0xff, 0x83, + 0x57, 0x8e, 0xcf, 0x85, 0xff, 0x5e, 0x81, 0x19, 0x0b, 0x6b, 0x09, 0x3d, 0x56, 0x54, 0x37, 0x59, + 0x75, 0xd2, 0xc2, 0xb7, 0xa3, 0xcd, 0x53, 0xad, 0x6b, 0x7f, 0xfa, 0x98, 0xd7, 0xfe, 0x32, 0x9c, + 0x4c, 0x96, 0x08, 0x17, 0xd9, 0xbf, 0x49, 0x70, 0xee, 0x11, 0x72, 0xad, 0x9d, 0x66, 0x6c, 0x71, + 0xbf, 0x92, 0xf2, 0xb9, 0x10, 0x9f, 0x2f, 0x89, 0xd4, 0x31, 0x25, 0x71, 0x1e, 0x56, 0xba, 0x33, + 0xca, 0xa5, 0xf2, 0x3f, 0x29, 0x72, 0x97, 0x21, 0x37, 0xbb, 0x35, 0x62, 0x8e, 0xfe, 0x2e, 0x8e, + 0x73, 0x0f, 0x7b, 0x71, 0x22, 0xa9, 0x00, 0xef, 0xb1, 0x0c, 0x38, 0xbc, 0xef, 0xea, 0x45, 0x36, + 0xe5, 0x3b, 0xfa, 0xba, 0x29, 0xbf, 0x0f, 0x93, 0xe2, 0xce, 0x66, 0x0e, 0xe2, 0xdb, 0xb2, 0x4f, + 0xa5, 0xb5, 0x97, 0x0d, 0xff, 0xb6, 0x49, 0x5f, 0x5a, 0x68, 0xfd, 0x31, 0xd3, 0x4f, 0xfd, 0x31, + 0xdf, 0x42, 0x67, 0x05, 0x48, 0x5f, 0xe1, 0xc3, 0xc7, 0xac, 0xc4, 0x5f, 0x85, 0x52, 0x4c, 0x3c, + 0x22, 0x71, 0x8e, 0xf0, 0x27, 0xad, 0xb0, 0x8c, 0x78, 0xfe, 0x54, 0xce, 0x91, 0x34, 0xd0, 0x51, + 0xfb, 0x22, 0x27, 0xa6, 0xe0, 0x02, 0x33, 0xaa, 0x44, 0x48, 0x1a, 0x9b, 0x08, 0x9d, 0xbe, 0x0c, + 0x66, 0x0b, 0x0a, 0xd1, 0x6e, 0xdc, 0xfe, 0xcd, 0x25, 0x1f, 0xe9, 0xbe, 0x95, 0x55, 0xc8, 0xb3, + 0xa8, 0x3b, 0xc0, 0x99, 0x2c, 0x67, 0x84, 0xb8, 0x6c, 0x67, 0x80, 0xe9, 0x76, 0x06, 0xd8, 0x49, + 0x23, 0x99, 0x4e, 0x1a, 0x19, 0xd8, 0x18, 0x94, 0x8b, 0x50, 0xe9, 0x55, 0x51, 0x5c, 0xb7, 0x7f, + 0x2c, 0xc1, 0xe2, 0x4d, 0x84, 0x0d, 0xd7, 0xda, 0x1e, 0xe8, 0x44, 0xf8, 0x4d, 0x18, 0xe9, 0xb7, + 0x3e, 0xd1, 0x6d, 0x59, 0x55, 0x50, 0x54, 0x7e, 0x2f, 0x0d, 0x4b, 0x1d, 0xa0, 0xf9, 0x71, 0xe7, + 0x5b, 0x50, 0x68, 0x3d, 0x2b, 0x1a, 0x8e, 0xbd, 0x63, 0xed, 0xf2, 0xb2, 0xe8, 0xa5, 0xe4, 0xbd, + 0x24, 0xaa, 0x7f, 0x8d, 0x22, 0xaa, 0x79, 0x14, 0x1e, 0x90, 0x77, 0x61, 0x36, 0xe1, 0xf5, 0x92, + 0xf6, 0x8f, 0x33, 0x86, 0x57, 0xfb, 0x58, 0x84, 0x3d, 0x93, 0x1e, 0x26, 0x0d, 0xcb, 0xdf, 0x02, + 0xb9, 0x8e, 0x6c, 0xd3, 0xb2, 0x77, 0x35, 0x5e, 0x1a, 0xb5, 0x10, 0x2e, 0xa5, 0x68, 0xb1, 0xf5, + 0x42, 0xfb, 0x35, 0x36, 0x18, 0x8e, 0xa8, 0x6f, 0xd0, 0x15, 0x8a, 0xf5, 0xd0, 0xa0, 0x85, 0xb0, + 0xfc, 0x6d, 0x28, 0x08, 0xea, 0xd4, 0xcc, 0x5d, 0xda, 0x15, 0x46, 0x68, 0x5f, 0xe9, 0x4a, 0x3b, + 0x6c, 0x54, 0x74, 0x85, 0x7c, 0x3d, 0x30, 0xe5, 0x22, 0x5b, 0x46, 0x30, 0x2d, 0xe8, 0x87, 0xd3, + 0x7f, 0xa6, 0x9b, 0x26, 0xf8, 0x22, 0xb1, 0xd7, 0xe4, 0xc9, 0x7a, 0x7c, 0x42, 0xf9, 0xf5, 0x14, + 0x94, 0x54, 0xfe, 0x01, 0x06, 0xa2, 0x91, 0x14, 0x3f, 0xba, 0xfc, 0xb9, 0x48, 0x57, 0x3b, 0x30, + 0x1d, 0xee, 0x61, 0x6a, 0x6a, 0x96, 0x87, 0x6a, 0x42, 0x83, 0x97, 0xfb, 0xea, 0x63, 0x6a, 0xae, + 0x7b, 0xa8, 0xa6, 0x4e, 0x1e, 0xc4, 0xc6, 0xb0, 0x7c, 0x15, 0x86, 0x69, 0xfe, 0xc1, 0x3c, 0xb3, + 0xb5, 0x7d, 0xe8, 0xb9, 0xa9, 0x7b, 0xfa, 0x8d, 0xaa, 0xb3, 0xad, 0x72, 0x78, 0xf9, 0x36, 0xe4, + 0x6c, 0x74, 0x48, 0xdb, 0x81, 0x38, 0x85, 0x4c, 0x8f, 0x14, 0xc6, 0x6d, 0x74, 0xa8, 0x36, 0x58, + 0xe6, 0xc2, 0xca, 0x02, 0xcc, 0x25, 0xa8, 0x80, 0xc7, 0x95, 0xbf, 0xa7, 0xf7, 0x28, 0x3e, 0xfb, + 0x38, 0xd8, 0x29, 0x25, 0xb4, 0xa4, 0xc5, 0xba, 0xb1, 0x98, 0xb3, 0x5e, 0x4d, 0x94, 0x50, 0xe0, + 0x33, 0x98, 0xa0, 0x2a, 0x42, 0xe5, 0x85, 0x48, 0x47, 0xd6, 0x32, 0xe4, 0x5c, 0x54, 0x73, 0x3c, + 0xa4, 0x19, 0xd5, 0x06, 0xf6, 0x90, 0x4b, 0xf5, 0x3b, 0xaa, 0x4e, 0xb0, 0xd1, 0x35, 0x36, 0x18, + 0xb3, 0x96, 0x54, 0xcc, 0x5a, 0x94, 0x45, 0x72, 0xd5, 0x4a, 0xe6, 0x85, 0xb3, 0xfb, 0x87, 0x12, + 0xcc, 0x6c, 0x36, 0x6d, 0x63, 0x73, 0x4f, 0x77, 0x4d, 0xde, 0xc8, 0xc5, 0xf9, 0x5c, 0x86, 0x1c, + 0x76, 0x1a, 0xae, 0xd1, 0xda, 0x06, 0xb3, 0xc7, 0x09, 0x36, 0x2a, 0xb6, 0x31, 0x07, 0x59, 0x4c, + 0x90, 0x45, 0x2b, 0x4a, 0x46, 0x1d, 0xa1, 0xbf, 0xd7, 0x4d, 0xf9, 0x3a, 0x8c, 0xb1, 0x8e, 0x32, + 0xf6, 0x64, 0x98, 0xea, 0xf1, 0xc9, 0x10, 0x18, 0x12, 0x19, 0x56, 0xe6, 0x60, 0x36, 0xb6, 0x3d, + 0xbe, 0xf5, 0x9f, 0x66, 0x60, 0x92, 0xcc, 0x89, 0xc8, 0xd1, 0x87, 0x17, 0x9d, 0x86, 0x31, 0x5f, + 0x85, 0x7c, 0xdb, 0xa3, 0x2a, 0x88, 0xa1, 0x75, 0x33, 0x70, 0x03, 0x4d, 0x05, 0x3f, 0x76, 0x28, + 0xc1, 0x88, 0x48, 0x88, 0x2c, 0x8b, 0x8a, 0x9f, 0x6d, 0x9e, 0xc3, 0x33, 0x6d, 0x9e, 0xc3, 0xe3, + 0x5d, 0x1c, 0xc3, 0xc7, 0xeb, 0xe2, 0x48, 0xea, 0xd7, 0x19, 0x49, 0xec, 0xd7, 0x89, 0x3e, 0x18, + 0x67, 0x8f, 0xf3, 0x60, 0xbc, 0xc1, 0x9b, 0x4b, 0x5b, 0x0f, 0x39, 0x94, 0xd6, 0x68, 0x8f, 0xb4, + 0x8a, 0x04, 0xd9, 0x7f, 0x80, 0xa1, 0x14, 0xaf, 0xc1, 0x88, 0x78, 0xf7, 0x85, 0x1e, 0xdf, 0x7d, + 0x05, 0x42, 0xf0, 0xf9, 0x7a, 0x2c, 0xfc, 0x7c, 0xbd, 0x06, 0xe3, 0xac, 0xf5, 0x90, 0x7f, 0xcf, + 0x33, 0xde, 0xe3, 0xf7, 0x3c, 0x63, 0xb4, 0x23, 0x91, 0x7f, 0xca, 0x73, 0x11, 0xe8, 0xa7, 0x38, + 0x34, 0x1d, 0x20, 0x57, 0xb3, 0x4c, 0x64, 0x7b, 0x96, 0xd7, 0xa4, 0x9d, 0x32, 0xa3, 0xaa, 0x4c, + 0xe6, 0x1e, 0xd3, 0xa9, 0x75, 0x3e, 0x23, 0x3f, 0x86, 0x7c, 0x24, 0x84, 0xf2, 0x26, 0xd0, 0x4a, + 0x7f, 0xc1, 0x53, 0xcd, 0x85, 0x03, 0xa7, 0x32, 0x03, 0x53, 0x61, 0x4b, 0xe7, 0x2e, 0xf0, 0x3d, + 0x09, 0x16, 0xc4, 0xf9, 0xe2, 0x25, 0xf7, 0x7b, 0x2b, 0xff, 0x25, 0xc1, 0xc9, 0xe4, 0xbd, 0xf0, + 0x63, 0xce, 0x1e, 0x4c, 0x1a, 0xba, 0xb1, 0x87, 0xc2, 0x5f, 0x00, 0x0e, 0x1c, 0x3c, 0x8b, 0x94, + 0x68, 0x70, 0x48, 0xb6, 0x61, 0xc6, 0xd4, 0x3d, 0x7d, 0x5b, 0xc7, 0xd1, 0xc5, 0x86, 0x06, 0x5c, + 0x6c, 0x4a, 0xd0, 0x0d, 0x8e, 0x2a, 0xff, 0x28, 0xc1, 0xbc, 0x60, 0x9d, 0xab, 0xec, 0xae, 0x83, + 0x83, 0x8f, 0xa3, 0x7b, 0x0e, 0xf6, 0x34, 0xdd, 0x34, 0x5d, 0x84, 0xb1, 0xd0, 0x02, 0x19, 0xbb, + 0xce, 0x86, 0x3a, 0x05, 0xd1, 0xee, 0x61, 0xbe, 0xcd, 0xa1, 0x20, 0x3d, 0xf8, 0xa1, 0x40, 0xf9, + 0x97, 0x80, 0x81, 0x85, 0x38, 0xe3, 0x3a, 0x7d, 0x05, 0x26, 0xe8, 0x3e, 0xb1, 0x66, 0x37, 0x6a, + 0xdb, 0x3c, 0x45, 0x64, 0xd4, 0x71, 0x36, 0xf8, 0x90, 0x8e, 0xc9, 0x0b, 0x30, 0x2a, 0x98, 0x63, + 0x8f, 0xef, 0x19, 0x35, 0xcb, 0xb9, 0xc3, 0xf2, 0x07, 0x90, 0x6f, 0xb1, 0x47, 0x55, 0xd9, 0xf1, + 0xb3, 0x46, 0x1f, 0x96, 0xb0, 0xe0, 0xf7, 0x5f, 0xac, 0x11, 0x3c, 0x7a, 0xe8, 0xca, 0xd9, 0xa1, + 0x31, 0x1a, 0x23, 0xb8, 0xd8, 0x59, 0x73, 0x91, 0xf8, 0x79, 0x2f, 0x9d, 0x4d, 0x17, 0x32, 0x4a, + 0x05, 0x8a, 0x6b, 0x55, 0x07, 0x23, 0x9a, 0x60, 0x84, 0xc2, 0x82, 0xda, 0x90, 0x42, 0xda, 0x50, + 0xa6, 0x40, 0x0e, 0xc2, 0x73, 0x3f, 0x7c, 0x1d, 0xf2, 0x77, 0x90, 0xd7, 0x2b, 0x8d, 0x0f, 0xa1, + 0xd0, 0x82, 0xe6, 0x82, 0xbc, 0x0f, 0xc0, 0xc1, 0xc9, 0xc1, 0x9c, 0xf9, 0xc4, 0x85, 0x5e, 0xcc, + 0x94, 0x92, 0xa1, 0xac, 0x33, 0x21, 0x93, 0x3f, 0x95, 0x7f, 0x92, 0xa0, 0xc8, 0x1e, 0x33, 0x82, + 0xf5, 0xb5, 0xf6, 0x5b, 0x92, 0x6f, 0x43, 0x96, 0x9c, 0x11, 0x76, 0x49, 0xc8, 0x1a, 0xa2, 0xdd, + 0xdf, 0xe7, 0x3b, 0xf7, 0x96, 0xb3, 0x67, 0x48, 0x86, 0xa1, 0xfa, 0xb8, 0xc1, 0x3e, 0xaf, 0x54, + 0xa8, 0xcf, 0x6b, 0x1d, 0xf2, 0x07, 0x16, 0xb6, 0xb6, 0xad, 0x2a, 0xed, 0xc3, 0xe8, 0xa7, 0x83, + 0x28, 0xd7, 0x42, 0xa4, 0x47, 0x82, 0x29, 0x90, 0x83, 0xbc, 0x89, 0xe2, 0xa2, 0x04, 0xa7, 0xee, + 0x20, 0x4f, 0x6d, 0x7d, 0xdc, 0xcc, 0xbb, 0xf7, 0xfc, 0xf3, 0xcc, 0x7d, 0x18, 0xa6, 0x6d, 0x95, + 0xc4, 0x01, 0x53, 0x6d, 0x0d, 0x2c, 0xf0, 0x75, 0x34, 0x2b, 0xf6, 0xfa, 0x3f, 0x69, 0x03, 0xa6, + 0xca, 0x69, 0x10, 0xb7, 0xe4, 0xc7, 0x22, 0xda, 0x1f, 0xc4, 0xcf, 0x10, 0x63, 0x7c, 0x8c, 0x58, + 0xa6, 0xf2, 0xc3, 0x21, 0x28, 0xb7, 0xdb, 0x12, 0x57, 0xfb, 0x77, 0x20, 0xc7, 0x54, 0xe2, 0x37, + 0x25, 0xb2, 0xbd, 0xbd, 0xd7, 0x63, 0x3f, 0x4c, 0x67, 0xf2, 0xcc, 0x38, 0xc4, 0x28, 0x6b, 0xa5, + 0x64, 0xfe, 0x2a, 0xc6, 0xe6, 0x9b, 0x20, 0xc7, 0x81, 0x82, 0x6d, 0x8d, 0x19, 0xd6, 0xd6, 0xf8, + 0x20, 0xdc, 0xd6, 0xf8, 0x46, 0x9f, 0xb2, 0xf3, 0x77, 0xd6, 0xea, 0x74, 0x54, 0x9e, 0xc2, 0xe2, + 0x1d, 0xe4, 0xdd, 0xbc, 0xff, 0x4e, 0x07, 0x9d, 0x3d, 0xe2, 0x9f, 0xa7, 0x10, 0xaf, 0x10, 0xb2, + 0xe9, 0x77, 0x6d, 0xff, 0x42, 0x46, 0xbf, 0x58, 0x21, 0x7f, 0x61, 0xe5, 0x37, 0x25, 0x58, 0xea, + 0xb0, 0x38, 0xd7, 0xce, 0x87, 0x50, 0x0c, 0x90, 0xe5, 0xdd, 0x43, 0x52, 0xf4, 0xd2, 0xd9, 0xf3, + 0x26, 0xd4, 0x82, 0x1b, 0x1e, 0xc0, 0xca, 0xf7, 0x25, 0x98, 0xa2, 0x2d, 0xa0, 0x22, 0x1a, 0xf7, + 0x91, 0xb9, 0xbf, 0x11, 0xad, 0x5c, 0x7c, 0xb9, 0x6b, 0xe5, 0x22, 0x69, 0xa9, 0x56, 0xb5, 0x62, + 0x1f, 0xa6, 0x23, 0x00, 0x5c, 0x0e, 0x2a, 0x64, 0x23, 0xfd, 0x5a, 0x5f, 0xe9, 0x77, 0x29, 0xde, + 0x34, 0xe5, 0xd3, 0x51, 0x7e, 0x57, 0x82, 0x29, 0x15, 0xe9, 0xf5, 0x7a, 0x95, 0x55, 0x18, 0x71, + 0x1f, 0x9c, 0x6f, 0x46, 0x39, 0x4f, 0xee, 0xf9, 0x0e, 0xfe, 0x23, 0x00, 0xa6, 0x8e, 0xf8, 0x72, + 0x2d, 0xee, 0x67, 0x61, 0x3a, 0x02, 0xc0, 0x77, 0xfa, 0x67, 0x43, 0x30, 0xcd, 0x6c, 0x25, 0x6a, + 0x9d, 0xb7, 0x20, 0xed, 0x37, 0xf6, 0xe7, 0x82, 0x25, 0x82, 0xa4, 0x88, 0x79, 0x13, 0xe9, 0xe6, + 0x7d, 0xe4, 0x79, 0xc8, 0xa5, 0x7d, 0x64, 0xb4, 0xe7, 0x90, 0xa2, 0x77, 0x4a, 0xfe, 0xf1, 0x3b, + 0x58, 0x2a, 0xe9, 0x0e, 0xf6, 0x06, 0x94, 0x2c, 0x9b, 0x40, 0x58, 0x07, 0x48, 0x43, 0xb6, 0x1f, + 0x4e, 0x5a, 0xe5, 0xbe, 0x69, 0x7f, 0xfe, 0x96, 0x2d, 0x9c, 0x7d, 0xdd, 0x94, 0xcf, 0x43, 0xb1, + 0xa6, 0x1f, 0x59, 0xb5, 0x46, 0x4d, 0xab, 0x13, 0x78, 0x6c, 0x3d, 0x65, 0x5f, 0xf1, 0x67, 0xd4, + 0x3c, 0x9f, 0xd8, 0xd0, 0x77, 0xd1, 0xa6, 0xf5, 0x14, 0xc9, 0x67, 0x21, 0x4f, 0x3b, 0xfe, 0x29, + 0x20, 0x6b, 0x50, 0x1f, 0xa6, 0x0d, 0xea, 0xf4, 0x43, 0x00, 0x02, 0xc6, 0xbe, 0xc8, 0xfb, 0x77, + 0xf6, 0x41, 0x77, 0x48, 0x5e, 0xdc, 0x90, 0x9e, 0x93, 0xc0, 0x12, 0xfd, 0x72, 0xe8, 0x39, 0xfa, + 0x65, 0x12, 0xaf, 0xa9, 0x24, 0x5e, 0xff, 0x59, 0x82, 0xd9, 0x8d, 0x86, 0xbb, 0x8b, 0x7e, 0x11, + 0xad, 0x43, 0x99, 0x87, 0x52, 0x9c, 0x39, 0xd1, 0x26, 0x36, 0x04, 0xb3, 0x0f, 0xd0, 0x2f, 0x28, + 0xe7, 0x2f, 0xc4, 0x2f, 0x6e, 0x40, 0x29, 0x2e, 0x30, 0xee, 0x18, 0x09, 0x34, 0xa4, 0x24, 0x1a, + 0x3f, 0xa4, 0x1f, 0xb4, 0xed, 0xb8, 0x08, 0xef, 0x05, 0xcb, 0x8a, 0xfd, 0x04, 0xcf, 0xf7, 0xa3, + 0xc1, 0xf3, 0xeb, 0x3d, 0x06, 0xcf, 0xb6, 0xab, 0xb6, 0x62, 0x28, 0xfd, 0xc6, 0x2d, 0x09, 0x8e, + 0x1b, 0xcd, 0x0f, 0x24, 0x38, 0x7f, 0x07, 0xd9, 0xc8, 0xd5, 0x3d, 0x74, 0x5f, 0xc7, 0x9e, 0xb8, + 0xef, 0x46, 0xdc, 0xef, 0x65, 0x5c, 0x5f, 0x2f, 0xc0, 0x6b, 0x3d, 0xed, 0x8c, 0x73, 0x72, 0x1b, + 0x16, 0xc2, 0x67, 0xaf, 0x70, 0xed, 0xec, 0x1c, 0xe4, 0xc3, 0x25, 0x3c, 0x76, 0x6e, 0x18, 0x55, + 0x73, 0xa1, 0x1a, 0x1e, 0x56, 0x1a, 0x70, 0x32, 0x99, 0x0e, 0x37, 0x8c, 0x77, 0x61, 0x98, 0xdd, + 0xa5, 0xf8, 0xb9, 0xe3, 0xcd, 0x1e, 0x0f, 0x86, 0xfc, 0x76, 0x11, 0x25, 0xcb, 0x89, 0x29, 0x7f, + 0x3d, 0x0c, 0x33, 0xc9, 0x20, 0x9d, 0x6e, 0x09, 0x5f, 0x86, 0xd9, 0x9a, 0x7e, 0xa4, 0x45, 0x63, + 0x6f, 0xeb, 0x23, 0xb4, 0xa9, 0x9a, 0x7e, 0x14, 0x3d, 0x79, 0x99, 0xf2, 0x7d, 0x28, 0x30, 0x8a, + 0x55, 0xc7, 0xd0, 0xab, 0xbd, 0xd6, 0x02, 0x87, 0xc9, 0xe1, 0xbf, 0x24, 0xa9, 0xec, 0x80, 0x7c, + 0x9f, 0xa0, 0xd2, 0x8a, 0xd1, 0xd3, 0xb8, 0x68, 0xd9, 0x3b, 0xc0, 0x3b, 0x03, 0x89, 0xa6, 0xa2, + 0x86, 0x14, 0xc3, 0x0e, 0xcb, 0x11, 0x6d, 0xc9, 0xbf, 0x25, 0xc1, 0xe4, 0x9e, 0x6e, 0x9b, 0xce, + 0x01, 0x3f, 0xf6, 0x53, 0x33, 0x24, 0x57, 0xcb, 0x7e, 0x3e, 0x7e, 0x6a, 0xb3, 0x81, 0xbb, 0x9c, + 0xb0, 0x7f, 0xab, 0xe5, 0x9b, 0x90, 0xf7, 0x62, 0x13, 0x72, 0x1d, 0xce, 0x24, 0x6a, 0x22, 0x7a, + 0xc7, 0xea, 0xb5, 0xac, 0xb8, 0x18, 0x57, 0xdc, 0xa3, 0xd0, 0xad, 0x6b, 0xfe, 0xfb, 0x12, 0x4c, + 0x26, 0x88, 0x28, 0xe1, 0x0b, 0xa8, 0x0f, 0xc2, 0x57, 0x85, 0x3b, 0x03, 0x49, 0x65, 0x03, 0xb9, + 0x7c, 0xbd, 0xc0, 0xd5, 0x61, 0xfe, 0xbb, 0x12, 0xcc, 0xb6, 0x11, 0x57, 0xc2, 0x86, 0xd4, 0xf0, + 0x86, 0xbe, 0xd6, 0xe3, 0x86, 0x62, 0x0b, 0xd0, 0x4b, 0x44, 0xe0, 0x02, 0xf3, 0x1e, 0x4c, 0x27, + 0xc2, 0xc8, 0x6f, 0xc3, 0x49, 0xdf, 0x4a, 0x92, 0x9c, 0x45, 0xa2, 0xce, 0x32, 0x27, 0x60, 0x62, + 0x1e, 0xa3, 0xfc, 0x89, 0x04, 0x8b, 0xdd, 0xe4, 0x21, 0x2b, 0x30, 0xa1, 0x1b, 0xfb, 0xc8, 0x8c, + 0x90, 0x1d, 0xa3, 0x83, 0xdc, 0xf5, 0x3e, 0x80, 0xf9, 0x00, 0x4c, 0xd4, 0x3a, 0x7a, 0xfd, 0x68, + 0x68, 0xd6, 0x27, 0x19, 0x36, 0x0a, 0xe5, 0xb7, 0x25, 0x98, 0x57, 0xd1, 0x76, 0xc3, 0xaa, 0x9a, + 0x2f, 0xbb, 0xfc, 0x78, 0x8a, 0x24, 0xc6, 0x84, 0x9d, 0xf0, 0x78, 0xfd, 0x97, 0x43, 0xb0, 0x1c, + 0x6e, 0xa1, 0x6b, 0xb1, 0xc2, 0xde, 0x96, 0x5f, 0xc6, 0xff, 0xc8, 0xd8, 0x80, 0xc9, 0xe0, 0x53, + 0x12, 0xff, 0x8f, 0x06, 0x3d, 0x3f, 0x94, 0x14, 0x03, 0xef, 0x46, 0xec, 0xdf, 0x17, 0x84, 0x28, + 0xd2, 0x46, 0xc2, 0xfe, 0x6a, 0x2d, 0x3e, 0x45, 0x5a, 0xe4, 0xa2, 0x3a, 0x5e, 0x81, 0xb3, 0xdd, + 0x04, 0xc7, 0x65, 0xfc, 0x47, 0x12, 0x94, 0xdf, 0xad, 0x9b, 0x03, 0xb6, 0xc6, 0xfe, 0x72, 0xf4, + 0x7c, 0xd2, 0xbd, 0xfd, 0xbc, 0xf3, 0xa2, 0xad, 0xe3, 0xc9, 0x77, 0xe0, 0x74, 0x5b, 0x50, 0xff, + 0x2d, 0x3e, 0x7a, 0xd5, 0xfd, 0xfa, 0xf1, 0x97, 0x8f, 0x5e, 0x7a, 0x6f, 0xd4, 0x3f, 0xfe, 0xb4, + 0x7c, 0xe2, 0x27, 0x9f, 0x96, 0x4f, 0xfc, 0xec, 0xd3, 0xb2, 0xf4, 0x6b, 0xcf, 0xca, 0xd2, 0x8f, + 0x9e, 0x95, 0xa5, 0xbf, 0x7b, 0x56, 0x96, 0x3e, 0x7e, 0x56, 0x96, 0xfe, 0xf5, 0x59, 0x59, 0xfa, + 0xe9, 0xb3, 0xf2, 0x89, 0x9f, 0x3d, 0x2b, 0x4b, 0x1f, 0x7d, 0x56, 0x3e, 0xf1, 0xf1, 0x67, 0xe5, + 0x13, 0x3f, 0xf9, 0xac, 0x7c, 0xe2, 0xfd, 0x6b, 0xbb, 0x4e, 0x6b, 0x0f, 0x96, 0xd3, 0xf1, 0xdf, + 0x60, 0xfe, 0x52, 0x78, 0x64, 0x7b, 0x98, 0xaa, 0xfa, 0xca, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, + 0xbc, 0x66, 0x76, 0x03, 0x45, 0x53, 0x00, 0x00, } func (this *StartWorkflowExecutionRequest) Equal(that interface{}) bool { @@ -6306,6 +6317,14 @@ func (this *RecordWorkflowTaskStartedResponse) Equal(that interface{}) bool { if !this.Clock.Equal(that1.Clock) { return false } + if len(this.Messages) != len(that1.Messages) { + return false + } + for i := range this.Messages { + if !this.Messages[i].Equal(that1.Messages[i]) { + return false + } + } return true } func (this *RecordActivityTaskStartedRequest) Equal(that interface{}) bool { @@ -8938,7 +8957,7 @@ func (this *RecordWorkflowTaskStartedResponse) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 18) + s := make([]string, 0, 19) s = append(s, "&historyservice.RecordWorkflowTaskStartedResponse{") if this.WorkflowType != nil { s = append(s, "WorkflowType: "+fmt.Sprintf("%#v", this.WorkflowType)+",\n") @@ -8974,6 +8993,9 @@ func (this *RecordWorkflowTaskStartedResponse) GoString() string { if this.Clock != nil { s = append(s, "Clock: "+fmt.Sprintf("%#v", this.Clock)+",\n") } + if this.Messages != nil { + s = append(s, "Messages: "+fmt.Sprintf("%#v", this.Messages)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -9744,7 +9766,7 @@ func (this *GetReplicationMessagesResponse) GoString() string { keysForShardMessages = append(keysForShardMessages, k) } github_com_gogo_protobuf_sortkeys.Int32s(keysForShardMessages) - mapStringForShardMessages := "map[int32]*v114.ReplicationMessages{" + mapStringForShardMessages := "map[int32]*v115.ReplicationMessages{" for _, k := range keysForShardMessages { mapStringForShardMessages += fmt.Sprintf("%#v: %#v,", k, this.ShardMessages[k]) } @@ -10833,6 +10855,22 @@ func (m *RecordWorkflowTaskStartedResponse) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if len(m.Messages) > 0 { + for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Messages[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestResponse(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + } if m.Clock != nil { { size, err := m.Clock.MarshalToSizedBuffer(dAtA[:i]) @@ -14977,6 +15015,12 @@ func (m *RecordWorkflowTaskStartedResponse) Size() (n int) { l = m.Clock.Size() n += 1 + l + sovRequestResponse(uint64(l)) } + if len(m.Messages) > 0 { + for _, e := range m.Messages { + l = e.Size() + n += 2 + l + sovRequestResponse(uint64(l)) + } + } return n } @@ -16624,6 +16668,11 @@ func (this *RecordWorkflowTaskStartedResponse) String() string { if this == nil { return "nil" } + repeatedStringForMessages := "[]*Message{" + for _, f := range this.Messages { + repeatedStringForMessages += strings.Replace(fmt.Sprintf("%v", f), "Message", "v110.Message", 1) + "," + } + repeatedStringForMessages += "}" keysForQueries := make([]string, 0, len(this.Queries)) for k, _ := range this.Queries { keysForQueries = append(keysForQueries, k) @@ -16649,6 +16698,7 @@ func (this *RecordWorkflowTaskStartedResponse) String() string { `StartedTime:` + strings.Replace(fmt.Sprintf("%v", this.StartedTime), "Timestamp", "types.Timestamp", 1) + `,`, `Queries:` + mapStringForQueries + `,`, `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v15.VectorClock", 1) + `,`, + `Messages:` + repeatedStringForMessages + `,`, `}`, }, "") return s @@ -16674,7 +16724,7 @@ func (this *RecordActivityTaskStartedResponse) String() string { return "nil" } s := strings.Join([]string{`&RecordActivityTaskStartedResponse{`, - `ScheduledEvent:` + strings.Replace(fmt.Sprintf("%v", this.ScheduledEvent), "HistoryEvent", "v110.HistoryEvent", 1) + `,`, + `ScheduledEvent:` + strings.Replace(fmt.Sprintf("%v", this.ScheduledEvent), "HistoryEvent", "v111.HistoryEvent", 1) + `,`, `StartedTime:` + strings.Replace(fmt.Sprintf("%v", this.StartedTime), "Timestamp", "types.Timestamp", 1) + `,`, `Attempt:` + fmt.Sprintf("%v", this.Attempt) + `,`, `CurrentAttemptScheduledTime:` + strings.Replace(fmt.Sprintf("%v", this.CurrentAttemptScheduledTime), "Timestamp", "types.Timestamp", 1) + `,`, @@ -17018,7 +17068,7 @@ func (this *RecordChildExecutionCompletedRequest) String() string { `WorkflowExecution:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowExecution), "WorkflowExecution", "v14.WorkflowExecution", 1) + `,`, `ParentInitiatedId:` + fmt.Sprintf("%v", this.ParentInitiatedId) + `,`, `CompletedExecution:` + strings.Replace(fmt.Sprintf("%v", this.CompletedExecution), "WorkflowExecution", "v14.WorkflowExecution", 1) + `,`, - `CompletionEvent:` + strings.Replace(fmt.Sprintf("%v", this.CompletionEvent), "HistoryEvent", "v110.HistoryEvent", 1) + `,`, + `CompletionEvent:` + strings.Replace(fmt.Sprintf("%v", this.CompletionEvent), "HistoryEvent", "v111.HistoryEvent", 1) + `,`, `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v15.VectorClock", 1) + `,`, `ParentInitiatedVersion:` + fmt.Sprintf("%v", this.ParentInitiatedVersion) + `,`, `}`, @@ -17075,20 +17125,20 @@ func (this *DescribeWorkflowExecutionResponse) String() string { } repeatedStringForPendingActivities := "[]*PendingActivityInfo{" for _, f := range this.PendingActivities { - repeatedStringForPendingActivities += strings.Replace(fmt.Sprintf("%v", f), "PendingActivityInfo", "v111.PendingActivityInfo", 1) + "," + repeatedStringForPendingActivities += strings.Replace(fmt.Sprintf("%v", f), "PendingActivityInfo", "v112.PendingActivityInfo", 1) + "," } repeatedStringForPendingActivities += "}" repeatedStringForPendingChildren := "[]*PendingChildExecutionInfo{" for _, f := range this.PendingChildren { - repeatedStringForPendingChildren += strings.Replace(fmt.Sprintf("%v", f), "PendingChildExecutionInfo", "v111.PendingChildExecutionInfo", 1) + "," + repeatedStringForPendingChildren += strings.Replace(fmt.Sprintf("%v", f), "PendingChildExecutionInfo", "v112.PendingChildExecutionInfo", 1) + "," } repeatedStringForPendingChildren += "}" s := strings.Join([]string{`&DescribeWorkflowExecutionResponse{`, - `ExecutionConfig:` + strings.Replace(fmt.Sprintf("%v", this.ExecutionConfig), "WorkflowExecutionConfig", "v111.WorkflowExecutionConfig", 1) + `,`, - `WorkflowExecutionInfo:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowExecutionInfo), "WorkflowExecutionInfo", "v111.WorkflowExecutionInfo", 1) + `,`, + `ExecutionConfig:` + strings.Replace(fmt.Sprintf("%v", this.ExecutionConfig), "WorkflowExecutionConfig", "v112.WorkflowExecutionConfig", 1) + `,`, + `WorkflowExecutionInfo:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowExecutionInfo), "WorkflowExecutionInfo", "v112.WorkflowExecutionInfo", 1) + `,`, `PendingActivities:` + repeatedStringForPendingActivities + `,`, `PendingChildren:` + repeatedStringForPendingChildren + `,`, - `PendingWorkflowTask:` + strings.Replace(fmt.Sprintf("%v", this.PendingWorkflowTask), "PendingWorkflowTaskInfo", "v111.PendingWorkflowTaskInfo", 1) + `,`, + `PendingWorkflowTask:` + strings.Replace(fmt.Sprintf("%v", this.PendingWorkflowTask), "PendingWorkflowTaskInfo", "v112.PendingWorkflowTaskInfo", 1) + `,`, `}`, }, "") return s @@ -17126,7 +17176,7 @@ func (this *ReplicateWorkflowStateRequest) String() string { return "nil" } s := strings.Join([]string{`&ReplicateWorkflowStateRequest{`, - `WorkflowState:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowState), "WorkflowMutableState", "v112.WorkflowMutableState", 1) + `,`, + `WorkflowState:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowState), "WorkflowMutableState", "v113.WorkflowMutableState", 1) + `,`, `RemoteCluster:` + fmt.Sprintf("%v", this.RemoteCluster) + `,`, `NamespaceId:` + fmt.Sprintf("%v", this.NamespaceId) + `,`, `}`, @@ -17211,8 +17261,8 @@ func (this *DescribeMutableStateResponse) String() string { return "nil" } s := strings.Join([]string{`&DescribeMutableStateResponse{`, - `CacheMutableState:` + strings.Replace(fmt.Sprintf("%v", this.CacheMutableState), "WorkflowMutableState", "v112.WorkflowMutableState", 1) + `,`, - `DatabaseMutableState:` + strings.Replace(fmt.Sprintf("%v", this.DatabaseMutableState), "WorkflowMutableState", "v112.WorkflowMutableState", 1) + `,`, + `CacheMutableState:` + strings.Replace(fmt.Sprintf("%v", this.CacheMutableState), "WorkflowMutableState", "v113.WorkflowMutableState", 1) + `,`, + `DatabaseMutableState:` + strings.Replace(fmt.Sprintf("%v", this.DatabaseMutableState), "WorkflowMutableState", "v113.WorkflowMutableState", 1) + `,`, `}`, }, "") return s @@ -17237,7 +17287,7 @@ func (this *DescribeHistoryHostResponse) String() string { s := strings.Join([]string{`&DescribeHistoryHostResponse{`, `ShardsNumber:` + fmt.Sprintf("%v", this.ShardsNumber) + `,`, `ShardIds:` + fmt.Sprintf("%v", this.ShardIds) + `,`, - `NamespaceCache:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceCache), "NamespaceCacheInfo", "v113.NamespaceCacheInfo", 1) + `,`, + `NamespaceCache:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceCache), "NamespaceCacheInfo", "v114.NamespaceCacheInfo", 1) + `,`, `Address:` + fmt.Sprintf("%v", this.Address) + `,`, `}`, }, "") @@ -17277,7 +17327,7 @@ func (this *GetShardResponse) String() string { return "nil" } s := strings.Join([]string{`&GetShardResponse{`, - `ShardInfo:` + strings.Replace(fmt.Sprintf("%v", this.ShardInfo), "ShardInfo", "v112.ShardInfo", 1) + `,`, + `ShardInfo:` + strings.Replace(fmt.Sprintf("%v", this.ShardInfo), "ShardInfo", "v113.ShardInfo", 1) + `,`, `}`, }, "") return s @@ -17310,7 +17360,7 @@ func (this *GetReplicationMessagesRequest) String() string { } repeatedStringForTokens := "[]*ReplicationToken{" for _, f := range this.Tokens { - repeatedStringForTokens += strings.Replace(fmt.Sprintf("%v", f), "ReplicationToken", "v114.ReplicationToken", 1) + "," + repeatedStringForTokens += strings.Replace(fmt.Sprintf("%v", f), "ReplicationToken", "v115.ReplicationToken", 1) + "," } repeatedStringForTokens += "}" s := strings.Join([]string{`&GetReplicationMessagesRequest{`, @@ -17329,7 +17379,7 @@ func (this *GetReplicationMessagesResponse) String() string { keysForShardMessages = append(keysForShardMessages, k) } github_com_gogo_protobuf_sortkeys.Int32s(keysForShardMessages) - mapStringForShardMessages := "map[int32]*v114.ReplicationMessages{" + mapStringForShardMessages := "map[int32]*v115.ReplicationMessages{" for _, k := range keysForShardMessages { mapStringForShardMessages += fmt.Sprintf("%v: %v,", k, this.ShardMessages[k]) } @@ -17346,7 +17396,7 @@ func (this *GetDLQReplicationMessagesRequest) String() string { } repeatedStringForTaskInfos := "[]*ReplicationTaskInfo{" for _, f := range this.TaskInfos { - repeatedStringForTaskInfos += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTaskInfo", "v114.ReplicationTaskInfo", 1) + "," + repeatedStringForTaskInfos += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTaskInfo", "v115.ReplicationTaskInfo", 1) + "," } repeatedStringForTaskInfos += "}" s := strings.Join([]string{`&GetDLQReplicationMessagesRequest{`, @@ -17361,7 +17411,7 @@ func (this *GetDLQReplicationMessagesResponse) String() string { } repeatedStringForReplicationTasks := "[]*ReplicationTask{" for _, f := range this.ReplicationTasks { - repeatedStringForReplicationTasks += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTask", "v114.ReplicationTask", 1) + "," + repeatedStringForReplicationTasks += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTask", "v115.ReplicationTask", 1) + "," } repeatedStringForReplicationTasks += "}" s := strings.Join([]string{`&GetDLQReplicationMessagesResponse{`, @@ -17397,7 +17447,7 @@ func (this *ReapplyEventsRequest) String() string { } s := strings.Join([]string{`&ReapplyEventsRequest{`, `NamespaceId:` + fmt.Sprintf("%v", this.NamespaceId) + `,`, - `Request:` + strings.Replace(fmt.Sprintf("%v", this.Request), "ReapplyEventsRequest", "v115.ReapplyEventsRequest", 1) + `,`, + `Request:` + strings.Replace(fmt.Sprintf("%v", this.Request), "ReapplyEventsRequest", "v116.ReapplyEventsRequest", 1) + `,`, `}`, }, "") return s @@ -17432,7 +17482,7 @@ func (this *GetDLQMessagesResponse) String() string { } repeatedStringForReplicationTasks := "[]*ReplicationTask{" for _, f := range this.ReplicationTasks { - repeatedStringForReplicationTasks += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTask", "v114.ReplicationTask", 1) + "," + repeatedStringForReplicationTasks += strings.Replace(fmt.Sprintf("%v", f), "ReplicationTask", "v115.ReplicationTask", 1) + "," } repeatedStringForReplicationTasks += "}" s := strings.Join([]string{`&GetDLQMessagesResponse{`, @@ -17496,7 +17546,7 @@ func (this *RefreshWorkflowTasksRequest) String() string { } s := strings.Join([]string{`&RefreshWorkflowTasksRequest{`, `NamespaceId:` + fmt.Sprintf("%v", this.NamespaceId) + `,`, - `Request:` + strings.Replace(fmt.Sprintf("%v", this.Request), "RefreshWorkflowTasksRequest", "v115.RefreshWorkflowTasksRequest", 1) + `,`, + `Request:` + strings.Replace(fmt.Sprintf("%v", this.Request), "RefreshWorkflowTasksRequest", "v116.RefreshWorkflowTasksRequest", 1) + `,`, `}`, }, "") return s @@ -20368,6 +20418,40 @@ func (m *RecordWorkflowTaskStartedResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestResponse + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestResponse + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestResponse + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Messages = append(m.Messages, &v110.Message{}) + if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRequestResponse(dAtA[iNdEx:]) @@ -20714,7 +20798,7 @@ func (m *RecordActivityTaskStartedResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ScheduledEvent == nil { - m.ScheduledEvent = &v110.HistoryEvent{} + m.ScheduledEvent = &v111.HistoryEvent{} } if err := m.ScheduledEvent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -24271,7 +24355,7 @@ func (m *RecordChildExecutionCompletedRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.CompletionEvent == nil { - m.CompletionEvent = &v110.HistoryEvent{} + m.CompletionEvent = &v111.HistoryEvent{} } if err := m.CompletionEvent.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -24873,7 +24957,7 @@ func (m *DescribeWorkflowExecutionResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionConfig == nil { - m.ExecutionConfig = &v111.WorkflowExecutionConfig{} + m.ExecutionConfig = &v112.WorkflowExecutionConfig{} } if err := m.ExecutionConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -24909,7 +24993,7 @@ func (m *DescribeWorkflowExecutionResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.WorkflowExecutionInfo == nil { - m.WorkflowExecutionInfo = &v111.WorkflowExecutionInfo{} + m.WorkflowExecutionInfo = &v112.WorkflowExecutionInfo{} } if err := m.WorkflowExecutionInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -24944,7 +25028,7 @@ func (m *DescribeWorkflowExecutionResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PendingActivities = append(m.PendingActivities, &v111.PendingActivityInfo{}) + m.PendingActivities = append(m.PendingActivities, &v112.PendingActivityInfo{}) if err := m.PendingActivities[len(m.PendingActivities)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -24978,7 +25062,7 @@ func (m *DescribeWorkflowExecutionResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PendingChildren = append(m.PendingChildren, &v111.PendingChildExecutionInfo{}) + m.PendingChildren = append(m.PendingChildren, &v112.PendingChildExecutionInfo{}) if err := m.PendingChildren[len(m.PendingChildren)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -25013,7 +25097,7 @@ func (m *DescribeWorkflowExecutionResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PendingWorkflowTask == nil { - m.PendingWorkflowTask = &v111.PendingWorkflowTaskInfo{} + m.PendingWorkflowTask = &v112.PendingWorkflowTaskInfo{} } if err := m.PendingWorkflowTask.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -25382,7 +25466,7 @@ func (m *ReplicateWorkflowStateRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.WorkflowState == nil { - m.WorkflowState = &v112.WorkflowMutableState{} + m.WorkflowState = &v113.WorkflowMutableState{} } if err := m.WorkflowState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -26428,7 +26512,7 @@ func (m *DescribeMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.CacheMutableState == nil { - m.CacheMutableState = &v112.WorkflowMutableState{} + m.CacheMutableState = &v113.WorkflowMutableState{} } if err := m.CacheMutableState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -26464,7 +26548,7 @@ func (m *DescribeMutableStateResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.DatabaseMutableState == nil { - m.DatabaseMutableState = &v112.WorkflowMutableState{} + m.DatabaseMutableState = &v113.WorkflowMutableState{} } if err := m.DatabaseMutableState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -26820,7 +26904,7 @@ func (m *DescribeHistoryHostResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.NamespaceCache == nil { - m.NamespaceCache = &v113.NamespaceCacheInfo{} + m.NamespaceCache = &v114.NamespaceCacheInfo{} } if err := m.NamespaceCache.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -27138,7 +27222,7 @@ func (m *GetShardResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ShardInfo == nil { - m.ShardInfo = &v112.ShardInfo{} + m.ShardInfo = &v113.ShardInfo{} } if err := m.ShardInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -27425,7 +27509,7 @@ func (m *GetReplicationMessagesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Tokens = append(m.Tokens, &v114.ReplicationToken{}) + m.Tokens = append(m.Tokens, &v115.ReplicationToken{}) if err := m.Tokens[len(m.Tokens)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -27545,10 +27629,10 @@ func (m *GetReplicationMessagesResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ShardMessages == nil { - m.ShardMessages = make(map[int32]*v114.ReplicationMessages) + m.ShardMessages = make(map[int32]*v115.ReplicationMessages) } var mapkey int32 - var mapvalue *v114.ReplicationMessages + var mapvalue *v115.ReplicationMessages for iNdEx < postIndex { entryPreIndex := iNdEx var wire uint64 @@ -27608,7 +27692,7 @@ func (m *GetReplicationMessagesResponse) Unmarshal(dAtA []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue = &v114.ReplicationMessages{} + mapvalue = &v115.ReplicationMessages{} if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { return err } @@ -27712,7 +27796,7 @@ func (m *GetDLQReplicationMessagesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TaskInfos = append(m.TaskInfos, &v114.ReplicationTaskInfo{}) + m.TaskInfos = append(m.TaskInfos, &v115.ReplicationTaskInfo{}) if err := m.TaskInfos[len(m.TaskInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -27799,7 +27883,7 @@ func (m *GetDLQReplicationMessagesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ReplicationTasks = append(m.ReplicationTasks, &v114.ReplicationTask{}) + m.ReplicationTasks = append(m.ReplicationTasks, &v115.ReplicationTask{}) if err := m.ReplicationTasks[len(m.ReplicationTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -28129,7 +28213,7 @@ func (m *ReapplyEventsRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Request == nil { - m.Request = &v115.ReapplyEventsRequest{} + m.Request = &v116.ReapplyEventsRequest{} } if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -28484,7 +28568,7 @@ func (m *GetDLQMessagesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ReplicationTasks = append(m.ReplicationTasks, &v114.ReplicationTask{}) + m.ReplicationTasks = append(m.ReplicationTasks, &v115.ReplicationTask{}) if err := m.ReplicationTasks[len(m.ReplicationTasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -29115,7 +29199,7 @@ func (m *RefreshWorkflowTasksRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Request == nil { - m.Request = &v115.RefreshWorkflowTasksRequest{} + m.Request = &v116.RefreshWorkflowTasksRequest{} } if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/api/matchingservice/v1/request_response.pb.go b/api/matchingservice/v1/request_response.pb.go index 09c5751d500..dfceaef37e2 100644 --- a/api/matchingservice/v1/request_response.pb.go +++ b/api/matchingservice/v1/request_response.pb.go @@ -43,14 +43,15 @@ import ( _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" v11 "go.temporal.io/api/common/v1" - v17 "go.temporal.io/api/enums/v1" + v18 "go.temporal.io/api/enums/v1" + v15 "go.temporal.io/api/protocol/v1" v12 "go.temporal.io/api/query/v1" v14 "go.temporal.io/api/taskqueue/v1" v1 "go.temporal.io/api/workflowservice/v1" - v16 "go.temporal.io/server/api/clock/v1" - v15 "go.temporal.io/server/api/enums/v1" + v17 "go.temporal.io/server/api/clock/v1" + v16 "go.temporal.io/server/api/enums/v1" v13 "go.temporal.io/server/api/history/v1" - v18 "go.temporal.io/server/api/persistence/v1" + v19 "go.temporal.io/server/api/persistence/v1" ) // Reference imports to suppress errors if they are not otherwise used. @@ -149,6 +150,7 @@ type PollWorkflowTaskQueueResponse struct { ScheduledTime *time.Time `protobuf:"bytes,15,opt,name=scheduled_time,json=scheduledTime,proto3,stdtime" json:"scheduled_time,omitempty"` StartedTime *time.Time `protobuf:"bytes,16,opt,name=started_time,json=startedTime,proto3,stdtime" json:"started_time,omitempty"` Queries map[string]*v12.WorkflowQuery `protobuf:"bytes,17,rep,name=queries,proto3" json:"queries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Messages []*v15.Message `protobuf:"bytes,18,rep,name=messages,proto3" json:"messages,omitempty"` } func (m *PollWorkflowTaskQueueResponse) Reset() { *m = PollWorkflowTaskQueueResponse{} } @@ -295,6 +297,13 @@ func (m *PollWorkflowTaskQueueResponse) GetQueries() map[string]*v12.WorkflowQue return nil } +func (m *PollWorkflowTaskQueueResponse) GetMessages() []*v15.Message { + if m != nil { + return m.Messages + } + return nil +} + type PollActivityTaskQueueRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` PollerId string `protobuf:"bytes,2,opt,name=poller_id,json=pollerId,proto3" json:"poller_id,omitempty"` @@ -538,8 +547,8 @@ type AddWorkflowTaskRequest struct { // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *time.Duration `protobuf:"bytes,5,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3,stdduration" json:"schedule_to_start_timeout,omitempty"` ForwardedSource string `protobuf:"bytes,6,opt,name=forwarded_source,json=forwardedSource,proto3" json:"forwarded_source,omitempty"` - Source v15.TaskSource `protobuf:"varint,7,opt,name=source,proto3,enum=temporal.server.api.enums.v1.TaskSource" json:"source,omitempty"` - Clock *v16.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` + Source v16.TaskSource `protobuf:"varint,7,opt,name=source,proto3,enum=temporal.server.api.enums.v1.TaskSource" json:"source,omitempty"` + Clock *v17.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` } func (m *AddWorkflowTaskRequest) Reset() { *m = AddWorkflowTaskRequest{} } @@ -616,14 +625,14 @@ func (m *AddWorkflowTaskRequest) GetForwardedSource() string { return "" } -func (m *AddWorkflowTaskRequest) GetSource() v15.TaskSource { +func (m *AddWorkflowTaskRequest) GetSource() v16.TaskSource { if m != nil { return m.Source } - return v15.TASK_SOURCE_UNSPECIFIED + return v16.TASK_SOURCE_UNSPECIFIED } -func (m *AddWorkflowTaskRequest) GetClock() *v16.VectorClock { +func (m *AddWorkflowTaskRequest) GetClock() *v17.VectorClock { if m != nil { return m.Clock } @@ -674,8 +683,8 @@ type AddActivityTaskRequest struct { // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *time.Duration `protobuf:"bytes,6,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3,stdduration" json:"schedule_to_start_timeout,omitempty"` ForwardedSource string `protobuf:"bytes,7,opt,name=forwarded_source,json=forwardedSource,proto3" json:"forwarded_source,omitempty"` - Source v15.TaskSource `protobuf:"varint,8,opt,name=source,proto3,enum=temporal.server.api.enums.v1.TaskSource" json:"source,omitempty"` - Clock *v16.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` + Source v16.TaskSource `protobuf:"varint,8,opt,name=source,proto3,enum=temporal.server.api.enums.v1.TaskSource" json:"source,omitempty"` + Clock *v17.VectorClock `protobuf:"bytes,9,opt,name=clock,proto3" json:"clock,omitempty"` } func (m *AddActivityTaskRequest) Reset() { *m = AddActivityTaskRequest{} } @@ -752,14 +761,14 @@ func (m *AddActivityTaskRequest) GetForwardedSource() string { return "" } -func (m *AddActivityTaskRequest) GetSource() v15.TaskSource { +func (m *AddActivityTaskRequest) GetSource() v16.TaskSource { if m != nil { return m.Source } - return v15.TASK_SOURCE_UNSPECIFIED + return v16.TASK_SOURCE_UNSPECIFIED } -func (m *AddActivityTaskRequest) GetClock() *v16.VectorClock { +func (m *AddActivityTaskRequest) GetClock() *v17.VectorClock { if m != nil { return m.Clock } @@ -1023,7 +1032,7 @@ var xxx_messageInfo_RespondQueryTaskCompletedResponse proto.InternalMessageInfo type CancelOutstandingPollRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` - TaskQueueType v17.TaskQueueType `protobuf:"varint,2,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` + TaskQueueType v18.TaskQueueType `protobuf:"varint,2,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` TaskQueue *v14.TaskQueue `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` PollerId string `protobuf:"bytes,4,opt,name=poller_id,json=pollerId,proto3" json:"poller_id,omitempty"` } @@ -1067,11 +1076,11 @@ func (m *CancelOutstandingPollRequest) GetNamespaceId() string { return "" } -func (m *CancelOutstandingPollRequest) GetTaskQueueType() v17.TaskQueueType { +func (m *CancelOutstandingPollRequest) GetTaskQueueType() v18.TaskQueueType { if m != nil { return m.TaskQueueType } - return v17.TASK_QUEUE_TYPE_UNSPECIFIED + return v18.TASK_QUEUE_TYPE_UNSPECIFIED } func (m *CancelOutstandingPollRequest) GetTaskQueue() *v14.TaskQueue { @@ -1525,9 +1534,9 @@ func (m *GetWorkerBuildIdOrderingResponse) GetResponse() *v1.GetWorkerBuildIdOrd type InvalidateTaskQueueMetadataRequest struct { NamespaceId string `protobuf:"bytes,1,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` - TaskQueueType v17.TaskQueueType `protobuf:"varint,3,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` + TaskQueueType v18.TaskQueueType `protobuf:"varint,3,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` // The task queue versioning data should be invalidated and replaced with this data, if set. - VersioningData *v18.VersioningData `protobuf:"bytes,4,opt,name=versioning_data,json=versioningData,proto3" json:"versioning_data,omitempty"` + VersioningData *v19.VersioningData `protobuf:"bytes,4,opt,name=versioning_data,json=versioningData,proto3" json:"versioning_data,omitempty"` } func (m *InvalidateTaskQueueMetadataRequest) Reset() { *m = InvalidateTaskQueueMetadataRequest{} } @@ -1576,14 +1585,14 @@ func (m *InvalidateTaskQueueMetadataRequest) GetTaskQueue() string { return "" } -func (m *InvalidateTaskQueueMetadataRequest) GetTaskQueueType() v17.TaskQueueType { +func (m *InvalidateTaskQueueMetadataRequest) GetTaskQueueType() v18.TaskQueueType { if m != nil { return m.TaskQueueType } - return v17.TASK_QUEUE_TYPE_UNSPECIFIED + return v18.TASK_QUEUE_TYPE_UNSPECIFIED } -func (m *InvalidateTaskQueueMetadataRequest) GetVersioningData() *v18.VersioningData { +func (m *InvalidateTaskQueueMetadataRequest) GetVersioningData() *v19.VersioningData { if m != nil { return m.VersioningData } @@ -1737,7 +1746,7 @@ type isGetTaskQueueMetadataResponse_VersioningDataResp interface { } type GetTaskQueueMetadataResponse_VersioningData struct { - VersioningData *v18.VersioningData `protobuf:"bytes,1,opt,name=versioning_data,json=versioningData,proto3,oneof" json:"versioning_data,omitempty"` + VersioningData *v19.VersioningData `protobuf:"bytes,1,opt,name=versioning_data,json=versioningData,proto3,oneof" json:"versioning_data,omitempty"` } type GetTaskQueueMetadataResponse_MatchedReqHash struct { MatchedReqHash bool `protobuf:"varint,2,opt,name=matched_req_hash,json=matchedReqHash,proto3,oneof" json:"matched_req_hash,omitempty"` @@ -1755,7 +1764,7 @@ func (m *GetTaskQueueMetadataResponse) GetVersioningDataResp() isGetTaskQueueMet return nil } -func (m *GetTaskQueueMetadataResponse) GetVersioningData() *v18.VersioningData { +func (m *GetTaskQueueMetadataResponse) GetVersioningData() *v19.VersioningData { if x, ok := m.GetVersioningDataResp().(*GetTaskQueueMetadataResponse_VersioningData); ok { return x.VersioningData } @@ -1812,133 +1821,135 @@ func init() { } var fileDescriptor_a429a3813476c583 = []byte{ - // 2014 bytes of a gzipped FileDescriptorProto + // 2042 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x73, 0xdb, 0xc6, - 0x15, 0x17, 0x28, 0x4a, 0x22, 0x1f, 0x29, 0x89, 0x42, 0x13, 0x99, 0x92, 0x25, 0x48, 0xa6, 0xf3, - 0x21, 0x7b, 0x5c, 0x6a, 0xac, 0x4e, 0x3c, 0x49, 0xda, 0x8c, 0x23, 0xd1, 0x1e, 0x5b, 0xa9, 0xd3, - 0xc8, 0xb0, 0x9a, 0x76, 0xdc, 0x66, 0x90, 0x15, 0xb0, 0x22, 0x51, 0x81, 0x00, 0x85, 0x5d, 0x50, - 0x51, 0x4f, 0xcd, 0xa1, 0xd3, 0x53, 0x67, 0xd2, 0xe9, 0xa5, 0x9d, 0x5e, 0x7a, 0xea, 0xb4, 0xf7, - 0xfe, 0x03, 0xbd, 0xf5, 0xd0, 0x83, 0x8f, 0xb9, 0xb5, 0x96, 0x2f, 0x9d, 0xe9, 0x25, 0xfd, 0x0f, - 0x3a, 0xfb, 0x01, 0x80, 0x00, 0x41, 0x91, 0xa2, 0x9d, 0x3a, 0x37, 0xe2, 0x7d, 0xed, 0x7b, 0x6f, - 0x7f, 0xef, 0x03, 0x20, 0xbc, 0x47, 0x71, 0xbb, 0xe3, 0xf9, 0xc8, 0xd9, 0x24, 0xd8, 0xef, 0x62, - 0x7f, 0x13, 0x75, 0xec, 0xcd, 0x36, 0xa2, 0x66, 0xcb, 0x76, 0x9b, 0x8c, 0x64, 0x9b, 0x78, 0xb3, - 0x7b, 0x73, 0xd3, 0xc7, 0xc7, 0x01, 0x26, 0xd4, 0xf0, 0x31, 0xe9, 0x78, 0x2e, 0xc1, 0xf5, 0x8e, - 0xef, 0x51, 0x4f, 0x7d, 0x23, 0x54, 0xaf, 0x0b, 0xf5, 0x3a, 0xea, 0xd8, 0xf5, 0x94, 0x7a, 0xbd, - 0x7b, 0x73, 0x59, 0x6b, 0x7a, 0x5e, 0xd3, 0xc1, 0x9b, 0x5c, 0xeb, 0x20, 0x38, 0xdc, 0xb4, 0x02, - 0x1f, 0x51, 0xdb, 0x73, 0x85, 0x9d, 0xe5, 0xb5, 0x34, 0x9f, 0xda, 0x6d, 0x4c, 0x28, 0x6a, 0x77, - 0xa4, 0xc0, 0x15, 0x0b, 0x77, 0xb0, 0x6b, 0x61, 0xd7, 0xb4, 0x31, 0xd9, 0x6c, 0x7a, 0x4d, 0x8f, - 0xd3, 0xf9, 0x2f, 0x29, 0xf2, 0x5a, 0x14, 0x0a, 0x8b, 0xc1, 0xf4, 0xda, 0x6d, 0xcf, 0x65, 0xae, - 0xb7, 0x31, 0x21, 0xa8, 0x29, 0x3d, 0x5e, 0x7e, 0x23, 0x21, 0x85, 0xdd, 0xa0, 0x4d, 0x98, 0x10, - 0x45, 0xe4, 0xc8, 0x38, 0x0e, 0x70, 0x10, 0xca, 0xbd, 0x99, 0x90, 0x63, 0x6c, 0xce, 0xed, 0x37, - 0x78, 0x35, 0x21, 0x78, 0x1c, 0x60, 0xff, 0xb4, 0x5f, 0xe8, 0x7a, 0x56, 0x9a, 0x4d, 0xc7, 0x33, - 0x8f, 0xfa, 0x65, 0xdf, 0xcc, 0x92, 0x4d, 0x38, 0x2a, 0x05, 0x6f, 0x64, 0x09, 0xb6, 0x6c, 0x42, - 0xbd, 0x2c, 0x17, 0xea, 0x59, 0xd2, 0x1d, 0xec, 0x13, 0x9b, 0x50, 0xec, 0x8a, 0x5b, 0x66, 0xc6, - 0x89, 0x94, 0xbf, 0x95, 0x88, 0xeb, 0xc4, 0xf3, 0x8f, 0x0e, 0x1d, 0xef, 0x64, 0x28, 0x24, 0x6a, - 0xff, 0x51, 0x60, 0x65, 0xcf, 0x73, 0x9c, 0x1f, 0x49, 0x8d, 0x7d, 0x44, 0x8e, 0x1e, 0xb2, 0xd4, - 0xe9, 0x42, 0x5e, 0xbd, 0x02, 0x65, 0x17, 0xb5, 0x31, 0xe9, 0x20, 0x13, 0x1b, 0xb6, 0x55, 0x55, - 0xd6, 0x95, 0x8d, 0xa2, 0x5e, 0x8a, 0x68, 0xbb, 0x96, 0x7a, 0x19, 0x8a, 0x1d, 0xcf, 0x71, 0xb0, - 0xcf, 0xf8, 0x39, 0xce, 0x2f, 0x08, 0xc2, 0xae, 0xa5, 0x7e, 0x0a, 0x65, 0xf6, 0xdb, 0x90, 0xe7, - 0x57, 0x27, 0xd7, 0x95, 0x8d, 0xd2, 0xd6, 0x7b, 0x51, 0x7c, 0x1c, 0x83, 0x29, 0x7f, 0xeb, 0xdd, - 0x9b, 0xf5, 0xf3, 0x9c, 0xd2, 0x4b, 0xcc, 0x64, 0xe8, 0xe1, 0x35, 0xa8, 0x1c, 0x7a, 0xfe, 0x09, - 0xf2, 0x2d, 0x6c, 0x19, 0xc4, 0x0b, 0x7c, 0x13, 0x57, 0xf3, 0xdc, 0x8b, 0xf9, 0x88, 0xfe, 0x88, - 0x93, 0x6b, 0xbf, 0x2e, 0xc2, 0xea, 0x00, 0xc3, 0x22, 0x2b, 0xea, 0x2a, 0x00, 0x07, 0x17, 0xf5, - 0x8e, 0xb0, 0xcb, 0x83, 0x2d, 0xeb, 0x45, 0x46, 0xd9, 0x67, 0x04, 0xf5, 0xc7, 0xa0, 0x86, 0xbe, - 0x1a, 0xf8, 0x33, 0x6c, 0x06, 0xac, 0x2a, 0x78, 0xcc, 0xa5, 0xad, 0x6b, 0xc9, 0x98, 0x04, 0xa4, - 0x59, 0x28, 0xe1, 0x69, 0x77, 0x43, 0x05, 0x7d, 0xe1, 0x24, 0x4d, 0x52, 0x77, 0x61, 0x36, 0xb2, - 0x4c, 0x4f, 0x3b, 0x58, 0x26, 0xea, 0xb5, 0x61, 0x46, 0xf7, 0x4f, 0x3b, 0x58, 0x2f, 0x9f, 0xf4, - 0x3c, 0xa9, 0xef, 0xc0, 0x52, 0xc7, 0xc7, 0x5d, 0xdb, 0x0b, 0x88, 0x41, 0x28, 0xf2, 0x29, 0xb6, - 0x0c, 0xdc, 0xc5, 0x2e, 0x65, 0xf7, 0xc3, 0x32, 0x33, 0xa9, 0x2f, 0x86, 0x02, 0x8f, 0x04, 0xff, - 0x2e, 0x63, 0xef, 0x5a, 0xea, 0x06, 0x54, 0xfa, 0x34, 0xa6, 0xb8, 0xc6, 0x1c, 0x49, 0x4a, 0x56, - 0x61, 0x06, 0x51, 0xe6, 0x1b, 0xad, 0x4e, 0xaf, 0x2b, 0x1b, 0x53, 0x7a, 0xf8, 0xa8, 0xd6, 0x60, - 0xd6, 0xc5, 0x9f, 0xd1, 0xd8, 0xc0, 0x0c, 0x37, 0x50, 0x62, 0xc4, 0x50, 0xfb, 0x06, 0xa8, 0x07, - 0xc8, 0x3c, 0x72, 0xbc, 0xa6, 0x61, 0x7a, 0x81, 0x4b, 0x8d, 0x96, 0xed, 0xd2, 0x6a, 0x81, 0x0b, - 0x56, 0x24, 0xa7, 0xc1, 0x18, 0xf7, 0x6d, 0x97, 0xaa, 0x6f, 0x43, 0x95, 0x50, 0xdb, 0x3c, 0x3a, - 0x8d, 0x73, 0x6e, 0x60, 0x17, 0x1d, 0x38, 0xd8, 0xaa, 0x16, 0xd7, 0x95, 0x8d, 0x82, 0xbe, 0x28, - 0xf8, 0x51, 0x3a, 0xef, 0x0a, 0xae, 0xfa, 0x2e, 0x4c, 0xf1, 0x1a, 0xaf, 0x42, 0x56, 0x36, 0x39, - 0xab, 0x37, 0x99, 0x0f, 0x19, 0x41, 0x17, 0x2a, 0xea, 0x31, 0x5c, 0xa2, 0x3e, 0x72, 0x89, 0xcd, - 0xc2, 0x88, 0xef, 0x06, 0x91, 0xa3, 0x6a, 0x89, 0x5b, 0x7b, 0xa7, 0x9e, 0xd5, 0x4f, 0x65, 0x49, - 0x33, 0xb3, 0xfb, 0xa1, 0x7a, 0x2f, 0xde, 0x76, 0xdd, 0x43, 0x4f, 0x7f, 0x95, 0x66, 0xb1, 0xd4, - 0x26, 0xac, 0xf6, 0xc3, 0xcb, 0x88, 0xbb, 0x5d, 0xb5, 0x9c, 0x15, 0x46, 0xd4, 0xee, 0xf8, 0x99, - 0x11, 0xa4, 0x97, 0xfb, 0x40, 0x16, 0xf1, 0x58, 0x55, 0x1f, 0xf8, 0xc8, 0x35, 0x5b, 0x12, 0xe8, - 0x73, 0x1c, 0xe8, 0x25, 0x41, 0x13, 0x50, 0xbf, 0x07, 0x73, 0xc4, 0x6c, 0x61, 0x2b, 0x70, 0xb0, - 0x65, 0xb0, 0x06, 0x5f, 0x9d, 0xe7, 0x87, 0x2f, 0xd7, 0x45, 0xf7, 0xaf, 0x87, 0xdd, 0xbf, 0xbe, - 0x1f, 0x76, 0xff, 0x9d, 0xfc, 0x17, 0xff, 0x5c, 0x53, 0xf4, 0xd9, 0x48, 0x8f, 0x71, 0xd4, 0x06, - 0x94, 0x43, 0x4c, 0x71, 0x33, 0x95, 0x11, 0xcd, 0x94, 0xa4, 0x16, 0x37, 0xe2, 0xc0, 0x0c, 0xbb, - 0x15, 0x1b, 0x93, 0xea, 0xc2, 0xfa, 0xe4, 0x46, 0x69, 0x4b, 0xaf, 0x8f, 0x36, 0xcc, 0xea, 0xe7, - 0xd6, 0x7b, 0xfd, 0xa1, 0x30, 0x7a, 0xd7, 0xa5, 0xfe, 0xa9, 0x1e, 0x1e, 0xb1, 0xfc, 0x29, 0x94, - 0x7b, 0x19, 0x6a, 0x05, 0x26, 0x8f, 0xf0, 0xa9, 0xec, 0x7d, 0xec, 0x27, 0x03, 0x56, 0x17, 0x39, - 0x01, 0x96, 0xb5, 0x3f, 0x22, 0xb0, 0xb8, 0xca, 0xbb, 0xb9, 0xb7, 0x95, 0x0f, 0xf2, 0x85, 0xd9, - 0xca, 0x5c, 0xd4, 0x7d, 0xb7, 0x4d, 0x6a, 0x77, 0x6d, 0x7a, 0xfa, 0x8d, 0xea, 0xbe, 0x83, 0x9c, - 0x1a, 0xbb, 0xfb, 0xfe, 0xa3, 0x20, 0xba, 0x6f, 0x86, 0xe1, 0x97, 0xdd, 0x7d, 0xd7, 0xa0, 0x84, - 0xa4, 0x57, 0x2c, 0x8d, 0x93, 0x3c, 0x00, 0x08, 0x49, 0xbb, 0x16, 0x6b, 0xcf, 0x91, 0x00, 0x6f, - 0xcf, 0xf9, 0xf3, 0xdb, 0x73, 0x14, 0x23, 0x6f, 0xcf, 0xa8, 0xe7, 0x49, 0xbd, 0x05, 0x53, 0xb6, - 0xdb, 0x09, 0x28, 0x6f, 0xac, 0xa5, 0xad, 0xf5, 0x41, 0x26, 0xf6, 0xd0, 0xa9, 0xe3, 0x21, 0x8b, - 0xe8, 0x42, 0x3c, 0xa3, 0x20, 0xa7, 0xc7, 0x2b, 0xc8, 0xc7, 0xb0, 0x14, 0x12, 0x0c, 0xea, 0x19, - 0xa6, 0xe3, 0x11, 0xcc, 0x0d, 0x7a, 0x01, 0xe5, 0xcd, 0xba, 0xb4, 0xb5, 0xd4, 0x67, 0xf3, 0x8e, - 0x5c, 0x01, 0x77, 0xf2, 0xbf, 0x63, 0x26, 0x17, 0x43, 0x0b, 0xfb, 0x5e, 0x83, 0xe9, 0xef, 0x0b, - 0xf5, 0xbe, 0x62, 0x2f, 0x8c, 0x53, 0xec, 0xfb, 0xb0, 0xc8, 0x1f, 0xfb, 0xbd, 0x2b, 0x8e, 0xe6, - 0xdd, 0xb7, 0xb8, 0x7a, 0xca, 0xb5, 0x07, 0xb0, 0xd0, 0xc2, 0xc8, 0xa7, 0x07, 0x18, 0xd1, 0xc8, - 0x20, 0x8c, 0x66, 0xb0, 0x12, 0x69, 0x86, 0xd6, 0x7a, 0xe6, 0x5f, 0x29, 0x39, 0xff, 0x30, 0x68, - 0x66, 0xe0, 0xfb, 0x6c, 0x6a, 0x48, 0x92, 0x91, 0xba, 0xb7, 0xf2, 0x88, 0x49, 0xb9, 0x2c, 0xed, - 0x6c, 0x0b, 0x33, 0x8f, 0x12, 0xb7, 0xf8, 0x61, 0x6f, 0x38, 0x16, 0xa6, 0xc8, 0x76, 0x48, 0x75, - 0x76, 0x44, 0x48, 0xc5, 0xf1, 0xdc, 0x11, 0x9a, 0xfd, 0xfb, 0xc7, 0xdc, 0xd8, 0xfb, 0xc7, 0xb7, - 0x7b, 0xca, 0x34, 0xea, 0x54, 0x7c, 0x7a, 0x14, 0xe3, 0xda, 0xfb, 0x41, 0xc8, 0x50, 0x6f, 0xc1, - 0x74, 0x0b, 0x23, 0x0b, 0xfb, 0x72, 0x32, 0x68, 0x83, 0x8e, 0xbc, 0xcf, 0xa5, 0x74, 0x29, 0x5d, - 0xfb, 0x3c, 0x0f, 0x8b, 0xdb, 0x96, 0xd5, 0xdb, 0xdb, 0x2f, 0xd0, 0x36, 0xef, 0x41, 0xf1, 0x39, - 0x5a, 0x48, 0xac, 0xab, 0x36, 0x64, 0xcf, 0x12, 0x03, 0x7a, 0xf2, 0x02, 0x03, 0x9a, 0x77, 0x36, - 0x31, 0x8f, 0x6f, 0x80, 0x1a, 0x63, 0x24, 0xb5, 0xab, 0x55, 0x22, 0x4e, 0xb8, 0x3d, 0xa5, 0x0a, - 0x58, 0xd6, 0x8a, 0x44, 0xf4, 0xd4, 0x85, 0x0b, 0x98, 0xef, 0x80, 0x21, 0xae, 0xb3, 0xfa, 0xf9, - 0x74, 0x66, 0x3f, 0x57, 0xdf, 0x87, 0x69, 0x29, 0xc0, 0x9a, 0xc6, 0xdc, 0xd6, 0x46, 0xe6, 0x48, - 0xe6, 0xef, 0x42, 0x61, 0xe0, 0x42, 0x53, 0x97, 0x7a, 0xea, 0x6d, 0x98, 0xe2, 0xaf, 0x55, 0xb2, - 0xae, 0xaf, 0x65, 0x1a, 0xe0, 0x12, 0xcc, 0xc0, 0xc7, 0xd8, 0xa4, 0x9e, 0xdf, 0x60, 0x8f, 0xba, - 0xd0, 0xab, 0x2d, 0xc1, 0xa5, 0x3e, 0x08, 0x88, 0x59, 0x52, 0xfb, 0x95, 0x80, 0x47, 0xef, 0xb0, - 0x79, 0xf9, 0xf0, 0xc8, 0xbf, 0x48, 0x78, 0x4c, 0x8d, 0x03, 0x8f, 0xe9, 0x17, 0x0f, 0x8f, 0x99, - 0x61, 0xf0, 0x28, 0xbc, 0x24, 0x78, 0x7c, 0x90, 0x2f, 0x4c, 0x56, 0xf2, 0x12, 0x24, 0x49, 0x20, - 0x48, 0x90, 0xfc, 0x32, 0x07, 0xaf, 0xf0, 0xdd, 0x2c, 0xbc, 0xc3, 0x0b, 0x40, 0x24, 0x79, 0xb3, - 0xb9, 0xf1, 0x6e, 0xf6, 0x31, 0xcc, 0xf2, 0x65, 0x31, 0xb5, 0xa1, 0xbd, 0x35, 0x74, 0x43, 0xcb, - 0xf2, 0x5a, 0x2f, 0x73, 0x5b, 0x63, 0xac, 0x66, 0x7f, 0x51, 0xe0, 0xd5, 0x94, 0x45, 0xb9, 0x92, - 0x35, 0xa0, 0x1c, 0x3a, 0x48, 0x02, 0x87, 0xf2, 0x44, 0x8c, 0x32, 0x61, 0x4a, 0xd2, 0x15, 0xa6, - 0xa4, 0x7e, 0x1f, 0xe6, 0x42, 0x23, 0x3f, 0xc3, 0x26, 0xc5, 0xd6, 0x90, 0xb5, 0x59, 0xac, 0xcb, - 0x52, 0x56, 0x9f, 0x3d, 0xee, 0x7d, 0xac, 0xfd, 0x36, 0x07, 0xeb, 0xc2, 0x3d, 0x8b, 0xcb, 0xb1, - 0xbc, 0x36, 0xbc, 0x76, 0xc7, 0xc1, 0x4c, 0xf8, 0xff, 0x7c, 0x7f, 0x97, 0x60, 0x86, 0x1b, 0x89, - 0x96, 0xc6, 0x69, 0xf6, 0xb8, 0x6b, 0xa9, 0x2e, 0x2c, 0x98, 0xa1, 0x53, 0xd1, 0xe5, 0x8a, 0xf2, - 0xdf, 0x1e, 0x7a, 0xb9, 0xc3, 0xc2, 0xd3, 0x2b, 0x66, 0x8a, 0x52, 0xbb, 0x0a, 0x57, 0xce, 0xd1, - 0x92, 0x70, 0xff, 0xaf, 0x02, 0x2b, 0x0d, 0xe4, 0x9a, 0xd8, 0xf9, 0x28, 0xa0, 0x84, 0x22, 0xd7, - 0xb2, 0xdd, 0xe6, 0x5e, 0xcf, 0x36, 0x3f, 0x42, 0xda, 0x1e, 0xc0, 0x7c, 0x9c, 0x36, 0xb1, 0x2a, - 0xe4, 0x78, 0x7d, 0xa7, 0x72, 0x97, 0x28, 0x6c, 0x9e, 0x2c, 0xbe, 0x2a, 0xcc, 0xd2, 0xde, 0xc7, - 0x17, 0x33, 0x3d, 0x13, 0xaf, 0x40, 0xf9, 0xe4, 0x2b, 0x50, 0x6d, 0x0d, 0x56, 0x07, 0x84, 0x2c, - 0x93, 0xf2, 0x07, 0x05, 0xaa, 0x77, 0x30, 0x31, 0x7d, 0xfb, 0x00, 0x8f, 0xf3, 0x02, 0xf6, 0x53, - 0x28, 0x5b, 0x98, 0x98, 0xd1, 0x25, 0xe7, 0xd2, 0x1f, 0x07, 0x06, 0x5c, 0xf2, 0xa0, 0x33, 0xf5, - 0x12, 0x33, 0x17, 0xde, 0xeb, 0x5f, 0x15, 0x58, 0xca, 0x90, 0x94, 0xd5, 0x79, 0x1b, 0x66, 0x44, - 0xa0, 0xa4, 0xaa, 0xf0, 0xd7, 0xe2, 0xd7, 0xcf, 0xc9, 0xdd, 0x9e, 0x48, 0x89, 0x7b, 0xe8, 0xe9, - 0xa1, 0x96, 0xfa, 0x31, 0x2c, 0xf4, 0xdc, 0x26, 0xa1, 0x88, 0x06, 0x44, 0x46, 0x70, 0x7d, 0x94, - 0x6b, 0x78, 0xc4, 0x35, 0xf4, 0x79, 0x9a, 0x24, 0xd4, 0xfe, 0xa4, 0x80, 0xf6, 0xc0, 0x26, 0x34, - 0x12, 0xdc, 0x43, 0x3e, 0xb5, 0xd9, 0x80, 0x21, 0x61, 0x6a, 0x57, 0xa0, 0x18, 0x6f, 0x87, 0x22, - 0xaf, 0x31, 0xa1, 0x2f, 0xf1, 0x93, 0x5f, 0x4f, 0x01, 0xd7, 0x7e, 0x9f, 0x83, 0xb5, 0x81, 0x8e, - 0xca, 0x2c, 0xff, 0x1c, 0xb4, 0xf8, 0xe5, 0x2f, 0xce, 0x56, 0x27, 0x92, 0x94, 0xc9, 0x7f, 0x6b, - 0x94, 0xc3, 0x23, 0xfb, 0x1f, 0x62, 0x8a, 0x2c, 0x44, 0x91, 0x7e, 0x19, 0xa5, 0x5f, 0x88, 0x63, - 0x1f, 0xd8, 0xd9, 0x89, 0x6f, 0x4f, 0xfd, 0x67, 0xe7, 0x9e, 0xeb, 0xec, 0x93, 0xf4, 0xa7, 0x91, - 0xf8, 0x6c, 0x76, 0x89, 0xb5, 0x1f, 0x76, 0x2c, 0x44, 0x31, 0x1b, 0x0b, 0xd8, 0xdf, 0x09, 0x6c, - 0xc7, 0xda, 0xb5, 0x3e, 0xf2, 0x2d, 0xec, 0xdb, 0x6e, 0xf3, 0x02, 0x35, 0xf2, 0x09, 0xcc, 0x24, - 0xcb, 0xa3, 0x31, 0xb4, 0x3c, 0x86, 0x1f, 0xac, 0x87, 0x36, 0x6b, 0xaf, 0xc3, 0xd5, 0x73, 0xc5, - 0x65, 0xa5, 0xff, 0x51, 0x81, 0xb5, 0x7b, 0x98, 0x3e, 0x6f, 0x30, 0x8f, 0xd3, 0xc1, 0xbc, 0x3f, - 0x34, 0x98, 0x21, 0xa7, 0xc6, 0x91, 0x7c, 0xae, 0xc0, 0xfa, 0x60, 0x61, 0x89, 0xc7, 0x4f, 0xa0, - 0x10, 0x7e, 0xc6, 0x97, 0xf3, 0x78, 0xfb, 0x39, 0x3c, 0x10, 0x86, 0xf4, 0xc8, 0x64, 0xed, 0x37, - 0x39, 0xa8, 0xed, 0xba, 0x5d, 0xe4, 0xd8, 0x2c, 0xa5, 0x11, 0x30, 0x22, 0xcc, 0x8c, 0x9e, 0xa9, - 0xd5, 0xbe, 0x0a, 0x2d, 0xf6, 0xf6, 0xed, 0x8c, 0x51, 0x32, 0x39, 0xfe, 0x28, 0xf9, 0x09, 0xcc, - 0x77, 0xb1, 0x4f, 0x6c, 0xcf, 0xb5, 0xdd, 0xa6, 0xc1, 0x3c, 0x95, 0xf3, 0x76, 0x2b, 0x73, 0x6f, - 0xec, 0xf9, 0x33, 0x45, 0x6c, 0x8f, 0xa1, 0xea, 0x1d, 0x16, 0xe3, 0x5c, 0x37, 0xf1, 0xcc, 0x10, - 0x76, 0x6e, 0x4a, 0x62, 0x84, 0x5d, 0xbe, 0x87, 0xe9, 0xd7, 0x98, 0xb3, 0xdb, 0xb0, 0x72, 0x82, - 0x5c, 0x6a, 0xa4, 0x42, 0x35, 0xcc, 0xc0, 0x6f, 0x21, 0xd2, 0xe2, 0x09, 0x2c, 0xeb, 0x4b, 0x4c, - 0x26, 0x19, 0x52, 0x43, 0x08, 0xd4, 0xfe, 0xa6, 0xc0, 0x4a, 0xb6, 0x8b, 0x11, 0xba, 0xfa, 0xf2, - 0xa8, 0x8c, 0x9b, 0xc7, 0xfb, 0x13, 0xe9, 0x4c, 0xaa, 0xd7, 0xa1, 0xc2, 0xbf, 0xd2, 0x8a, 0xb5, - 0xc8, 0xe0, 0x4e, 0xb3, 0x28, 0x0b, 0x4c, 0x56, 0x72, 0x74, 0x7c, 0x7c, 0x1f, 0x91, 0xd6, 0xce, - 0x22, 0xbc, 0x92, 0x8e, 0x93, 0xa1, 0x74, 0xc7, 0x7f, 0xf2, 0x54, 0x9b, 0xf8, 0xf2, 0xa9, 0x36, - 0xf1, 0xd5, 0x53, 0x4d, 0xf9, 0xc5, 0x99, 0xa6, 0xfc, 0xf9, 0x4c, 0x53, 0xfe, 0x7e, 0xa6, 0x29, - 0x4f, 0xce, 0x34, 0xe5, 0x5f, 0x67, 0x9a, 0xf2, 0xef, 0x33, 0x6d, 0xe2, 0xab, 0x33, 0x4d, 0xf9, - 0xe2, 0x99, 0x36, 0xf1, 0xe4, 0x99, 0x36, 0xf1, 0xe5, 0x33, 0x6d, 0xe2, 0xf1, 0xf7, 0x9a, 0x5e, - 0x1c, 0x81, 0xed, 0x9d, 0xff, 0x1f, 0xea, 0x77, 0x53, 0xa4, 0x83, 0x69, 0xfe, 0xaa, 0xf4, 0x9d, - 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x74, 0x6f, 0xf1, 0x84, 0x1d, 0x00, 0x00, + 0x15, 0x17, 0x28, 0x4a, 0x22, 0x1f, 0x29, 0x89, 0x42, 0x13, 0x85, 0x92, 0x25, 0x4a, 0xa6, 0xf3, + 0x21, 0x7b, 0x5c, 0x6a, 0xac, 0x4e, 0x3c, 0x49, 0x5a, 0x8f, 0x23, 0xd1, 0x1e, 0x5b, 0xa9, 0xdd, + 0xc8, 0xb0, 0x9a, 0x76, 0xdc, 0x66, 0x90, 0x15, 0xb0, 0x22, 0x51, 0x81, 0x58, 0x0a, 0xbb, 0xa0, + 0xa2, 0x9e, 0x9a, 0x43, 0xa7, 0xd7, 0x74, 0x7a, 0x69, 0xa7, 0x97, 0x9e, 0x3a, 0xed, 0xbd, 0xff, + 0x40, 0x6f, 0x3d, 0xf4, 0xe0, 0x63, 0x6e, 0xad, 0xe5, 0x4b, 0x67, 0x7a, 0x49, 0xff, 0x83, 0xce, + 0x7e, 0x00, 0x24, 0x40, 0x50, 0xa4, 0x68, 0xa7, 0xee, 0x8d, 0xd8, 0x7d, 0xef, 0xb7, 0xef, 0xbd, + 0xfd, 0xbd, 0x0f, 0x80, 0x70, 0x8b, 0xe1, 0x56, 0x9b, 0xf8, 0xc8, 0xdd, 0xa4, 0xd8, 0xef, 0x60, + 0x7f, 0x13, 0xb5, 0x9d, 0xcd, 0x16, 0x62, 0x56, 0xd3, 0xf1, 0x1a, 0x7c, 0xc9, 0xb1, 0xf0, 0x66, + 0xe7, 0xc6, 0xa6, 0x8f, 0x8f, 0x03, 0x4c, 0x99, 0xe9, 0x63, 0xda, 0x26, 0x1e, 0xc5, 0xb5, 0xb6, + 0x4f, 0x18, 0xd1, 0xdf, 0x0e, 0xd5, 0x6b, 0x52, 0xbd, 0x86, 0xda, 0x4e, 0x2d, 0xa1, 0x5e, 0xeb, + 0xdc, 0x58, 0xae, 0x34, 0x08, 0x69, 0xb8, 0x78, 0x53, 0x68, 0x1d, 0x04, 0x87, 0x9b, 0x76, 0xe0, + 0x23, 0xe6, 0x10, 0x4f, 0xe2, 0x2c, 0xaf, 0x25, 0xf7, 0x99, 0xd3, 0xc2, 0x94, 0xa1, 0x56, 0x5b, + 0x09, 0x5c, 0xb6, 0x71, 0x1b, 0x7b, 0x36, 0xf6, 0x2c, 0x07, 0xd3, 0xcd, 0x06, 0x69, 0x10, 0xb1, + 0x2e, 0x7e, 0x29, 0x91, 0x37, 0x23, 0x57, 0xb8, 0x0f, 0x16, 0x69, 0xb5, 0x88, 0xc7, 0x4d, 0x6f, + 0x61, 0x4a, 0x51, 0x43, 0x59, 0xbc, 0xfc, 0x76, 0x4c, 0x0a, 0x7b, 0x41, 0x8b, 0x72, 0x21, 0x86, + 0xe8, 0x91, 0x79, 0x1c, 0xe0, 0x20, 0x94, 0x7b, 0x27, 0x26, 0xc7, 0xb7, 0xc5, 0x6e, 0x3f, 0xe0, + 0x95, 0x98, 0xe0, 0x71, 0x80, 0xfd, 0xd3, 0x61, 0xa7, 0x8a, 0x35, 0x8b, 0xb8, 0xfd, 0x72, 0xd7, + 0xd2, 0xae, 0xc3, 0x72, 0x89, 0x75, 0xd4, 0x2f, 0xfb, 0x4e, 0x9a, 0x6c, 0xcc, 0x21, 0x25, 0x78, + 0x3d, 0x4d, 0xb0, 0xe9, 0x50, 0x46, 0xd2, 0x4c, 0xad, 0xa5, 0x49, 0xb7, 0xb1, 0x4f, 0x1d, 0xca, + 0xb0, 0x27, 0xd9, 0xc0, 0xc1, 0xa9, 0x92, 0xbf, 0x19, 0x73, 0xed, 0x84, 0xf8, 0x47, 0x87, 0x2e, + 0x39, 0x19, 0x4a, 0x9d, 0xea, 0xbf, 0x35, 0x58, 0xd9, 0x23, 0xae, 0xfb, 0x23, 0xa5, 0xb1, 0x8f, + 0xe8, 0xd1, 0x23, 0x1e, 0x62, 0x43, 0xca, 0xeb, 0x97, 0xa1, 0xe8, 0xa1, 0x16, 0xa6, 0x6d, 0x64, + 0x61, 0xd3, 0xb1, 0xcb, 0xda, 0xba, 0xb6, 0x91, 0x37, 0x0a, 0xd1, 0xda, 0xae, 0xad, 0x5f, 0x82, + 0x7c, 0x9b, 0xb8, 0x2e, 0xf6, 0xf9, 0x7e, 0x46, 0xec, 0xe7, 0xe4, 0xc2, 0xae, 0xad, 0x7f, 0x06, + 0x45, 0xfe, 0xdb, 0x54, 0xe7, 0x97, 0x27, 0xd7, 0xb5, 0x8d, 0xc2, 0xd6, 0xad, 0xc8, 0x3f, 0xc1, + 0xd5, 0x84, 0xbd, 0xb5, 0xce, 0x8d, 0xda, 0x79, 0x46, 0x19, 0x05, 0x0e, 0x19, 0x5a, 0x78, 0x15, + 0x4a, 0x87, 0xc4, 0x3f, 0x41, 0xbe, 0x8d, 0x6d, 0x93, 0x92, 0xc0, 0xb7, 0x70, 0x39, 0x2b, 0xac, + 0x98, 0x8f, 0xd6, 0x1f, 0x8b, 0xe5, 0xea, 0xdf, 0xf3, 0xb0, 0x3a, 0x00, 0x58, 0x46, 0x45, 0x5f, + 0x05, 0x10, 0x24, 0x64, 0xe4, 0x08, 0x7b, 0xc2, 0xd9, 0xa2, 0x91, 0xe7, 0x2b, 0xfb, 0x7c, 0x41, + 0xff, 0x31, 0xe8, 0xa1, 0xad, 0x26, 0xfe, 0x1c, 0x5b, 0x01, 0xcf, 0x1e, 0xe1, 0x73, 0x61, 0xeb, + 0x6a, 0xdc, 0x27, 0x49, 0x7d, 0xee, 0x4a, 0x78, 0xda, 0xdd, 0x50, 0xc1, 0x58, 0x38, 0x49, 0x2e, + 0xe9, 0xbb, 0x30, 0x1b, 0x21, 0xb3, 0xd3, 0x36, 0x56, 0x81, 0x7a, 0x73, 0x18, 0xe8, 0xfe, 0x69, + 0x1b, 0x1b, 0xc5, 0x93, 0x9e, 0x27, 0xfd, 0x7d, 0x58, 0x6a, 0xfb, 0xb8, 0xe3, 0x90, 0x80, 0x9a, + 0x94, 0x21, 0x9f, 0x61, 0xdb, 0xc4, 0x1d, 0xec, 0x31, 0x7e, 0x3f, 0x3c, 0x32, 0x93, 0xc6, 0x62, + 0x28, 0xf0, 0x58, 0xee, 0xdf, 0xe5, 0xdb, 0xbb, 0xb6, 0xbe, 0x01, 0xa5, 0x3e, 0x8d, 0x29, 0xa1, + 0x31, 0x47, 0xe3, 0x92, 0x65, 0x98, 0x41, 0x8c, 0xdb, 0xc6, 0xca, 0xd3, 0xeb, 0xda, 0xc6, 0x94, + 0x11, 0x3e, 0xea, 0x55, 0x98, 0xf5, 0xf0, 0xe7, 0xac, 0x0b, 0x30, 0x23, 0x00, 0x0a, 0x7c, 0x31, + 0xd4, 0xbe, 0x0e, 0xfa, 0x01, 0xb2, 0x8e, 0x5c, 0xd2, 0x30, 0x2d, 0x12, 0x78, 0xcc, 0x6c, 0x3a, + 0x1e, 0x2b, 0xe7, 0x84, 0x60, 0x49, 0xed, 0xd4, 0xf9, 0xc6, 0x7d, 0xc7, 0x63, 0xfa, 0x7b, 0x50, + 0xa6, 0xcc, 0xb1, 0x8e, 0x4e, 0xbb, 0x31, 0x37, 0xb1, 0x87, 0x0e, 0x5c, 0x6c, 0x97, 0xf3, 0xeb, + 0xda, 0x46, 0xce, 0x58, 0x94, 0xfb, 0x51, 0x38, 0xef, 0xca, 0x5d, 0xfd, 0x03, 0x98, 0x12, 0xb5, + 0xa0, 0x0c, 0x69, 0xd1, 0x14, 0x5b, 0xbd, 0xc1, 0x7c, 0xc4, 0x17, 0x0c, 0xa9, 0xa2, 0x1f, 0xc3, + 0x1b, 0xcc, 0x47, 0x1e, 0x75, 0xb8, 0x1b, 0xdd, 0xbb, 0x41, 0xf4, 0xa8, 0x5c, 0x10, 0x68, 0xef, + 0xd7, 0xd2, 0xea, 0xae, 0x4a, 0x69, 0x0e, 0xbb, 0x1f, 0xaa, 0xf7, 0xf2, 0x6d, 0xd7, 0x3b, 0x24, + 0xc6, 0xeb, 0x2c, 0x6d, 0x4b, 0x6f, 0xc0, 0x6a, 0x3f, 0xbd, 0xcc, 0x6e, 0x55, 0x2c, 0x17, 0xd3, + 0xdc, 0x88, 0xca, 0xa2, 0x38, 0x33, 0xa2, 0xf4, 0x72, 0x1f, 0xc9, 0xa2, 0x3d, 0x9e, 0xd5, 0x07, + 0x3e, 0xf2, 0xac, 0xa6, 0x22, 0xfa, 0x9c, 0x20, 0x7a, 0x41, 0xae, 0x49, 0xaa, 0xdf, 0x83, 0x39, + 0x6a, 0x35, 0xb1, 0x1d, 0xb8, 0xd8, 0x36, 0x79, 0x23, 0x28, 0xcf, 0x8b, 0xc3, 0x97, 0x6b, 0xb2, + 0x4b, 0xd4, 0xc2, 0x2e, 0x51, 0xdb, 0x0f, 0xbb, 0xc4, 0x4e, 0xf6, 0xcb, 0x7f, 0xac, 0x69, 0xc6, + 0x6c, 0xa4, 0xc7, 0x77, 0xf4, 0x3a, 0x14, 0x43, 0x4e, 0x09, 0x98, 0xd2, 0x88, 0x30, 0x05, 0xa5, + 0x25, 0x40, 0x5c, 0x98, 0xe1, 0xb7, 0xe2, 0x60, 0x5a, 0x5e, 0x58, 0x9f, 0xdc, 0x28, 0x6c, 0x19, + 0xb5, 0xd1, 0x9a, 0x5e, 0xed, 0xdc, 0x7c, 0xaf, 0x3d, 0x92, 0xa0, 0x77, 0x3d, 0xe6, 0x9f, 0x1a, + 0xe1, 0x11, 0xfa, 0x2d, 0xc8, 0xa9, 0x72, 0x4c, 0xcb, 0xba, 0x38, 0xee, 0x72, 0x3c, 0xe4, 0x61, + 0xef, 0xe0, 0x07, 0x3c, 0x94, 0x92, 0x46, 0xa4, 0xb2, 0xfc, 0x19, 0x14, 0x7b, 0x71, 0xf5, 0x12, + 0x4c, 0x1e, 0xe1, 0x53, 0x55, 0x3a, 0xf9, 0x4f, 0xce, 0xcb, 0x0e, 0x72, 0x03, 0xac, 0x4a, 0xc7, + 0x88, 0xbc, 0x14, 0x2a, 0x1f, 0x64, 0xde, 0xd3, 0x3e, 0xca, 0xe6, 0x66, 0x4b, 0x73, 0x51, 0xf1, + 0xde, 0xb6, 0x98, 0xd3, 0x71, 0xd8, 0xe9, 0xff, 0x55, 0xf1, 0x1e, 0x64, 0xd4, 0xf8, 0xc5, 0x3b, + 0x27, 0x8b, 0x77, 0x0a, 0xf0, 0xab, 0x2e, 0xde, 0x6b, 0x50, 0x40, 0xca, 0x2a, 0x1e, 0xc6, 0x49, + 0xe1, 0x00, 0x84, 0x4b, 0xbb, 0x36, 0xaf, 0xee, 0x91, 0x80, 0xa8, 0xee, 0xd9, 0xf3, 0xab, 0x7b, + 0xe4, 0xa3, 0xa8, 0xee, 0xa8, 0xe7, 0x49, 0xbf, 0x09, 0x53, 0x8e, 0xd7, 0x0e, 0x98, 0xa8, 0xcb, + 0x85, 0xad, 0xf5, 0x41, 0x10, 0x7b, 0xe8, 0xd4, 0x25, 0xc8, 0xa6, 0x86, 0x14, 0x4f, 0xc9, 0xe7, + 0xe9, 0xf1, 0xf2, 0xf9, 0x09, 0x2c, 0x85, 0x0b, 0x26, 0x23, 0xa6, 0xe5, 0x12, 0x8a, 0x05, 0x20, + 0x09, 0x98, 0xa8, 0xf5, 0x85, 0xad, 0xa5, 0x3e, 0xcc, 0x3b, 0x6a, 0xd2, 0xdc, 0xc9, 0xfe, 0x96, + 0x43, 0x2e, 0x86, 0x08, 0xfb, 0xa4, 0xce, 0xf5, 0xf7, 0xa5, 0x7a, 0x5f, 0xad, 0xc8, 0x8d, 0x53, + 0x2b, 0xf6, 0x61, 0x51, 0x3c, 0xf6, 0x5b, 0x97, 0x1f, 0xcd, 0xba, 0x6f, 0x09, 0xf5, 0x84, 0x69, + 0x0f, 0x60, 0xa1, 0x89, 0x91, 0xcf, 0x0e, 0x30, 0x62, 0x11, 0x20, 0x8c, 0x06, 0x58, 0x8a, 0x34, + 0x43, 0xb4, 0x9e, 0xf6, 0x59, 0x88, 0xb7, 0x4f, 0x0c, 0x15, 0x2b, 0xf0, 0x7d, 0xde, 0x74, 0xd4, + 0x92, 0x99, 0xb8, 0xb7, 0xe2, 0x88, 0x41, 0xb9, 0xa4, 0x70, 0xb6, 0x25, 0xcc, 0xe3, 0xd8, 0x2d, + 0x3e, 0xec, 0x75, 0xc7, 0xc6, 0x0c, 0x39, 0x2e, 0x2d, 0xcf, 0x8e, 0x48, 0xa9, 0xae, 0x3f, 0x77, + 0xa4, 0x66, 0xff, 0xf8, 0x32, 0x37, 0xf6, 0xf8, 0xf2, 0xed, 0x9e, 0x34, 0x8d, 0x2a, 0x95, 0x68, + 0x3e, 0xf9, 0x6e, 0xee, 0xfd, 0x20, 0xdc, 0xd0, 0x6f, 0xc2, 0x74, 0x13, 0x23, 0x1b, 0xfb, 0xaa, + 0xb1, 0x54, 0x06, 0x1d, 0x79, 0x5f, 0x48, 0x19, 0x4a, 0xba, 0xfa, 0x45, 0x16, 0x16, 0xb7, 0x6d, + 0xbb, 0xb7, 0x35, 0x5c, 0xa0, 0x6c, 0xde, 0x83, 0xfc, 0x0b, 0x94, 0x90, 0xae, 0xae, 0x5e, 0x57, + 0x35, 0x4b, 0xf6, 0xf7, 0xc9, 0x0b, 0xf4, 0x77, 0x51, 0xd9, 0x64, 0x3b, 0xbf, 0x0e, 0x7a, 0x97, + 0x23, 0x89, 0x51, 0xaf, 0x14, 0xed, 0x84, 0xc3, 0x57, 0x22, 0x81, 0x55, 0xae, 0x28, 0x46, 0x4f, + 0x5d, 0x38, 0x81, 0xc5, 0x08, 0x19, 0xf2, 0x3a, 0xad, 0x9e, 0x4f, 0xa7, 0xd6, 0x73, 0xfd, 0x43, + 0x98, 0x56, 0x02, 0xbc, 0x68, 0xcc, 0x6d, 0x6d, 0xa4, 0x76, 0x74, 0xf1, 0x2a, 0x15, 0x3a, 0x2e, + 0x35, 0x0d, 0xa5, 0xa7, 0xdf, 0x86, 0x29, 0xf1, 0x56, 0xa6, 0xf2, 0xfa, 0x6a, 0x2a, 0x80, 0x90, + 0xe0, 0x00, 0x9f, 0x60, 0x8b, 0x11, 0xbf, 0xce, 0x1f, 0x0d, 0xa9, 0x57, 0x5d, 0x82, 0x37, 0xfa, + 0x28, 0x20, 0x7b, 0x49, 0xf5, 0x57, 0x92, 0x1e, 0xbd, 0xcd, 0xe6, 0xd5, 0xd3, 0x23, 0xfb, 0x32, + 0xe9, 0x31, 0x35, 0x0e, 0x3d, 0xa6, 0x5f, 0x3e, 0x3d, 0x66, 0x86, 0xd1, 0x23, 0xf7, 0x8a, 0xe8, + 0xf1, 0x51, 0x36, 0x37, 0x59, 0xca, 0x2a, 0x92, 0xc4, 0x89, 0xa0, 0x48, 0xf2, 0xcb, 0x0c, 0xbc, + 0x26, 0x66, 0xb3, 0xf0, 0x0e, 0x2f, 0x40, 0x91, 0xf8, 0xcd, 0x66, 0xc6, 0xbb, 0xd9, 0x27, 0x30, + 0x2b, 0x86, 0xc5, 0xc4, 0x84, 0xf6, 0xee, 0xd0, 0x09, 0x2d, 0xcd, 0x6a, 0xa3, 0x28, 0xb0, 0xc6, + 0x18, 0xcd, 0xfe, 0xac, 0xc1, 0xeb, 0x09, 0x44, 0x35, 0x92, 0xd5, 0xa1, 0x18, 0x1a, 0x48, 0x03, + 0x97, 0x89, 0x40, 0x8c, 0xd2, 0x61, 0x0a, 0xca, 0x14, 0xae, 0xa4, 0x7f, 0x1f, 0xe6, 0x42, 0x90, + 0x9f, 0x61, 0x8b, 0x61, 0x7b, 0xc8, 0xd8, 0x2c, 0xc7, 0x65, 0x25, 0x6b, 0xcc, 0x1e, 0xf7, 0x3e, + 0x56, 0x7f, 0x93, 0x81, 0x75, 0x69, 0x9e, 0x2d, 0xe4, 0x78, 0x5c, 0xeb, 0xa4, 0xd5, 0x76, 0x31, + 0x17, 0xfe, 0x1f, 0xdf, 0xdf, 0x1b, 0x30, 0x23, 0x40, 0xa2, 0xa1, 0x71, 0x9a, 0x3f, 0xee, 0xda, + 0xba, 0x07, 0x0b, 0x56, 0x68, 0x54, 0x74, 0xb9, 0x32, 0xfd, 0xb7, 0x87, 0x5e, 0xee, 0x30, 0xf7, + 0x8c, 0x92, 0x95, 0x58, 0xa9, 0x5e, 0x81, 0xcb, 0xe7, 0x68, 0x29, 0xba, 0xff, 0x47, 0x83, 0x95, + 0x3a, 0xf2, 0x2c, 0xec, 0x7e, 0x1c, 0x30, 0xca, 0x90, 0x67, 0x3b, 0x5e, 0x63, 0xaf, 0x67, 0x9a, + 0x1f, 0x21, 0x6c, 0x0f, 0x60, 0xbe, 0x1b, 0x36, 0x39, 0x2a, 0x64, 0x44, 0x7e, 0x27, 0x62, 0x17, + 0x4b, 0x6c, 0x11, 0x2c, 0x31, 0x2a, 0xcc, 0xb2, 0xde, 0xc7, 0x97, 0xd3, 0x3d, 0x63, 0xaf, 0x40, + 0xd9, 0xf8, 0x2b, 0x50, 0x75, 0x0d, 0x56, 0x07, 0xb8, 0xac, 0x82, 0xf2, 0x7b, 0x0d, 0xca, 0x77, + 0x30, 0xb5, 0x7c, 0xe7, 0x00, 0x8f, 0xf3, 0x02, 0xf6, 0x53, 0x28, 0xda, 0x98, 0x5a, 0xd1, 0x25, + 0x67, 0x92, 0xdf, 0x16, 0x06, 0x5c, 0xf2, 0xa0, 0x33, 0x8d, 0x02, 0x87, 0x0b, 0xef, 0xf5, 0x2f, + 0x1a, 0x2c, 0xa5, 0x48, 0xaa, 0xec, 0xbc, 0x0d, 0x33, 0xd2, 0x51, 0x5a, 0xd6, 0xc4, 0x6b, 0xee, + 0x5b, 0xe7, 0xc4, 0x6e, 0x4f, 0x86, 0xc4, 0x3b, 0x24, 0x46, 0xa8, 0xa5, 0x7f, 0x02, 0x0b, 0x3d, + 0xb7, 0x49, 0x19, 0x62, 0x01, 0x55, 0x1e, 0x5c, 0x1b, 0xe5, 0x1a, 0x1e, 0x0b, 0x0d, 0x63, 0x9e, + 0xc5, 0x17, 0xaa, 0x7f, 0xd4, 0xa0, 0xf2, 0xc0, 0xa1, 0x2c, 0x12, 0xdc, 0x43, 0x3e, 0x73, 0x78, + 0x83, 0xa1, 0x61, 0x68, 0x57, 0x20, 0xdf, 0x9d, 0x0e, 0x65, 0x5c, 0xbb, 0x0b, 0x7d, 0x81, 0x9f, + 0xfc, 0x66, 0x12, 0xb8, 0xfa, 0xbb, 0x0c, 0xac, 0x0d, 0x34, 0x54, 0x45, 0xf9, 0xe7, 0x50, 0xe9, + 0xbe, 0xfc, 0x75, 0xa3, 0xd5, 0x8e, 0x24, 0x55, 0xf0, 0xdf, 0x1d, 0xe5, 0xf0, 0x08, 0xff, 0x21, + 0x66, 0xc8, 0x46, 0x0c, 0x19, 0x97, 0x50, 0xf2, 0x85, 0xb8, 0x6b, 0x03, 0x3f, 0x3b, 0xf6, 0xe9, + 0xaa, 0xff, 0xec, 0xcc, 0x0b, 0x9d, 0x7d, 0x92, 0xfc, 0xb2, 0xd2, 0x3d, 0x9b, 0x5f, 0x62, 0xf5, + 0x87, 0x6d, 0x1b, 0x31, 0xcc, 0xdb, 0x02, 0xf6, 0x77, 0x02, 0xc7, 0xb5, 0x77, 0xed, 0x8f, 0x7d, + 0x1b, 0xfb, 0x8e, 0xd7, 0xb8, 0x40, 0x8e, 0x7c, 0x0a, 0x33, 0xf1, 0xf4, 0xa8, 0x0f, 0x4d, 0x8f, + 0xe1, 0x07, 0x1b, 0x21, 0x66, 0xf5, 0x2d, 0xb8, 0x72, 0xae, 0xb8, 0xca, 0xf4, 0x3f, 0x68, 0xb0, + 0x76, 0x0f, 0xb3, 0x17, 0x75, 0xe6, 0x49, 0xd2, 0x99, 0x0f, 0x87, 0x3a, 0x33, 0xe4, 0xd4, 0xae, + 0x27, 0x5f, 0x68, 0xb0, 0x3e, 0x58, 0x58, 0xf1, 0xf1, 0x53, 0xc8, 0x85, 0xff, 0x02, 0xa8, 0x7e, + 0xbc, 0xfd, 0x02, 0x16, 0x48, 0x20, 0x23, 0x82, 0xac, 0xfe, 0x3a, 0x03, 0xd5, 0x5d, 0xaf, 0x83, + 0x5c, 0x87, 0x87, 0x34, 0x22, 0x46, 0xc4, 0x99, 0xd1, 0x23, 0xb5, 0xda, 0x97, 0xa1, 0xf9, 0xde, + 0xba, 0x9d, 0xd2, 0x4a, 0x26, 0xc7, 0x6f, 0x25, 0x3f, 0x81, 0xf9, 0x0e, 0xf6, 0xa9, 0x43, 0x3c, + 0xc7, 0x6b, 0x98, 0xdc, 0x52, 0xd5, 0x6f, 0xb7, 0x52, 0xe7, 0xc6, 0x9e, 0xff, 0x62, 0xe4, 0xf4, + 0x18, 0xaa, 0xde, 0xe1, 0x3e, 0xce, 0x75, 0x62, 0xcf, 0x9c, 0x61, 0xe7, 0x86, 0xa4, 0xcb, 0xb0, + 0x4b, 0xf7, 0x30, 0xfb, 0x06, 0x63, 0x76, 0x1b, 0x56, 0x4e, 0x90, 0xc7, 0xcc, 0x84, 0xab, 0xa6, + 0x15, 0xf8, 0x4d, 0x44, 0x9b, 0x22, 0x80, 0x45, 0x63, 0x89, 0xcb, 0xc4, 0x5d, 0xaa, 0x4b, 0x81, + 0xea, 0x5f, 0x35, 0x58, 0x49, 0x37, 0x31, 0x62, 0x57, 0x5f, 0x1c, 0xb5, 0x71, 0xe3, 0x78, 0x7f, + 0x22, 0x19, 0x49, 0xfd, 0x1a, 0x94, 0xc4, 0x47, 0x5e, 0x39, 0x16, 0x99, 0xc2, 0x68, 0xee, 0x65, + 0x8e, 0xcb, 0xaa, 0x1d, 0x03, 0x1f, 0xdf, 0x47, 0xb4, 0xb9, 0xb3, 0x08, 0xaf, 0x25, 0xfd, 0xe4, + 0x2c, 0xdd, 0xf1, 0x9f, 0x3e, 0xab, 0x4c, 0x7c, 0xf5, 0xac, 0x32, 0xf1, 0xf5, 0xb3, 0x8a, 0xf6, + 0x8b, 0xb3, 0x8a, 0xf6, 0xa7, 0xb3, 0x8a, 0xf6, 0xb7, 0xb3, 0x8a, 0xf6, 0xf4, 0xac, 0xa2, 0xfd, + 0xf3, 0xac, 0xa2, 0xfd, 0xeb, 0xac, 0x32, 0xf1, 0xf5, 0x59, 0x45, 0xfb, 0xf2, 0x79, 0x65, 0xe2, + 0xe9, 0xf3, 0xca, 0xc4, 0x57, 0xcf, 0x2b, 0x13, 0x4f, 0xbe, 0xd7, 0x20, 0x5d, 0x0f, 0x1c, 0x72, + 0xfe, 0x5f, 0xb5, 0xdf, 0x4d, 0x2c, 0x1d, 0x4c, 0x8b, 0x57, 0xa5, 0xef, 0xfc, 0x37, 0x00, 0x00, + 0xff, 0xff, 0xab, 0x38, 0x56, 0x2e, 0xeb, 0x1d, 0x00, 0x00, } func (this *PollWorkflowTaskQueueRequest) Equal(that interface{}) bool { @@ -2054,6 +2065,14 @@ func (this *PollWorkflowTaskQueueResponse) Equal(that interface{}) bool { return false } } + if len(this.Messages) != len(that1.Messages) { + return false + } + for i := range this.Messages { + if !this.Messages[i].Equal(that1.Messages[i]) { + return false + } + } return true } func (this *PollActivityTaskQueueRequest) Equal(that interface{}) bool { @@ -2906,7 +2925,7 @@ func (this *PollWorkflowTaskQueueResponse) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 20) + s := make([]string, 0, 21) s = append(s, "&matchingservice.PollWorkflowTaskQueueResponse{") s = append(s, "TaskToken: "+fmt.Sprintf("%#v", this.TaskToken)+",\n") if this.WorkflowExecution != nil { @@ -2946,6 +2965,9 @@ func (this *PollWorkflowTaskQueueResponse) GoString() string { if this.Queries != nil { s = append(s, "Queries: "+mapStringForQueries+",\n") } + if this.Messages != nil { + s = append(s, "Messages: "+fmt.Sprintf("%#v", this.Messages)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -3399,6 +3421,22 @@ func (m *PollWorkflowTaskQueueResponse) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if len(m.Messages) > 0 { + for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Messages[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintRequestResponse(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + } if len(m.Queries) > 0 { for k := range m.Queries { v := m.Queries[k] @@ -4934,6 +4972,12 @@ func (m *PollWorkflowTaskQueueResponse) Size() (n int) { n += mapEntrySize + 2 + sovRequestResponse(uint64(mapEntrySize)) } } + if len(m.Messages) > 0 { + for _, e := range m.Messages { + l = e.Size() + n += 2 + l + sovRequestResponse(uint64(l)) + } + } return n } @@ -5484,6 +5528,11 @@ func (this *PollWorkflowTaskQueueResponse) String() string { if this == nil { return "nil" } + repeatedStringForMessages := "[]*Message{" + for _, f := range this.Messages { + repeatedStringForMessages += strings.Replace(fmt.Sprintf("%v", f), "Message", "v15.Message", 1) + "," + } + repeatedStringForMessages += "}" keysForQueries := make([]string, 0, len(this.Queries)) for k, _ := range this.Queries { keysForQueries = append(keysForQueries, k) @@ -5511,6 +5560,7 @@ func (this *PollWorkflowTaskQueueResponse) String() string { `ScheduledTime:` + strings.Replace(fmt.Sprintf("%v", this.ScheduledTime), "Timestamp", "types.Timestamp", 1) + `,`, `StartedTime:` + strings.Replace(fmt.Sprintf("%v", this.StartedTime), "Timestamp", "types.Timestamp", 1) + `,`, `Queries:` + mapStringForQueries + `,`, + `Messages:` + repeatedStringForMessages + `,`, `}`, }, "") return s @@ -5565,7 +5615,7 @@ func (this *AddWorkflowTaskRequest) String() string { `ScheduleToStartTimeout:` + strings.Replace(fmt.Sprintf("%v", this.ScheduleToStartTimeout), "Duration", "types.Duration", 1) + `,`, `ForwardedSource:` + fmt.Sprintf("%v", this.ForwardedSource) + `,`, `Source:` + fmt.Sprintf("%v", this.Source) + `,`, - `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v16.VectorClock", 1) + `,`, + `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v17.VectorClock", 1) + `,`, `}`, }, "") return s @@ -5591,7 +5641,7 @@ func (this *AddActivityTaskRequest) String() string { `ScheduleToStartTimeout:` + strings.Replace(fmt.Sprintf("%v", this.ScheduleToStartTimeout), "Duration", "types.Duration", 1) + `,`, `ForwardedSource:` + fmt.Sprintf("%v", this.ForwardedSource) + `,`, `Source:` + fmt.Sprintf("%v", this.Source) + `,`, - `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v16.VectorClock", 1) + `,`, + `Clock:` + strings.Replace(fmt.Sprintf("%v", this.Clock), "VectorClock", "v17.VectorClock", 1) + `,`, `}`, }, "") return s @@ -5782,7 +5832,7 @@ func (this *InvalidateTaskQueueMetadataRequest) String() string { `NamespaceId:` + fmt.Sprintf("%v", this.NamespaceId) + `,`, `TaskQueue:` + fmt.Sprintf("%v", this.TaskQueue) + `,`, `TaskQueueType:` + fmt.Sprintf("%v", this.TaskQueueType) + `,`, - `VersioningData:` + strings.Replace(fmt.Sprintf("%v", this.VersioningData), "VersioningData", "v18.VersioningData", 1) + `,`, + `VersioningData:` + strings.Replace(fmt.Sprintf("%v", this.VersioningData), "VersioningData", "v19.VersioningData", 1) + `,`, `}`, }, "") return s @@ -5823,7 +5873,7 @@ func (this *GetTaskQueueMetadataResponse_VersioningData) String() string { return "nil" } s := strings.Join([]string{`&GetTaskQueueMetadataResponse_VersioningData{`, - `VersioningData:` + strings.Replace(fmt.Sprintf("%v", this.VersioningData), "VersioningData", "v18.VersioningData", 1) + `,`, + `VersioningData:` + strings.Replace(fmt.Sprintf("%v", this.VersioningData), "VersioningData", "v19.VersioningData", 1) + `,`, `}`, }, "") return s @@ -6624,6 +6674,40 @@ func (m *PollWorkflowTaskQueueResponse) Unmarshal(dAtA []byte) error { } m.Queries[mapkey] = mapvalue iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRequestResponse + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthRequestResponse + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthRequestResponse + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Messages = append(m.Messages, &v15.Message{}) + if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRequestResponse(dAtA[iNdEx:]) @@ -7669,7 +7753,7 @@ func (m *AddWorkflowTaskRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Source |= v15.TaskSource(b&0x7F) << shift + m.Source |= v16.TaskSource(b&0x7F) << shift if b < 0x80 { break } @@ -7704,7 +7788,7 @@ func (m *AddWorkflowTaskRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Clock == nil { - m.Clock = &v16.VectorClock{} + m.Clock = &v17.VectorClock{} } if err := m.Clock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8021,7 +8105,7 @@ func (m *AddActivityTaskRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Source |= v15.TaskSource(b&0x7F) << shift + m.Source |= v16.TaskSource(b&0x7F) << shift if b < 0x80 { break } @@ -8056,7 +8140,7 @@ func (m *AddActivityTaskRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Clock == nil { - m.Clock = &v16.VectorClock{} + m.Clock = &v17.VectorClock{} } if err := m.Clock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8770,7 +8854,7 @@ func (m *CancelOutstandingPollRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TaskQueueType |= v17.TaskQueueType(b&0x7F) << shift + m.TaskQueueType |= v18.TaskQueueType(b&0x7F) << shift if b < 0x80 { break } @@ -9929,7 +10013,7 @@ func (m *InvalidateTaskQueueMetadataRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TaskQueueType |= v17.TaskQueueType(b&0x7F) << shift + m.TaskQueueType |= v18.TaskQueueType(b&0x7F) << shift if b < 0x80 { break } @@ -9964,7 +10048,7 @@ func (m *InvalidateTaskQueueMetadataRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.VersioningData == nil { - m.VersioningData = &v18.VersioningData{} + m.VersioningData = &v19.VersioningData{} } if err := m.VersioningData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10256,7 +10340,7 @@ func (m *GetTaskQueueMetadataResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v18.VersioningData{} + v := &v19.VersioningData{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/common/util.go b/common/util.go index d4a2a0e5e41..90924fb7a5a 100644 --- a/common/util.go +++ b/common/util.go @@ -35,10 +35,8 @@ import ( "github.com/dgryski/go-farm" "github.com/gogo/protobuf/proto" - commandpb "go.temporal.io/api/command/v1" commonpb "go.temporal.io/api/common/v1" enumspb "go.temporal.io/api/enums/v1" - historypb "go.temporal.io/api/history/v1" "go.temporal.io/api/serviceerror" "go.temporal.io/api/workflowservice/v1" @@ -388,31 +386,16 @@ func WorkflowIDToHistoryShard( return int32(hash%uint32(numberOfShards)) + 1 // ShardID starts with 1 } -// PrettyPrintHistory prints history in human-readable format -func PrettyPrintHistory(history *historypb.History, header ...string) { +func PrettyPrint[T proto.Message](msgs []T, header ...string) { var sb strings.Builder - sb.WriteString("==========================================================================\n") + _, _ = sb.WriteString("==========================================================================\n") for _, h := range header { - sb.WriteString(h) - sb.WriteString("\n") + _, _ = sb.WriteString(h) + _, _ = sb.WriteString("\n") } - sb.WriteString("--------------------------------------------------------------------------\n") - _ = proto.MarshalText(&sb, history) - sb.WriteString("\n") - fmt.Print(sb.String()) -} - -// PrettyPrintCommands prints commands in human-readable format -func PrettyPrintCommands(commands []*commandpb.Command, header ...string) { - var sb strings.Builder - sb.WriteString("==========================================================================\n") - for _, h := range header { - sb.WriteString(h) - sb.WriteString("\n") - } - sb.WriteString("--------------------------------------------------------------------------\n") - for _, command := range commands { - _ = proto.MarshalText(&sb, command) + _, _ = sb.WriteString("--------------------------------------------------------------------------\n") + for _, m := range msgs { + _ = proto.MarshalText(&sb, m) } fmt.Print(sb.String()) } @@ -465,6 +448,7 @@ func CreateMatchingPollWorkflowTaskQueueResponse(historyResponse *historyservice ScheduledTime: historyResponse.ScheduledTime, StartedTime: historyResponse.StartedTime, Queries: historyResponse.Queries, + Messages: historyResponse.Messages, } return matchingResp diff --git a/proto/internal/temporal/server/api/historyservice/v1/request_response.proto b/proto/internal/temporal/server/api/historyservice/v1/request_response.proto index 84615c4e261..cc4a28f3f94 100644 --- a/proto/internal/temporal/server/api/historyservice/v1/request_response.proto +++ b/proto/internal/temporal/server/api/historyservice/v1/request_response.proto @@ -34,6 +34,7 @@ import "temporal/api/taskqueue/v1/message.proto"; import "temporal/api/enums/v1/workflow.proto"; import "temporal/api/workflow/v1/message.proto"; import "temporal/api/query/v1/message.proto"; +import "temporal/api/protocol/v1/message.proto"; import "temporal/api/failure/v1/message.proto"; import "temporal/server/api/clock/v1/message.proto"; @@ -164,6 +165,7 @@ message RecordWorkflowTaskStartedResponse { google.protobuf.Timestamp started_time = 13 [(gogoproto.stdtime) = true]; map queries = 14; temporal.server.api.clock.v1.VectorClock clock = 15; + repeated temporal.api.protocol.v1.Message messages = 16; } message RecordActivityTaskStartedRequest { diff --git a/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto b/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto index 23779f33b02..f0eed15fd1f 100644 --- a/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto +++ b/proto/internal/temporal/server/api/matchingservice/v1/request_response.proto @@ -32,6 +32,7 @@ import "temporal/api/common/v1/message.proto"; import "temporal/api/enums/v1/task_queue.proto"; import "temporal/api/taskqueue/v1/message.proto"; import "temporal/api/query/v1/message.proto"; +import "temporal/api/protocol/v1/message.proto"; import "temporal/server/api/clock/v1/message.proto"; import "temporal/server/api/enums/v1/task.proto"; @@ -65,6 +66,7 @@ message PollWorkflowTaskQueueResponse { google.protobuf.Timestamp scheduled_time = 15 [(gogoproto.stdtime) = true]; google.protobuf.Timestamp started_time = 16 [(gogoproto.stdtime) = true]; map queries = 17; + repeated temporal.api.protocol.v1.Message messages = 18; } message PollActivityTaskQueueRequest { diff --git a/service/frontend/workflow_handler.go b/service/frontend/workflow_handler.go index 56d3e28ec83..80c7eb19a09 100644 --- a/service/frontend/workflow_handler.go +++ b/service/frontend/workflow_handler.go @@ -4433,6 +4433,7 @@ func (wh *WorkflowHandler) createPollWorkflowTaskQueueResponse( ScheduledTime: matchingResp.ScheduledTime, StartedTime: matchingResp.StartedTime, Queries: matchingResp.Queries, + Messages: matchingResp.Messages, } return resp, nil diff --git a/service/history/commandChecker.go b/service/history/commandChecker.go index d0f28da67f6..ba4b5184e17 100644 --- a/service/history/commandChecker.go +++ b/service/history/commandChecker.go @@ -33,6 +33,7 @@ import ( commandpb "go.temporal.io/api/command/v1" commonpb "go.temporal.io/api/common/v1" enumspb "go.temporal.io/api/enums/v1" + protocolpb "go.temporal.io/api/protocol/v1" "go.temporal.io/api/serviceerror" taskqueuepb "go.temporal.io/api/taskqueue/v1" @@ -898,3 +899,11 @@ func (v *commandAttrValidator) commandTypes( } return result } + +// TODO (alex-update): move to messageValidator. +func (v *commandAttrValidator) validateMessages( + _ []*protocolpb.Message, +) error { + + return nil +} diff --git a/service/history/workflowTaskHandler.go b/service/history/workflowTaskHandler.go index 23877577c0d..1d47e744ff3 100644 --- a/service/history/workflowTaskHandler.go +++ b/service/history/workflowTaskHandler.go @@ -34,6 +34,7 @@ import ( commonpb "go.temporal.io/api/common/v1" enumspb "go.temporal.io/api/enums/v1" failurepb "go.temporal.io/api/failure/v1" + protocolpb "go.temporal.io/api/protocol/v1" "go.temporal.io/api/serviceerror" "go.temporal.io/api/workflowservice/v1" @@ -239,6 +240,31 @@ func (handler *workflowTaskHandlerImpl) handleCommand(ctx context.Context, comma } } +func (handler *workflowTaskHandlerImpl) handleMessages( + ctx context.Context, + messages []*protocolpb.Message, +) error { + if err := handler.attrValidator.validateMessages( + messages, + ); err != nil { + return err + } + + for _, message := range messages { + err := handler.handleMessage(ctx, message) + if err != nil || handler.stopProcessing { + return err + } + } + + return nil +} + +func (handler *workflowTaskHandlerImpl) handleMessage(_ context.Context, _ *protocolpb.Message) error { + + return nil +} + func (handler *workflowTaskHandlerImpl) handleCommandScheduleActivity( _ context.Context, attr *commandpb.ScheduleActivityTaskCommandAttributes, diff --git a/service/history/workflowTaskHandlerCallbacks.go b/service/history/workflowTaskHandlerCallbacks.go index 2df2257db74..34f3e91a235 100644 --- a/service/history/workflowTaskHandlerCallbacks.go +++ b/service/history/workflowTaskHandlerCallbacks.go @@ -386,9 +386,11 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( metrics.OperationTag(metrics.HistoryRespondWorkflowTaskCompletedScope)) } - workflowTaskHeartbeating := request.GetForceCreateNewWorkflowTask() && len(request.Commands) == 0 + workflowTaskHeartbeating := request.GetForceCreateNewWorkflowTask() && len(request.Commands) == 0 && len(request.Messages) == 0 var workflowTaskHeartbeatTimeout bool var completedEvent *historypb.HistoryEvent + var responseMutations []workflowTaskResponseMutation + if workflowTaskHeartbeating { namespace := namespaceEntry.Name() timeout := handler.config.WorkflowTaskHeartbeatTimeout(namespace.String()) @@ -423,11 +425,8 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( wtFailedCause *workflowTaskFailedCause activityNotStartedCancelled bool newMutableState workflow.MutableState - - hasUnhandledEvents bool - responseMutations []workflowTaskResponseMutation ) - hasUnhandledEvents = ms.HasBufferedEvents() + hasBufferedEvents := ms.HasBufferedEvents() if request.StickyAttributes == nil || request.StickyAttributes.WorkerTaskQueue == nil { handler.metricsHandler.Counter(metrics.CompleteWorkflowTaskWithStickyDisabledCounter.GetMetricName()).Record( @@ -481,7 +480,7 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( handler.config, handler.shard, handler.searchAttributesMapper, - hasUnhandledEvents, + hasBufferedEvents, ) if responseMutations, err = workflowTaskHandler.handleCommands( @@ -491,6 +490,13 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( return nil, err } + if err = workflowTaskHandler.handleMessages( + ctx, + request.Messages, + ); err != nil { + return nil, err + } + // set the vars used by following logic // further refactor should also clean up the vars used below wtFailedCause = workflowTaskHandler.workflowTaskFailedCause @@ -501,7 +507,7 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( newMutableState = workflowTaskHandler.newMutableState - hasUnhandledEvents = workflowTaskHandler.hasBufferedEvents + hasBufferedEvents = workflowTaskHandler.hasBufferedEvents } if wtFailedCause != nil { @@ -522,7 +528,7 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( if err != nil { return nil, err } - hasUnhandledEvents = true + hasBufferedEvents = true newMutableState = nil if wtFailedCause.workflowFailure != nil { @@ -532,24 +538,37 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( if _, err := ms.AddFailWorkflowEvent(nextEventBatchId, enumspb.RETRY_STATE_NON_RETRYABLE_FAILURE, attributes, ""); err != nil { return nil, err } - hasUnhandledEvents = false + hasBufferedEvents = false } } - createNewWorkflowTask := ms.IsWorkflowExecutionRunning() && (hasUnhandledEvents || request.GetForceCreateNewWorkflowTask() || activityNotStartedCancelled) + newWorkflowTaskType := enumsspb.WORKFLOW_TASK_TYPE_UNSPECIFIED + if ms.IsWorkflowExecutionRunning() && (hasBufferedEvents || request.GetForceCreateNewWorkflowTask() || activityNotStartedCancelled) { + newWorkflowTaskType = enumsspb.WORKFLOW_TASK_TYPE_NORMAL + } + createNewWorkflowTask := newWorkflowTaskType != enumsspb.WORKFLOW_TASK_TYPE_UNSPECIFIED + var newWorkflowTaskScheduledEventID int64 if createNewWorkflowTask { + // TODO (alex-update): Need to support case when ReturnNewWorkflowTask=false and WT.Type=Speculative. + // In this case WT needs to be added directly to matching. + // Current implementation will create normal WT. bypassTaskGeneration := request.GetReturnNewWorkflowTask() && wtFailedCause == nil + if !bypassTaskGeneration { + // If task generation can't be bypassed workflow task must be of Normal type because Speculative workflow task always skip task generation. + newWorkflowTaskType = enumsspb.WORKFLOW_TASK_TYPE_NORMAL + } + var newWorkflowTask *workflow.WorkflowTaskInfo var err error if workflowTaskHeartbeating && !workflowTaskHeartbeatTimeout { newWorkflowTask, err = ms.AddWorkflowTaskScheduledEventAsHeartbeat( bypassTaskGeneration, currentWorkflowTask.OriginalScheduledTime, - enumsspb.WORKFLOW_TASK_TYPE_NORMAL, + enumsspb.WORKFLOW_TASK_TYPE_NORMAL, // Heartbeat workflow task is always of Normal type. ) } else { - newWorkflowTask, err = ms.AddWorkflowTaskScheduledEvent(bypassTaskGeneration, enumsspb.WORKFLOW_TASK_TYPE_NORMAL) + newWorkflowTask, err = ms.AddWorkflowTaskScheduledEvent(bypassTaskGeneration, newWorkflowTaskType) } if err != nil { return nil, err @@ -661,7 +680,6 @@ func (handler *workflowTaskHandlerCallbacksImpl) handleWorkflowTaskCompleted( } return resp, nil - } func (handler *workflowTaskHandlerCallbacksImpl) verifyFirstWorkflowTaskScheduled( diff --git a/tests/integration_test.go b/tests/integration_test.go index 3d381b877b7..4f1ef999df2 100644 --- a/tests/integration_test.go +++ b/tests/integration_test.go @@ -26,9 +26,12 @@ package tests import ( "flag" + "reflect" "testing" "time" + "github.com/gogo/protobuf/proto" + "github.com/gogo/protobuf/types" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" commonpb "go.temporal.io/api/common/v1" @@ -79,3 +82,21 @@ func (s *integrationSuite) sendSignal(namespace string, execution *commonpb.Work return err } + +func unmarshalAny[T proto.Message](s *integrationSuite, a *types.Any) T { + s.T().Helper() + pb := new(T) + ppb := reflect.ValueOf(pb).Elem() + pbNew := reflect.New(reflect.TypeOf(pb).Elem().Elem()) + ppb.Set(pbNew) + err := types.UnmarshalAny(a, *pb) + s.NoError(err) + return *pb +} + +func marshalAny(s *integrationSuite, pb proto.Message) *types.Any { + s.T().Helper() + a, err := types.MarshalAny(pb) + s.NoError(err) + return a +} diff --git a/tests/integrationbase.go b/tests/integrationbase.go index f18ca525d8c..55b92b0caaf 100644 --- a/tests/integrationbase.go +++ b/tests/integrationbase.go @@ -222,7 +222,7 @@ func (s *IntegrationBase) randomizeStr(id string) string { func (s *IntegrationBase) printWorkflowHistory(namespace string, execution *commonpb.WorkflowExecution) { events := s.getHistory(namespace, execution) - common.PrettyPrintHistory(&historypb.History{Events: events}) + common.PrettyPrint(events) } //lint:ignore U1000 used for debugging. diff --git a/tests/taskpoller.go b/tests/taskpoller.go index 8ff0dea8c3c..da644c6c4ff 100644 --- a/tests/taskpoller.go +++ b/tests/taskpoller.go @@ -36,6 +36,7 @@ import ( enumspb "go.temporal.io/api/enums/v1" failurepb "go.temporal.io/api/failure/v1" historypb "go.temporal.io/api/history/v1" + protocolpb "go.temporal.io/api/protocol/v1" querypb "go.temporal.io/api/query/v1" taskqueuepb "go.temporal.io/api/taskqueue/v1" "go.temporal.io/api/workflowservice/v1" @@ -57,6 +58,8 @@ type ( queryHandler func(task *workflowservice.PollWorkflowTaskQueueResponse) (*commonpb.Payloads, error) + messageHandler func(task *workflowservice.PollWorkflowTaskQueueResponse) ([]*protocolpb.Message, error) + // TaskPoller is used in integration tests to poll workflow or activity task queues. TaskPoller struct { Engine FrontendClient @@ -68,6 +71,7 @@ type ( WorkflowTaskHandler workflowTaskHandler ActivityTaskHandler activityTaskHandler QueryHandler queryHandler + MessageHandler messageHandler Logger log.Logger T *testing.T } @@ -219,7 +223,7 @@ Loop: } if dumpHistory { - common.PrettyPrintHistory(response.History) + common.PrettyPrint(response.History.Events) } // handle query task response @@ -241,7 +245,21 @@ Loop: return true, nil, err } - var commands []*commandpb.Command + // Handle messages. + var workerToServerMessages []*protocolpb.Message + if p.MessageHandler != nil { + workerToServerMessages, err = p.MessageHandler(response) + if err != nil { + p.Logger.Error("Failing workflow task. Workflow messages handler failed with error", tag.Error(err)) + _, err = p.Engine.RespondWorkflowTaskFailed(NewContext(), &workflowservice.RespondWorkflowTaskFailedRequest{ + TaskToken: response.TaskToken, + Cause: enumspb.WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE, + Failure: newApplicationFailure(err, false, nil), + Identity: p.Identity, + }) + return false, nil, err + } + } // handle normal workflow task / non query task response var lastWorkflowTaskScheduleEvent *historypb.HistoryEvent @@ -254,7 +272,7 @@ Loop: require.Equal(p.T, workflowTaskAttempt, lastWorkflowTaskScheduleEvent.GetWorkflowTaskScheduledEventAttributes().GetAttempt()) } - wtCommands, err := p.WorkflowTaskHandler(response.WorkflowExecution, response.WorkflowType, response.PreviousStartedEventId, response.StartedEventId, response.History) + commands, err := p.WorkflowTaskHandler(response.WorkflowExecution, response.WorkflowType, response.PreviousStartedEventId, response.StartedEventId, response.History) if err != nil { p.Logger.Error("Failing workflow task. Workflow task handler failed with error", tag.Error(err)) _, err = p.Engine.RespondWorkflowTaskFailed(NewContext(), &workflowservice.RespondWorkflowTaskFailedRequest{ @@ -265,15 +283,20 @@ Loop: }) return false, nil, err } + if len(commands) > 0 { + common.PrettyPrint(commands, "Send commands to server using RespondWorkflowTaskCompleted:") + } + if len(workerToServerMessages) > 0 { + common.PrettyPrint(workerToServerMessages, "Send messages to server using RespondWorkflowTaskCompleted:") + } - commands = append(commands, wtCommands...) - common.PrettyPrintCommands(commands, "Send commands to server using RespondWorkflowTaskCompleted:") if !respondStickyTaskQueue { // non sticky taskqueue newTask, err := p.Engine.RespondWorkflowTaskCompleted(NewContext(), &workflowservice.RespondWorkflowTaskCompletedRequest{ TaskToken: response.TaskToken, Identity: p.Identity, Commands: commands, + Messages: workerToServerMessages, ReturnNewWorkflowTask: forceCreateNewWorkflowTask, ForceCreateNewWorkflowTask: forceCreateNewWorkflowTask, QueryResults: getQueryResults(response.GetQueries(), queryResult), @@ -304,8 +327,7 @@ Loop: } // HandlePartialWorkflowTask for workflow task -func (p *TaskPoller) HandlePartialWorkflowTask(response *workflowservice.PollWorkflowTaskQueueResponse) ( - *workflowservice.RespondWorkflowTaskCompletedResponse, error) { +func (p *TaskPoller) HandlePartialWorkflowTask(response *workflowservice.PollWorkflowTaskQueueResponse, forceCreateNewWorkflowTask bool) (*workflowservice.RespondWorkflowTaskCompletedResponse, error) { if response == nil || len(response.TaskToken) == 0 { p.Logger.Info("Empty Workflow task: Polling again") return nil, nil @@ -324,9 +346,24 @@ func (p *TaskPoller) HandlePartialWorkflowTask(response *workflowservice.PollWor return nil, errors.New("history events are empty") } - var commands []*commandpb.Command + // Handle messages. + var workerToServerMessages []*protocolpb.Message + if p.MessageHandler != nil { + var err error + workerToServerMessages, err = p.MessageHandler(response) + if err != nil { + p.Logger.Error("Failing workflow task. Workflow messages handler failed with error", tag.Error(err)) + _, err = p.Engine.RespondWorkflowTaskFailed(NewContext(), &workflowservice.RespondWorkflowTaskFailedRequest{ + TaskToken: response.TaskToken, + Cause: enumspb.WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE, + Failure: newApplicationFailure(err, false, nil), + Identity: p.Identity, + }) + return nil, err + } + } - wtCommands, err := p.WorkflowTaskHandler(response.WorkflowExecution, response.WorkflowType, + commands, err := p.WorkflowTaskHandler(response.WorkflowExecution, response.WorkflowType, response.PreviousStartedEventId, response.StartedEventId, response.History) if err != nil { p.Logger.Error("Failing workflow task. Workflow task handler failed with error", tag.Error(err)) @@ -338,8 +375,12 @@ func (p *TaskPoller) HandlePartialWorkflowTask(response *workflowservice.PollWor }) return nil, err } - commands = append(commands, wtCommands...) - common.PrettyPrintCommands(commands, "Send commands to server using RespondWorkflowTaskCompleted:") + if len(commands) > 0 { + common.PrettyPrint(commands, "Send commands to server using RespondWorkflowTaskCompleted:") + } + if len(workerToServerMessages) > 0 { + common.PrettyPrint(workerToServerMessages, "Send messages to server using RespondWorkflowTaskCompleted:") + } // sticky taskqueue newTask, err := p.Engine.RespondWorkflowTaskCompleted( @@ -348,12 +389,13 @@ func (p *TaskPoller) HandlePartialWorkflowTask(response *workflowservice.PollWor TaskToken: response.TaskToken, Identity: p.Identity, Commands: commands, + Messages: workerToServerMessages, StickyAttributes: &taskqueuepb.StickyExecutionAttributes{ WorkerTaskQueue: p.StickyTaskQueue, ScheduleToStartTimeout: &p.StickyScheduleToStartTimeout, }, ReturnNewWorkflowTask: true, - ForceCreateNewWorkflowTask: true, + ForceCreateNewWorkflowTask: forceCreateNewWorkflowTask, }, ) diff --git a/tests/workflow_buffered_events_test.go b/tests/workflow_buffered_events_test.go index 8abe0cee566..827bed87eff 100644 --- a/tests/workflow_buffered_events_test.go +++ b/tests/workflow_buffered_events_test.go @@ -378,7 +378,7 @@ func (s *integrationSuite) TestBufferedEventsOutOfOrder() { // second workflow task, completes another local activity and forces flush of buffered activity events newWorkflowTask := task.GetWorkflowTask() s.NotNil(newWorkflowTask) - task, err = poller.HandlePartialWorkflowTask(newWorkflowTask) + task, err = poller.HandlePartialWorkflowTask(newWorkflowTask, true) s.Logger.Info("pollAndProcessWorkflowTask", tag.Error(err)) s.NoError(err) s.NotNil(task) @@ -386,7 +386,7 @@ func (s *integrationSuite) TestBufferedEventsOutOfOrder() { // third workflow task, which will close workflow newWorkflowTask = task.GetWorkflowTask() s.NotNil(newWorkflowTask) - task, err = poller.HandlePartialWorkflowTask(newWorkflowTask) + task, err = poller.HandlePartialWorkflowTask(newWorkflowTask, true) s.Logger.Info("pollAndProcessWorkflowTask", tag.Error(err)) s.NoError(err) s.Nil(task.WorkflowTask) diff --git a/tests/workflow_test.go b/tests/workflow_test.go index 92363dab57f..98efc9d71b3 100644 --- a/tests/workflow_test.go +++ b/tests/workflow_test.go @@ -582,7 +582,7 @@ func (s *integrationSuite) TestWorkflowTaskAndActivityTaskTimeoutsWorkflow() { }) s.NoError(err) history := historyResponse.History - common.PrettyPrintHistory(history) + common.PrettyPrint(history.Events) } s.True(err == nil || err == matching.ErrNoTasks, "%v", err) if !dropWorkflowTask {