Ctrl K
ComunidadGuías…

proto/worker_repo.pb.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.31.0
// 	protoc        v4.25.1
// source: worker_repo.proto

package proto

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GetNextContainerRequestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *GetNextContainerRequestRequest) Reset() {
	*x = GetNextContainerRequestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetNextContainerRequestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetNextContainerRequestRequest) ProtoMessage() {}

func (x *GetNextContainerRequestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetNextContainerRequestRequest.ProtoReflect.Descriptor instead.
func (*GetNextContainerRequestRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{0}
}

func (x *GetNextContainerRequestRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type GetNextContainerRequestResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok                         bool              `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ContainerRequest           *ContainerRequest `protobuf:"bytes,2,opt,name=container_request,json=containerRequest,proto3" json:"container_request,omitempty"`
	ErrorMsg                   string            `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	DeliveryToken              string            `protobuf:"bytes,4,opt,name=delivery_token,json=deliveryToken,proto3" json:"delivery_token,omitempty"`
	CheckpointCompatibilityKey string            `protobuf:"bytes,5,opt,name=checkpoint_compatibility_key,json=checkpointCompatibilityKey,proto3" json:"checkpoint_compatibility_key,omitempty"`
}

func (x *GetNextContainerRequestResponse) Reset() {
	*x = GetNextContainerRequestResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetNextContainerRequestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetNextContainerRequestResponse) ProtoMessage() {}

func (x *GetNextContainerRequestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetNextContainerRequestResponse.ProtoReflect.Descriptor instead.
func (*GetNextContainerRequestResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{1}
}

func (x *GetNextContainerRequestResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetNextContainerRequestResponse) GetContainerRequest() *ContainerRequest {
	if x != nil {
		return x.ContainerRequest
	}
	return nil
}

func (x *GetNextContainerRequestResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *GetNextContainerRequestResponse) GetDeliveryToken() string {
	if x != nil {
		return x.DeliveryToken
	}
	return ""
}

func (x *GetNextContainerRequestResponse) GetCheckpointCompatibilityKey() string {
	if x != nil {
		return x.CheckpointCompatibilityKey
	}
	return ""
}

type StreamWorkerEventsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *StreamWorkerEventsRequest) Reset() {
	*x = StreamWorkerEventsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StreamWorkerEventsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamWorkerEventsRequest) ProtoMessage() {}

func (x *StreamWorkerEventsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamWorkerEventsRequest.ProtoReflect.Descriptor instead.
func (*StreamWorkerEventsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{2}
}

func (x *StreamWorkerEventsRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type WorkerEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	EventId string `protobuf:"bytes,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
	// Types that are assignable to Event:
	//
	//	*WorkerEvent_StopContainer
	//	*WorkerEvent_StopBuild
	Event isWorkerEvent_Event `protobuf_oneof:"event"`
}

func (x *WorkerEvent) Reset() {
	*x = WorkerEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WorkerEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerEvent) ProtoMessage() {}

func (x *WorkerEvent) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkerEvent.ProtoReflect.Descriptor instead.
func (*WorkerEvent) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{3}
}

func (x *WorkerEvent) GetEventId() string {
	if x != nil {
		return x.EventId
	}
	return ""
}

func (m *WorkerEvent) GetEvent() isWorkerEvent_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (x *WorkerEvent) GetStopContainer() *StopContainerEvent {
	if x, ok := x.GetEvent().(*WorkerEvent_StopContainer); ok {
		return x.StopContainer
	}
	return nil
}

func (x *WorkerEvent) GetStopBuild() *StopBuildEvent {
	if x, ok := x.GetEvent().(*WorkerEvent_StopBuild); ok {
		return x.StopBuild
	}
	return nil
}

type isWorkerEvent_Event interface {
	isWorkerEvent_Event()
}

type WorkerEvent_StopContainer struct {
	StopContainer *StopContainerEvent `protobuf:"bytes,2,opt,name=stop_container,json=stopContainer,proto3,oneof"`
}

type WorkerEvent_StopBuild struct {
	StopBuild *StopBuildEvent `protobuf:"bytes,3,opt,name=stop_build,json=stopBuild,proto3,oneof"`
}

func (*WorkerEvent_StopContainer) isWorkerEvent_Event() {}

func (*WorkerEvent_StopBuild) isWorkerEvent_Event() {}

type StopContainerEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	Force       bool   `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
	Reason      string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
}

func (x *StopContainerEvent) Reset() {
	*x = StopContainerEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StopContainerEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopContainerEvent) ProtoMessage() {}

func (x *StopContainerEvent) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopContainerEvent.ProtoReflect.Descriptor instead.
func (*StopContainerEvent) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{4}
}

func (x *StopContainerEvent) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *StopContainerEvent) GetForce() bool {
	if x != nil {
		return x.Force
	}
	return false
}

func (x *StopContainerEvent) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type StopBuildEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
}

func (x *StopBuildEvent) Reset() {
	*x = StopBuildEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StopBuildEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopBuildEvent) ProtoMessage() {}

func (x *StopBuildEvent) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopBuildEvent.ProtoReflect.Descriptor instead.
func (*StopBuildEvent) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{5}
}

func (x *StopBuildEvent) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

type SetImagePullLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	ImageId  string `protobuf:"bytes,2,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
}

func (x *SetImagePullLockRequest) Reset() {
	*x = SetImagePullLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetImagePullLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetImagePullLockRequest) ProtoMessage() {}

func (x *SetImagePullLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetImagePullLockRequest.ProtoReflect.Descriptor instead.
func (*SetImagePullLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{6}
}

func (x *SetImagePullLockRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *SetImagePullLockRequest) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

type SetImagePullLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Token    string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetImagePullLockResponse) Reset() {
	*x = SetImagePullLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetImagePullLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetImagePullLockResponse) ProtoMessage() {}

func (x *SetImagePullLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetImagePullLockResponse.ProtoReflect.Descriptor instead.
func (*SetImagePullLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{7}
}

func (x *SetImagePullLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetImagePullLockResponse) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *SetImagePullLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveImagePullLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	ImageId  string `protobuf:"bytes,2,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
	Token    string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
}

func (x *RemoveImagePullLockRequest) Reset() {
	*x = RemoveImagePullLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveImagePullLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveImagePullLockRequest) ProtoMessage() {}

func (x *RemoveImagePullLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveImagePullLockRequest.ProtoReflect.Descriptor instead.
func (*RemoveImagePullLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{8}
}

func (x *RemoveImagePullLockRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *RemoveImagePullLockRequest) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *RemoveImagePullLockRequest) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

type RemoveImagePullLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveImagePullLockResponse) Reset() {
	*x = RemoveImagePullLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveImagePullLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveImagePullLockResponse) ProtoMessage() {}

func (x *RemoveImagePullLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveImagePullLockResponse.ProtoReflect.Descriptor instead.
func (*RemoveImagePullLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{9}
}

func (x *RemoveImagePullLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveImagePullLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type AddContainerToWorkerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId      string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	ContainerId   string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	PoolName      string `protobuf:"bytes,3,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	PodHostname   string `protobuf:"bytes,4,opt,name=pod_hostname,json=podHostname,proto3" json:"pod_hostname,omitempty"`
	DeliveryToken string `protobuf:"bytes,5,opt,name=delivery_token,json=deliveryToken,proto3" json:"delivery_token,omitempty"`
}

func (x *AddContainerToWorkerRequest) Reset() {
	*x = AddContainerToWorkerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddContainerToWorkerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddContainerToWorkerRequest) ProtoMessage() {}

func (x *AddContainerToWorkerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddContainerToWorkerRequest.ProtoReflect.Descriptor instead.
func (*AddContainerToWorkerRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{10}
}

func (x *AddContainerToWorkerRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *AddContainerToWorkerRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *AddContainerToWorkerRequest) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *AddContainerToWorkerRequest) GetPodHostname() string {
	if x != nil {
		return x.PodHostname
	}
	return ""
}

func (x *AddContainerToWorkerRequest) GetDeliveryToken() string {
	if x != nil {
		return x.DeliveryToken
	}
	return ""
}

type AddContainerToWorkerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *AddContainerToWorkerResponse) Reset() {
	*x = AddContainerToWorkerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddContainerToWorkerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddContainerToWorkerResponse) ProtoMessage() {}

func (x *AddContainerToWorkerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddContainerToWorkerResponse.ProtoReflect.Descriptor instead.
func (*AddContainerToWorkerResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{11}
}

func (x *AddContainerToWorkerResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *AddContainerToWorkerResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

// ClaimContainer acknowledges a delivered container request, refreshes the
// container's pending lease, and vends its runtime credentials in one round
// trip. It replaces the AddContainerToWorker -> GetContainerState ->
// UpdateContainerStatus -> GetContainerRuntimeCredentials sequence.
type ClaimContainerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId      string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	ContainerId   string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	PoolName      string `protobuf:"bytes,3,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	PodHostname   string `protobuf:"bytes,4,opt,name=pod_hostname,json=podHostname,proto3" json:"pod_hostname,omitempty"`
	DeliveryToken string `protobuf:"bytes,5,opt,name=delivery_token,json=deliveryToken,proto3" json:"delivery_token,omitempty"`
	// Optional. When set, credentials are vended after the claim succeeds.
	Credentials *GetContainerRuntimeCredentialsRequest `protobuf:"bytes,6,opt,name=credentials,proto3" json:"credentials,omitempty"`
	// Optional startup resources. They are published only after delivery is
	// accepted; older gateways ignore them and the worker publishes them itself.
	WorkerAddress *SetWorkerAddressRequest `protobuf:"bytes,7,opt,name=worker_address,json=workerAddress,proto3" json:"worker_address,omitempty"`
	Network       *MoveContainerIpRequest  `protobuf:"bytes,8,opt,name=network,proto3" json:"network,omitempty"`
}

func (x *ClaimContainerRequest) Reset() {
	*x = ClaimContainerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ClaimContainerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ClaimContainerRequest) ProtoMessage() {}

func (x *ClaimContainerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimContainerRequest.ProtoReflect.Descriptor instead.
func (*ClaimContainerRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{12}
}

func (x *ClaimContainerRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *ClaimContainerRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *ClaimContainerRequest) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *ClaimContainerRequest) GetPodHostname() string {
	if x != nil {
		return x.PodHostname
	}
	return ""
}

func (x *ClaimContainerRequest) GetDeliveryToken() string {
	if x != nil {
		return x.DeliveryToken
	}
	return ""
}

func (x *ClaimContainerRequest) GetCredentials() *GetContainerRuntimeCredentialsRequest {
	if x != nil {
		return x.Credentials
	}
	return nil
}

func (x *ClaimContainerRequest) GetWorkerAddress() *SetWorkerAddressRequest {
	if x != nil {
		return x.WorkerAddress
	}
	return nil
}

func (x *ClaimContainerRequest) GetNetwork() *MoveContainerIpRequest {
	if x != nil {
		return x.Network
	}
	return nil
}

type ClaimContainerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	// claimed is true once the delivery was acknowledged, even when a later step
	// failed. A worker that claimed a container owns its failure reporting; one
	// that did not must only release its reserved capacity.
	Claimed         bool                                    `protobuf:"varint,3,opt,name=claimed,proto3" json:"claimed,omitempty"`
	State           *ContainerState                         `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
	Credentials     *GetContainerRuntimeCredentialsResponse `protobuf:"bytes,5,opt,name=credentials,proto3" json:"credentials,omitempty"`
	StartupPrepared bool                                    `protobuf:"varint,6,opt,name=startup_prepared,json=startupPrepared,proto3" json:"startup_prepared,omitempty"`
}

func (x *ClaimContainerResponse) Reset() {
	*x = ClaimContainerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ClaimContainerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ClaimContainerResponse) ProtoMessage() {}

func (x *ClaimContainerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimContainerResponse.ProtoReflect.Descriptor instead.
func (*ClaimContainerResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{13}
}

func (x *ClaimContainerResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *ClaimContainerResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *ClaimContainerResponse) GetClaimed() bool {
	if x != nil {
		return x.Claimed
	}
	return false
}

func (x *ClaimContainerResponse) GetState() *ContainerState {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *ClaimContainerResponse) GetCredentials() *GetContainerRuntimeCredentialsResponse {
	if x != nil {
		return x.Credentials
	}
	return nil
}

func (x *ClaimContainerResponse) GetStartupPrepared() bool {
	if x != nil {
		return x.StartupPrepared
	}
	return false
}

type RemoveContainerFromWorkerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId    string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	ContainerId string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	PoolName    string `protobuf:"bytes,3,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	PodHostname string `protobuf:"bytes,4,opt,name=pod_hostname,json=podHostname,proto3" json:"pod_hostname,omitempty"`
}

func (x *RemoveContainerFromWorkerRequest) Reset() {
	*x = RemoveContainerFromWorkerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveContainerFromWorkerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveContainerFromWorkerRequest) ProtoMessage() {}

func (x *RemoveContainerFromWorkerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveContainerFromWorkerRequest.ProtoReflect.Descriptor instead.
func (*RemoveContainerFromWorkerRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{14}
}

func (x *RemoveContainerFromWorkerRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *RemoveContainerFromWorkerRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *RemoveContainerFromWorkerRequest) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *RemoveContainerFromWorkerRequest) GetPodHostname() string {
	if x != nil {
		return x.PodHostname
	}
	return ""
}

type RemoveContainerFromWorkerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveContainerFromWorkerResponse) Reset() {
	*x = RemoveContainerFromWorkerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveContainerFromWorkerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveContainerFromWorkerResponse) ProtoMessage() {}

func (x *RemoveContainerFromWorkerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveContainerFromWorkerResponse.ProtoReflect.Descriptor instead.
func (*RemoveContainerFromWorkerResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{15}
}

func (x *RemoveContainerFromWorkerResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveContainerFromWorkerResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetWorkerByIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *GetWorkerByIdRequest) Reset() {
	*x = GetWorkerByIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerByIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerByIdRequest) ProtoMessage() {}

func (x *GetWorkerByIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerByIdRequest.ProtoReflect.Descriptor instead.
func (*GetWorkerByIdRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{16}
}

func (x *GetWorkerByIdRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type GetWorkerByIdResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool    `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Worker   *Worker `protobuf:"bytes,2,opt,name=worker,proto3" json:"worker,omitempty"`
	ErrorMsg string  `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetWorkerByIdResponse) Reset() {
	*x = GetWorkerByIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerByIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerByIdResponse) ProtoMessage() {}

func (x *GetWorkerByIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerByIdResponse.ProtoReflect.Descriptor instead.
func (*GetWorkerByIdResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{17}
}

func (x *GetWorkerByIdResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetWorkerByIdResponse) GetWorker() *Worker {
	if x != nil {
		return x.Worker
	}
	return nil
}

func (x *GetWorkerByIdResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type ToggleWorkerAvailableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId   string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	Generation string `protobuf:"bytes,2,opt,name=generation,proto3" json:"generation,omitempty"`
}

func (x *ToggleWorkerAvailableRequest) Reset() {
	*x = ToggleWorkerAvailableRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ToggleWorkerAvailableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ToggleWorkerAvailableRequest) ProtoMessage() {}

func (x *ToggleWorkerAvailableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ToggleWorkerAvailableRequest.ProtoReflect.Descriptor instead.
func (*ToggleWorkerAvailableRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{18}
}

func (x *ToggleWorkerAvailableRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *ToggleWorkerAvailableRequest) GetGeneration() string {
	if x != nil {
		return x.Generation
	}
	return ""
}

type ToggleWorkerAvailableResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *ToggleWorkerAvailableResponse) Reset() {
	*x = ToggleWorkerAvailableResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ToggleWorkerAvailableResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ToggleWorkerAvailableResponse) ProtoMessage() {}

func (x *ToggleWorkerAvailableResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ToggleWorkerAvailableResponse.ProtoReflect.Descriptor instead.
func (*ToggleWorkerAvailableResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{19}
}

func (x *ToggleWorkerAvailableResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *ToggleWorkerAvailableResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type DisableWorkerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	Cordon   bool   `protobuf:"varint,2,opt,name=cordon,proto3" json:"cordon,omitempty"`
}

func (x *DisableWorkerRequest) Reset() {
	*x = DisableWorkerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DisableWorkerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableWorkerRequest) ProtoMessage() {}

func (x *DisableWorkerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableWorkerRequest.ProtoReflect.Descriptor instead.
func (*DisableWorkerRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{20}
}

func (x *DisableWorkerRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *DisableWorkerRequest) GetCordon() bool {
	if x != nil {
		return x.Cordon
	}
	return false
}

type DisableWorkerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *DisableWorkerResponse) Reset() {
	*x = DisableWorkerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DisableWorkerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableWorkerResponse) ProtoMessage() {}

func (x *DisableWorkerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableWorkerResponse.ProtoReflect.Descriptor instead.
func (*DisableWorkerResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{21}
}

func (x *DisableWorkerResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *DisableWorkerResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveWorkerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *RemoveWorkerRequest) Reset() {
	*x = RemoveWorkerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveWorkerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveWorkerRequest) ProtoMessage() {}

func (x *RemoveWorkerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveWorkerRequest.ProtoReflect.Descriptor instead.
func (*RemoveWorkerRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{22}
}

func (x *RemoveWorkerRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type RemoveWorkerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveWorkerResponse) Reset() {
	*x = RemoveWorkerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveWorkerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveWorkerResponse) ProtoMessage() {}

func (x *RemoveWorkerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveWorkerResponse.ProtoReflect.Descriptor instead.
func (*RemoveWorkerResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{23}
}

func (x *RemoveWorkerResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveWorkerResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type UpdateWorkerCapacityRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId         string            `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	CapacityChange   int64             `protobuf:"varint,2,opt,name=capacity_change,json=capacityChange,proto3" json:"capacity_change,omitempty"`
	ContainerRequest *ContainerRequest `protobuf:"bytes,3,opt,name=container_request,json=containerRequest,proto3" json:"container_request,omitempty"`
}

func (x *UpdateWorkerCapacityRequest) Reset() {
	*x = UpdateWorkerCapacityRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateWorkerCapacityRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateWorkerCapacityRequest) ProtoMessage() {}

func (x *UpdateWorkerCapacityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateWorkerCapacityRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkerCapacityRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{24}
}

func (x *UpdateWorkerCapacityRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *UpdateWorkerCapacityRequest) GetCapacityChange() int64 {
	if x != nil {
		return x.CapacityChange
	}
	return 0
}

func (x *UpdateWorkerCapacityRequest) GetContainerRequest() *ContainerRequest {
	if x != nil {
		return x.ContainerRequest
	}
	return nil
}

type UpdateWorkerCapacityResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *UpdateWorkerCapacityResponse) Reset() {
	*x = UpdateWorkerCapacityResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateWorkerCapacityResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateWorkerCapacityResponse) ProtoMessage() {}

func (x *UpdateWorkerCapacityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateWorkerCapacityResponse.ProtoReflect.Descriptor instead.
func (*UpdateWorkerCapacityResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{25}
}

func (x *UpdateWorkerCapacityResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *UpdateWorkerCapacityResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type SetWorkerKeepAliveRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId  string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	MachineId string `protobuf:"bytes,2,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"`
	// idle is set when the worker runs no containers. Only an idle worker can
	// spin down, so only an idle worker needs pool_headroom answered; busy
	// workers' keepalives skip the pool scan.
	Idle                       bool   `protobuf:"varint,3,opt,name=idle,proto3" json:"idle,omitempty"`
	CheckpointCompatibilityKey string `protobuf:"bytes,4,opt,name=checkpoint_compatibility_key,json=checkpointCompatibilityKey,proto3" json:"checkpoint_compatibility_key,omitempty"`
	CpuTierProtocol            uint32 `protobuf:"varint,5,opt,name=cpu_tier_protocol,json=cpuTierProtocol,proto3" json:"cpu_tier_protocol,omitempty"`
}

func (x *SetWorkerKeepAliveRequest) Reset() {
	*x = SetWorkerKeepAliveRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetWorkerKeepAliveRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetWorkerKeepAliveRequest) ProtoMessage() {}

func (x *SetWorkerKeepAliveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetWorkerKeepAliveRequest.ProtoReflect.Descriptor instead.
func (*SetWorkerKeepAliveRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{26}
}

func (x *SetWorkerKeepAliveRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *SetWorkerKeepAliveRequest) GetMachineId() string {
	if x != nil {
		return x.MachineId
	}
	return ""
}

func (x *SetWorkerKeepAliveRequest) GetIdle() bool {
	if x != nil {
		return x.Idle
	}
	return false
}

func (x *SetWorkerKeepAliveRequest) GetCheckpointCompatibilityKey() string {
	if x != nil {
		return x.CheckpointCompatibilityKey
	}
	return ""
}

func (x *SetWorkerKeepAliveRequest) GetCpuTierProtocol() uint32 {
	if x != nil {
		return x.CpuTierProtocol
	}
	return 0
}

type SetWorkerKeepAliveResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	// pool_headroom is set when the pool's free capacity would fall below its
	// configured minimum without this worker. The worker keeps running through
	// its idle spindown timeout while this is set.
	PoolHeadroom bool `protobuf:"varint,3,opt,name=pool_headroom,json=poolHeadroom,proto3" json:"pool_headroom,omitempty"`
}

func (x *SetWorkerKeepAliveResponse) Reset() {
	*x = SetWorkerKeepAliveResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetWorkerKeepAliveResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetWorkerKeepAliveResponse) ProtoMessage() {}

func (x *SetWorkerKeepAliveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetWorkerKeepAliveResponse.ProtoReflect.Descriptor instead.
func (*SetWorkerKeepAliveResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{27}
}

func (x *SetWorkerKeepAliveResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetWorkerKeepAliveResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *SetWorkerKeepAliveResponse) GetPoolHeadroom() bool {
	if x != nil {
		return x.PoolHeadroom
	}
	return false
}

type CacheCoordinatorHost struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	LogicalHostId    string  `protobuf:"bytes,1,opt,name=logical_host_id,json=logicalHostId,proto3" json:"logical_host_id,omitempty"`
	RegistrationId   string  `protobuf:"bytes,2,opt,name=registration_id,json=registrationId,proto3" json:"registration_id,omitempty"`
	PoolName         string  `protobuf:"bytes,3,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	Locality         string  `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
	NodeId           string  `protobuf:"bytes,5,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	CachePathId      string  `protobuf:"bytes,6,opt,name=cache_path_id,json=cachePathId,proto3" json:"cache_path_id,omitempty"`
	Addr             string  `protobuf:"bytes,8,opt,name=addr,proto3" json:"addr,omitempty"`
	PrivateAddr      string  `protobuf:"bytes,9,opt,name=private_addr,json=privateAddr,proto3" json:"private_addr,omitempty"`
	CapacityUsagePct float32 `protobuf:"fixed32,10,opt,name=capacity_usage_pct,json=capacityUsagePct,proto3" json:"capacity_usage_pct,omitempty"`
}

func (x *CacheCoordinatorHost) Reset() {
	*x = CacheCoordinatorHost{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CacheCoordinatorHost) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheCoordinatorHost) ProtoMessage() {}

func (x *CacheCoordinatorHost) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheCoordinatorHost.ProtoReflect.Descriptor instead.
func (*CacheCoordinatorHost) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{28}
}

func (x *CacheCoordinatorHost) GetLogicalHostId() string {
	if x != nil {
		return x.LogicalHostId
	}
	return ""
}

func (x *CacheCoordinatorHost) GetRegistrationId() string {
	if x != nil {
		return x.RegistrationId
	}
	return ""
}

func (x *CacheCoordinatorHost) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *CacheCoordinatorHost) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *CacheCoordinatorHost) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *CacheCoordinatorHost) GetCachePathId() string {
	if x != nil {
		return x.CachePathId
	}
	return ""
}

func (x *CacheCoordinatorHost) GetAddr() string {
	if x != nil {
		return x.Addr
	}
	return ""
}

func (x *CacheCoordinatorHost) GetPrivateAddr() string {
	if x != nil {
		return x.PrivateAddr
	}
	return ""
}

func (x *CacheCoordinatorHost) GetCapacityUsagePct() float32 {
	if x != nil {
		return x.CapacityUsagePct
	}
	return 0
}

type RegisterCacheHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Host       *CacheCoordinatorHost `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	TtlSeconds int32                 `protobuf:"varint,2,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
}

func (x *RegisterCacheHostRequest) Reset() {
	*x = RegisterCacheHostRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RegisterCacheHostRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterCacheHostRequest) ProtoMessage() {}

func (x *RegisterCacheHostRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterCacheHostRequest.ProtoReflect.Descriptor instead.
func (*RegisterCacheHostRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{29}
}

func (x *RegisterCacheHostRequest) GetHost() *CacheCoordinatorHost {
	if x != nil {
		return x.Host
	}
	return nil
}

func (x *RegisterCacheHostRequest) GetTtlSeconds() int32 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

type RegisterCacheHostResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RegisterCacheHostResponse) Reset() {
	*x = RegisterCacheHostResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RegisterCacheHostResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterCacheHostResponse) ProtoMessage() {}

func (x *RegisterCacheHostResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterCacheHostResponse.ProtoReflect.Descriptor instead.
func (*RegisterCacheHostResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{30}
}

func (x *RegisterCacheHostResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RegisterCacheHostResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type UnregisterCacheHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	LogicalHostId  string `protobuf:"bytes,1,opt,name=logical_host_id,json=logicalHostId,proto3" json:"logical_host_id,omitempty"`
	RegistrationId string `protobuf:"bytes,2,opt,name=registration_id,json=registrationId,proto3" json:"registration_id,omitempty"`
	PoolName       string `protobuf:"bytes,3,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	Locality       string `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
}

func (x *UnregisterCacheHostRequest) Reset() {
	*x = UnregisterCacheHostRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UnregisterCacheHostRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnregisterCacheHostRequest) ProtoMessage() {}

func (x *UnregisterCacheHostRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnregisterCacheHostRequest.ProtoReflect.Descriptor instead.
func (*UnregisterCacheHostRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{31}
}

func (x *UnregisterCacheHostRequest) GetLogicalHostId() string {
	if x != nil {
		return x.LogicalHostId
	}
	return ""
}

func (x *UnregisterCacheHostRequest) GetRegistrationId() string {
	if x != nil {
		return x.RegistrationId
	}
	return ""
}

func (x *UnregisterCacheHostRequest) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *UnregisterCacheHostRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

type UnregisterCacheHostResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *UnregisterCacheHostResponse) Reset() {
	*x = UnregisterCacheHostResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UnregisterCacheHostResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnregisterCacheHostResponse) ProtoMessage() {}

func (x *UnregisterCacheHostResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnregisterCacheHostResponse.ProtoReflect.Descriptor instead.
func (*UnregisterCacheHostResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{32}
}

func (x *UnregisterCacheHostResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *UnregisterCacheHostResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type ListCacheHostsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PoolName string `protobuf:"bytes,1,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
	Locality string `protobuf:"bytes,2,opt,name=locality,proto3" json:"locality,omitempty"`
}

func (x *ListCacheHostsRequest) Reset() {
	*x = ListCacheHostsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListCacheHostsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListCacheHostsRequest) ProtoMessage() {}

func (x *ListCacheHostsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListCacheHostsRequest.ProtoReflect.Descriptor instead.
func (*ListCacheHostsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{33}
}

func (x *ListCacheHostsRequest) GetPoolName() string {
	if x != nil {
		return x.PoolName
	}
	return ""
}

func (x *ListCacheHostsRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

type ListCacheHostsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool                    `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Hosts    []*CacheCoordinatorHost `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"`
	ErrorMsg string                  `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *ListCacheHostsResponse) Reset() {
	*x = ListCacheHostsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListCacheHostsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListCacheHostsResponse) ProtoMessage() {}

func (x *ListCacheHostsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListCacheHostsResponse.ProtoReflect.Descriptor instead.
func (*ListCacheHostsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{34}
}

func (x *ListCacheHostsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *ListCacheHostsResponse) GetHosts() []*CacheCoordinatorHost {
	if x != nil {
		return x.Hosts
	}
	return nil
}

func (x *ListCacheHostsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type SetCacheClientLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Hash   string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
}

func (x *SetCacheClientLockRequest) Reset() {
	*x = SetCacheClientLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheClientLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheClientLockRequest) ProtoMessage() {}

func (x *SetCacheClientLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheClientLockRequest.ProtoReflect.Descriptor instead.
func (*SetCacheClientLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{35}
}

func (x *SetCacheClientLockRequest) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *SetCacheClientLockRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

type SetCacheClientLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetCacheClientLockResponse) Reset() {
	*x = SetCacheClientLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheClientLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheClientLockResponse) ProtoMessage() {}

func (x *SetCacheClientLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheClientLockResponse.ProtoReflect.Descriptor instead.
func (*SetCacheClientLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{36}
}

func (x *SetCacheClientLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetCacheClientLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveCacheClientLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Hash   string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
}

func (x *RemoveCacheClientLockRequest) Reset() {
	*x = RemoveCacheClientLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheClientLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheClientLockRequest) ProtoMessage() {}

func (x *RemoveCacheClientLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheClientLockRequest.ProtoReflect.Descriptor instead.
func (*RemoveCacheClientLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{37}
}

func (x *RemoveCacheClientLockRequest) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *RemoveCacheClientLockRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

type RemoveCacheClientLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveCacheClientLockResponse) Reset() {
	*x = RemoveCacheClientLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheClientLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheClientLockResponse) ProtoMessage() {}

func (x *RemoveCacheClientLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheClientLockResponse.ProtoReflect.Descriptor instead.
func (*RemoveCacheClientLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{38}
}

func (x *RemoveCacheClientLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveCacheClientLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type SetCacheStoreFromContentLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality   string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"`
}

func (x *SetCacheStoreFromContentLockRequest) Reset() {
	*x = SetCacheStoreFromContentLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheStoreFromContentLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheStoreFromContentLockRequest) ProtoMessage() {}

func (x *SetCacheStoreFromContentLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheStoreFromContentLockRequest.ProtoReflect.Descriptor instead.
func (*SetCacheStoreFromContentLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{39}
}

func (x *SetCacheStoreFromContentLockRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *SetCacheStoreFromContentLockRequest) GetSourcePath() string {
	if x != nil {
		return x.SourcePath
	}
	return ""
}

type SetCacheStoreFromContentLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetCacheStoreFromContentLockResponse) Reset() {
	*x = SetCacheStoreFromContentLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheStoreFromContentLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheStoreFromContentLockResponse) ProtoMessage() {}

func (x *SetCacheStoreFromContentLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheStoreFromContentLockResponse.ProtoReflect.Descriptor instead.
func (*SetCacheStoreFromContentLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{40}
}

func (x *SetCacheStoreFromContentLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetCacheStoreFromContentLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RecentCacheStub struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkspaceId  string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	StubId       string `protobuf:"bytes,2,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
	LastSeenUnix int64  `protobuf:"varint,3,opt,name=last_seen_unix,json=lastSeenUnix,proto3" json:"last_seen_unix,omitempty"`
}

func (x *RecentCacheStub) Reset() {
	*x = RecentCacheStub{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecentCacheStub) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecentCacheStub) ProtoMessage() {}

func (x *RecentCacheStub) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecentCacheStub.ProtoReflect.Descriptor instead.
func (*RecentCacheStub) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{41}
}

func (x *RecentCacheStub) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *RecentCacheStub) GetStubId() string {
	if x != nil {
		return x.StubId
	}
	return ""
}

func (x *RecentCacheStub) GetLastSeenUnix() int64 {
	if x != nil {
		return x.LastSeenUnix
	}
	return 0
}

type AddRecentCacheStubRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality    string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	StubId      string `protobuf:"bytes,3,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
	TtlSeconds  int64  `protobuf:"varint,4,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
}

func (x *AddRecentCacheStubRequest) Reset() {
	*x = AddRecentCacheStubRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddRecentCacheStubRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddRecentCacheStubRequest) ProtoMessage() {}

func (x *AddRecentCacheStubRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddRecentCacheStubRequest.ProtoReflect.Descriptor instead.
func (*AddRecentCacheStubRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{42}
}

func (x *AddRecentCacheStubRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *AddRecentCacheStubRequest) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *AddRecentCacheStubRequest) GetStubId() string {
	if x != nil {
		return x.StubId
	}
	return ""
}

func (x *AddRecentCacheStubRequest) GetTtlSeconds() int64 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

type AddRecentCacheStubResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *AddRecentCacheStubResponse) Reset() {
	*x = AddRecentCacheStubResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddRecentCacheStubResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddRecentCacheStubResponse) ProtoMessage() {}

func (x *AddRecentCacheStubResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddRecentCacheStubResponse.ProtoReflect.Descriptor instead.
func (*AddRecentCacheStubResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{43}
}

func (x *AddRecentCacheStubResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *AddRecentCacheStubResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type ListRecentCacheStubsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality   string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	TtlSeconds int64  `protobuf:"varint,2,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
	Limit      int32  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}

func (x *ListRecentCacheStubsRequest) Reset() {
	*x = ListRecentCacheStubsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRecentCacheStubsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRecentCacheStubsRequest) ProtoMessage() {}

func (x *ListRecentCacheStubsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRecentCacheStubsRequest.ProtoReflect.Descriptor instead.
func (*ListRecentCacheStubsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{44}
}

func (x *ListRecentCacheStubsRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *ListRecentCacheStubsRequest) GetTtlSeconds() int64 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

func (x *ListRecentCacheStubsRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

type ListRecentCacheStubsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool               `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string             `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	Stubs    []*RecentCacheStub `protobuf:"bytes,3,rep,name=stubs,proto3" json:"stubs,omitempty"`
}

func (x *ListRecentCacheStubsResponse) Reset() {
	*x = ListRecentCacheStubsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRecentCacheStubsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRecentCacheStubsResponse) ProtoMessage() {}

func (x *ListRecentCacheStubsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[45]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRecentCacheStubsResponse.ProtoReflect.Descriptor instead.
func (*ListRecentCacheStubsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{45}
}

func (x *ListRecentCacheStubsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *ListRecentCacheStubsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *ListRecentCacheStubsResponse) GetStubs() []*RecentCacheStub {
	if x != nil {
		return x.Stubs
	}
	return nil
}

type MarkCacheStubReportedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality   string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	StubId     string `protobuf:"bytes,2,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
	TtlSeconds int64  `protobuf:"varint,3,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
}

func (x *MarkCacheStubReportedRequest) Reset() {
	*x = MarkCacheStubReportedRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarkCacheStubReportedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarkCacheStubReportedRequest) ProtoMessage() {}

func (x *MarkCacheStubReportedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[46]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkCacheStubReportedRequest.ProtoReflect.Descriptor instead.
func (*MarkCacheStubReportedRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{46}
}

func (x *MarkCacheStubReportedRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *MarkCacheStubReportedRequest) GetStubId() string {
	if x != nil {
		return x.StubId
	}
	return ""
}

func (x *MarkCacheStubReportedRequest) GetTtlSeconds() int64 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

type MarkCacheStubReportedResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	Claimed  bool   `protobuf:"varint,3,opt,name=claimed,proto3" json:"claimed,omitempty"`
}

func (x *MarkCacheStubReportedResponse) Reset() {
	*x = MarkCacheStubReportedResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarkCacheStubReportedResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarkCacheStubReportedResponse) ProtoMessage() {}

func (x *MarkCacheStubReportedResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[47]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkCacheStubReportedResponse.ProtoReflect.Descriptor instead.
func (*MarkCacheStubReportedResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{47}
}

func (x *MarkCacheStubReportedResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *MarkCacheStubReportedResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *MarkCacheStubReportedResponse) GetClaimed() bool {
	if x != nil {
		return x.Claimed
	}
	return false
}

type AcquireCacheReconcileLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality    string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	LogicalHost string `protobuf:"bytes,2,opt,name=logical_host,json=logicalHost,proto3" json:"logical_host,omitempty"`
	Hash        string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
	TtlSeconds  int64  `protobuf:"varint,4,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
}

func (x *AcquireCacheReconcileLockRequest) Reset() {
	*x = AcquireCacheReconcileLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AcquireCacheReconcileLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcquireCacheReconcileLockRequest) ProtoMessage() {}

func (x *AcquireCacheReconcileLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[48]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcquireCacheReconcileLockRequest.ProtoReflect.Descriptor instead.
func (*AcquireCacheReconcileLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{48}
}

func (x *AcquireCacheReconcileLockRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *AcquireCacheReconcileLockRequest) GetLogicalHost() string {
	if x != nil {
		return x.LogicalHost
	}
	return ""
}

func (x *AcquireCacheReconcileLockRequest) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *AcquireCacheReconcileLockRequest) GetTtlSeconds() int64 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

type AcquireCacheReconcileLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	Acquired bool   `protobuf:"varint,3,opt,name=acquired,proto3" json:"acquired,omitempty"`
}

func (x *AcquireCacheReconcileLockResponse) Reset() {
	*x = AcquireCacheReconcileLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AcquireCacheReconcileLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcquireCacheReconcileLockResponse) ProtoMessage() {}

func (x *AcquireCacheReconcileLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[49]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcquireCacheReconcileLockResponse.ProtoReflect.Descriptor instead.
func (*AcquireCacheReconcileLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{49}
}

func (x *AcquireCacheReconcileLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *AcquireCacheReconcileLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *AcquireCacheReconcileLockResponse) GetAcquired() bool {
	if x != nil {
		return x.Acquired
	}
	return false
}

type ReleaseCacheReconcileLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality    string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	LogicalHost string `protobuf:"bytes,2,opt,name=logical_host,json=logicalHost,proto3" json:"logical_host,omitempty"`
	Hash        string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (x *ReleaseCacheReconcileLockRequest) Reset() {
	*x = ReleaseCacheReconcileLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReleaseCacheReconcileLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseCacheReconcileLockRequest) ProtoMessage() {}

func (x *ReleaseCacheReconcileLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[50]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseCacheReconcileLockRequest.ProtoReflect.Descriptor instead.
func (*ReleaseCacheReconcileLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{50}
}

func (x *ReleaseCacheReconcileLockRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *ReleaseCacheReconcileLockRequest) GetLogicalHost() string {
	if x != nil {
		return x.LogicalHost
	}
	return ""
}

func (x *ReleaseCacheReconcileLockRequest) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

type ReleaseCacheReconcileLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *ReleaseCacheReconcileLockResponse) Reset() {
	*x = ReleaseCacheReconcileLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReleaseCacheReconcileLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseCacheReconcileLockResponse) ProtoMessage() {}

func (x *ReleaseCacheReconcileLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[51]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseCacheReconcileLockResponse.ProtoReflect.Descriptor instead.
func (*ReleaseCacheReconcileLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{51}
}

func (x *ReleaseCacheReconcileLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *ReleaseCacheReconcileLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type CacheWorkspaceStorageCredentials struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	EndpointUrl    string `protobuf:"bytes,1,opt,name=endpoint_url,json=endpointUrl,proto3" json:"endpoint_url,omitempty"`
	Region         string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	BucketName     string `protobuf:"bytes,3,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
	AccessKey      string `protobuf:"bytes,4,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	SecretKey      string `protobuf:"bytes,5,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	ForcePathStyle bool   `protobuf:"varint,6,opt,name=force_path_style,json=forcePathStyle,proto3" json:"force_path_style,omitempty"`
}

func (x *CacheWorkspaceStorageCredentials) Reset() {
	*x = CacheWorkspaceStorageCredentials{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CacheWorkspaceStorageCredentials) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheWorkspaceStorageCredentials) ProtoMessage() {}

func (x *CacheWorkspaceStorageCredentials) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[52]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheWorkspaceStorageCredentials.ProtoReflect.Descriptor instead.
func (*CacheWorkspaceStorageCredentials) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{52}
}

func (x *CacheWorkspaceStorageCredentials) GetEndpointUrl() string {
	if x != nil {
		return x.EndpointUrl
	}
	return ""
}

func (x *CacheWorkspaceStorageCredentials) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CacheWorkspaceStorageCredentials) GetBucketName() string {
	if x != nil {
		return x.BucketName
	}
	return ""
}

func (x *CacheWorkspaceStorageCredentials) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

func (x *CacheWorkspaceStorageCredentials) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *CacheWorkspaceStorageCredentials) GetForcePathStyle() bool {
	if x != nil {
		return x.ForcePathStyle
	}
	return false
}

type GetCacheOriginCredentialsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	StubId      string `protobuf:"bytes,2,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
	Registry    string `protobuf:"bytes,3,opt,name=registry,proto3" json:"registry,omitempty"`
	ImageId     string `protobuf:"bytes,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
	// Publish a filesystem export under this stub's generated image ID.
	ImageArchiveUploadId   string `protobuf:"bytes,5,opt,name=image_archive_upload_id,json=imageArchiveUploadId,proto3" json:"image_archive_upload_id,omitempty"`
	ImageArchiveUploadData bool   `protobuf:"varint,6,opt,name=image_archive_upload_data,json=imageArchiveUploadData,proto3" json:"image_archive_upload_data,omitempty"`
}

func (x *GetCacheOriginCredentialsRequest) Reset() {
	*x = GetCacheOriginCredentialsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheOriginCredentialsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheOriginCredentialsRequest) ProtoMessage() {}

func (x *GetCacheOriginCredentialsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[53]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheOriginCredentialsRequest.ProtoReflect.Descriptor instead.
func (*GetCacheOriginCredentialsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{53}
}

func (x *GetCacheOriginCredentialsRequest) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *GetCacheOriginCredentialsRequest) GetStubId() string {
	if x != nil {
		return x.StubId
	}
	return ""
}

func (x *GetCacheOriginCredentialsRequest) GetRegistry() string {
	if x != nil {
		return x.Registry
	}
	return ""
}

func (x *GetCacheOriginCredentialsRequest) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *GetCacheOriginCredentialsRequest) GetImageArchiveUploadId() string {
	if x != nil {
		return x.ImageArchiveUploadId
	}
	return ""
}

func (x *GetCacheOriginCredentialsRequest) GetImageArchiveUploadData() bool {
	if x != nil {
		return x.ImageArchiveUploadData
	}
	return false
}

type GetCacheOriginCredentialsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	// Opaque registry credentials blob (same format as runtime image credentials).
	// Short-lived and used in-memory by the worker only; never persisted.
	RegistryCredentials   string                            `protobuf:"bytes,3,opt,name=registry_credentials,json=registryCredentials,proto3" json:"registry_credentials,omitempty"`
	WorkspaceStorage      *CacheWorkspaceStorageCredentials `protobuf:"bytes,4,opt,name=workspace_storage,json=workspaceStorage,proto3" json:"workspace_storage,omitempty"`
	ImageArchiveStorage   *CacheWorkspaceStorageCredentials `protobuf:"bytes,5,opt,name=image_archive_storage,json=imageArchiveStorage,proto3" json:"image_archive_storage,omitempty"`
	ImageArchiveObjectKey string                            `protobuf:"bytes,6,opt,name=image_archive_object_key,json=imageArchiveObjectKey,proto3" json:"image_archive_object_key,omitempty"`
	ImageArchiveUrl       string                            `protobuf:"bytes,7,opt,name=image_archive_url,json=imageArchiveUrl,proto3" json:"image_archive_url,omitempty"`
	// Presigned URL for the CLIP v1 data archive ("<image_id>.clip"), used by
	// private-pool workers that have no S3 credentials to lazily restore or
	// reconcile v1 archive data.
	ImageArchiveDataUrl   string `protobuf:"bytes,8,opt,name=image_archive_data_url,json=imageArchiveDataUrl,proto3" json:"image_archive_data_url,omitempty"`
	ImageArchiveUploadUrl string `protobuf:"bytes,9,opt,name=image_archive_upload_url,json=imageArchiveUploadUrl,proto3" json:"image_archive_upload_url,omitempty"`
	// Publishing settings also refresh agents with an older saved bootstrap.
	BuildRegistry         string `protobuf:"bytes,10,opt,name=build_registry,json=buildRegistry,proto3" json:"build_registry,omitempty"`
	BuildRepositoryName   string `protobuf:"bytes,11,opt,name=build_repository_name,json=buildRepositoryName,proto3" json:"build_repository_name,omitempty"`
	BuildRegistryInsecure bool   `protobuf:"varint,12,opt,name=build_registry_insecure,json=buildRegistryInsecure,proto3" json:"build_registry_insecure,omitempty"`
}

func (x *GetCacheOriginCredentialsResponse) Reset() {
	*x = GetCacheOriginCredentialsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheOriginCredentialsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheOriginCredentialsResponse) ProtoMessage() {}

func (x *GetCacheOriginCredentialsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[54]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheOriginCredentialsResponse.ProtoReflect.Descriptor instead.
func (*GetCacheOriginCredentialsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{54}
}

func (x *GetCacheOriginCredentialsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetCacheOriginCredentialsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetRegistryCredentials() string {
	if x != nil {
		return x.RegistryCredentials
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetWorkspaceStorage() *CacheWorkspaceStorageCredentials {
	if x != nil {
		return x.WorkspaceStorage
	}
	return nil
}

func (x *GetCacheOriginCredentialsResponse) GetImageArchiveStorage() *CacheWorkspaceStorageCredentials {
	if x != nil {
		return x.ImageArchiveStorage
	}
	return nil
}

func (x *GetCacheOriginCredentialsResponse) GetImageArchiveObjectKey() string {
	if x != nil {
		return x.ImageArchiveObjectKey
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetImageArchiveUrl() string {
	if x != nil {
		return x.ImageArchiveUrl
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetImageArchiveDataUrl() string {
	if x != nil {
		return x.ImageArchiveDataUrl
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetImageArchiveUploadUrl() string {
	if x != nil {
		return x.ImageArchiveUploadUrl
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetBuildRegistry() string {
	if x != nil {
		return x.BuildRegistry
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetBuildRepositoryName() string {
	if x != nil {
		return x.BuildRepositoryName
	}
	return ""
}

func (x *GetCacheOriginCredentialsResponse) GetBuildRegistryInsecure() bool {
	if x != nil {
		return x.BuildRegistryInsecure
	}
	return false
}

type RuntimeMountCredentialRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MountPath  string `protobuf:"bytes,1,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
}

func (x *RuntimeMountCredentialRequest) Reset() {
	*x = RuntimeMountCredentialRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RuntimeMountCredentialRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RuntimeMountCredentialRequest) ProtoMessage() {}

func (x *RuntimeMountCredentialRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[55]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeMountCredentialRequest.ProtoReflect.Descriptor instead.
func (*RuntimeMountCredentialRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{55}
}

func (x *RuntimeMountCredentialRequest) GetMountPath() string {
	if x != nil {
		return x.MountPath
	}
	return ""
}

func (x *RuntimeMountCredentialRequest) GetBucketName() string {
	if x != nil {
		return x.BucketName
	}
	return ""
}

type RuntimeMountCredentials struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MountPath string            `protobuf:"bytes,1,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	Config    *MountPointConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
}

func (x *RuntimeMountCredentials) Reset() {
	*x = RuntimeMountCredentials{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RuntimeMountCredentials) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RuntimeMountCredentials) ProtoMessage() {}

func (x *RuntimeMountCredentials) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[56]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeMountCredentials.ProtoReflect.Descriptor instead.
func (*RuntimeMountCredentials) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{56}
}

func (x *RuntimeMountCredentials) GetMountPath() string {
	if x != nil {
		return x.MountPath
	}
	return ""
}

func (x *RuntimeMountCredentials) GetConfig() *MountPointConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

type GetContainerRuntimeCredentialsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkspaceId      string                           `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	StubId           string                           `protobuf:"bytes,2,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
	ContainerId      string                           `protobuf:"bytes,3,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	SecretNames      []string                         `protobuf:"bytes,4,rep,name=secret_names,json=secretNames,proto3" json:"secret_names,omitempty"`
	RuntimeToken     bool                             `protobuf:"varint,5,opt,name=runtime_token,json=runtimeToken,proto3" json:"runtime_token,omitempty"`
	WorkspaceStorage bool                             `protobuf:"varint,6,opt,name=workspace_storage,json=workspaceStorage,proto3" json:"workspace_storage,omitempty"`
	MountCredentials []*RuntimeMountCredentialRequest `protobuf:"bytes,7,rep,name=mount_credentials,json=mountCredentials,proto3" json:"mount_credentials,omitempty"`
	BindingNames     []string                         `protobuf:"bytes,8,rep,name=binding_names,json=bindingNames,proto3" json:"binding_names,omitempty"`
}

func (x *GetContainerRuntimeCredentialsRequest) Reset() {
	*x = GetContainerRuntimeCredentialsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerRuntimeCredentialsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerRuntimeCredentialsRequest) ProtoMessage() {}

func (x *GetContainerRuntimeCredentialsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[57]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerRuntimeCredentialsRequest.ProtoReflect.Descriptor instead.
func (*GetContainerRuntimeCredentialsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{57}
}

func (x *GetContainerRuntimeCredentialsRequest) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *GetContainerRuntimeCredentialsRequest) GetStubId() string {
	if x != nil {
		return x.StubId
	}
	return ""
}

func (x *GetContainerRuntimeCredentialsRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *GetContainerRuntimeCredentialsRequest) GetSecretNames() []string {
	if x != nil {
		return x.SecretNames
	}
	return nil
}

func (x *GetContainerRuntimeCredentialsRequest) GetRuntimeToken() bool {
	if x != nil {
		return x.RuntimeToken
	}
	return false
}

func (x *GetContainerRuntimeCredentialsRequest) GetWorkspaceStorage() bool {
	if x != nil {
		return x.WorkspaceStorage
	}
	return false
}

func (x *GetContainerRuntimeCredentialsRequest) GetMountCredentials() []*RuntimeMountCredentialRequest {
	if x != nil {
		return x.MountCredentials
	}
	return nil
}

func (x *GetContainerRuntimeCredentialsRequest) GetBindingNames() []string {
	if x != nil {
		return x.BindingNames
	}
	return nil
}

type GetContainerRuntimeCredentialsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok               bool                              `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg         string                            `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	Env              []string                          `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty"`
	WorkspaceStorage *CacheWorkspaceStorageCredentials `protobuf:"bytes,4,opt,name=workspace_storage,json=workspaceStorage,proto3" json:"workspace_storage,omitempty"`
	MountCredentials []*RuntimeMountCredentials        `protobuf:"bytes,5,rep,name=mount_credentials,json=mountCredentials,proto3" json:"mount_credentials,omitempty"`
	SecretBindings   []*SecretBinding                  `protobuf:"bytes,6,rep,name=secret_bindings,json=secretBindings,proto3" json:"secret_bindings,omitempty"`
}

func (x *GetContainerRuntimeCredentialsResponse) Reset() {
	*x = GetContainerRuntimeCredentialsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerRuntimeCredentialsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerRuntimeCredentialsResponse) ProtoMessage() {}

func (x *GetContainerRuntimeCredentialsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[58]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerRuntimeCredentialsResponse.ProtoReflect.Descriptor instead.
func (*GetContainerRuntimeCredentialsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{58}
}

func (x *GetContainerRuntimeCredentialsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetContainerRuntimeCredentialsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *GetContainerRuntimeCredentialsResponse) GetEnv() []string {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *GetContainerRuntimeCredentialsResponse) GetWorkspaceStorage() *CacheWorkspaceStorageCredentials {
	if x != nil {
		return x.WorkspaceStorage
	}
	return nil
}

func (x *GetContainerRuntimeCredentialsResponse) GetMountCredentials() []*RuntimeMountCredentials {
	if x != nil {
		return x.MountCredentials
	}
	return nil
}

func (x *GetContainerRuntimeCredentialsResponse) GetSecretBindings() []*SecretBinding {
	if x != nil {
		return x.SecretBindings
	}
	return nil
}

type PruneStaleCacheCheckpointsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality      string   `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	ActiveStubIds []string `protobuf:"bytes,2,rep,name=active_stub_ids,json=activeStubIds,proto3" json:"active_stub_ids,omitempty"`
}

func (x *PruneStaleCacheCheckpointsRequest) Reset() {
	*x = PruneStaleCacheCheckpointsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PruneStaleCacheCheckpointsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PruneStaleCacheCheckpointsRequest) ProtoMessage() {}

func (x *PruneStaleCacheCheckpointsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[59]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PruneStaleCacheCheckpointsRequest.ProtoReflect.Descriptor instead.
func (*PruneStaleCacheCheckpointsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{59}
}

func (x *PruneStaleCacheCheckpointsRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *PruneStaleCacheCheckpointsRequest) GetActiveStubIds() []string {
	if x != nil {
		return x.ActiveStubIds
	}
	return nil
}

type PruneStaleCacheCheckpointsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	Pruned   int32  `protobuf:"varint,3,opt,name=pruned,proto3" json:"pruned,omitempty"`
}

func (x *PruneStaleCacheCheckpointsResponse) Reset() {
	*x = PruneStaleCacheCheckpointsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PruneStaleCacheCheckpointsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PruneStaleCacheCheckpointsResponse) ProtoMessage() {}

func (x *PruneStaleCacheCheckpointsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[60]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PruneStaleCacheCheckpointsResponse.ProtoReflect.Descriptor instead.
func (*PruneStaleCacheCheckpointsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{60}
}

func (x *PruneStaleCacheCheckpointsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *PruneStaleCacheCheckpointsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *PruneStaleCacheCheckpointsResponse) GetPruned() int32 {
	if x != nil {
		return x.Pruned
	}
	return 0
}

type RemoveCacheStoreFromContentLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality   string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"`
}

func (x *RemoveCacheStoreFromContentLockRequest) Reset() {
	*x = RemoveCacheStoreFromContentLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheStoreFromContentLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheStoreFromContentLockRequest) ProtoMessage() {}

func (x *RemoveCacheStoreFromContentLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[61]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheStoreFromContentLockRequest.ProtoReflect.Descriptor instead.
func (*RemoveCacheStoreFromContentLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{61}
}

func (x *RemoveCacheStoreFromContentLockRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *RemoveCacheStoreFromContentLockRequest) GetSourcePath() string {
	if x != nil {
		return x.SourcePath
	}
	return ""
}

type RemoveCacheStoreFromContentLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveCacheStoreFromContentLockResponse) Reset() {
	*x = RemoveCacheStoreFromContentLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheStoreFromContentLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheStoreFromContentLockResponse) ProtoMessage() {}

func (x *RemoveCacheStoreFromContentLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[62]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheStoreFromContentLockResponse.ProtoReflect.Descriptor instead.
func (*RemoveCacheStoreFromContentLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{62}
}

func (x *RemoveCacheStoreFromContentLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveCacheStoreFromContentLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RefreshCacheStoreFromContentLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Locality   string `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"`
}

func (x *RefreshCacheStoreFromContentLockRequest) Reset() {
	*x = RefreshCacheStoreFromContentLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefreshCacheStoreFromContentLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefreshCacheStoreFromContentLockRequest) ProtoMessage() {}

func (x *RefreshCacheStoreFromContentLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[63]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefreshCacheStoreFromContentLockRequest.ProtoReflect.Descriptor instead.
func (*RefreshCacheStoreFromContentLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{63}
}

func (x *RefreshCacheStoreFromContentLockRequest) GetLocality() string {
	if x != nil {
		return x.Locality
	}
	return ""
}

func (x *RefreshCacheStoreFromContentLockRequest) GetSourcePath() string {
	if x != nil {
		return x.SourcePath
	}
	return ""
}

type RefreshCacheStoreFromContentLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RefreshCacheStoreFromContentLockResponse) Reset() {
	*x = RefreshCacheStoreFromContentLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefreshCacheStoreFromContentLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefreshCacheStoreFromContentLockResponse) ProtoMessage() {}

func (x *RefreshCacheStoreFromContentLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[64]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefreshCacheStoreFromContentLockResponse.ProtoReflect.Descriptor instead.
func (*RefreshCacheStoreFromContentLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{64}
}

func (x *RefreshCacheStoreFromContentLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RefreshCacheStoreFromContentLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type WorkerCacheFSMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pid       string `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
	Id        string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Name      string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Path      string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
	Hash      string `protobuf:"bytes,5,opt,name=hash,proto3" json:"hash,omitempty"`
	Ino       uint64 `protobuf:"varint,6,opt,name=ino,proto3" json:"ino,omitempty"`
	Size      uint64 `protobuf:"varint,7,opt,name=size,proto3" json:"size,omitempty"`
	Blocks    uint64 `protobuf:"varint,8,opt,name=blocks,proto3" json:"blocks,omitempty"`
	Atime     uint64 `protobuf:"varint,9,opt,name=atime,proto3" json:"atime,omitempty"`
	Mtime     uint64 `protobuf:"varint,10,opt,name=mtime,proto3" json:"mtime,omitempty"`
	Ctime     uint64 `protobuf:"varint,11,opt,name=ctime,proto3" json:"ctime,omitempty"`
	Atimensec uint32 `protobuf:"varint,12,opt,name=atimensec,proto3" json:"atimensec,omitempty"`
	Mtimensec uint32 `protobuf:"varint,13,opt,name=mtimensec,proto3" json:"mtimensec,omitempty"`
	Ctimensec uint32 `protobuf:"varint,14,opt,name=ctimensec,proto3" json:"ctimensec,omitempty"`
	Mode      uint32 `protobuf:"varint,15,opt,name=mode,proto3" json:"mode,omitempty"`
	Nlink     uint32 `protobuf:"varint,16,opt,name=nlink,proto3" json:"nlink,omitempty"`
	Rdev      uint32 `protobuf:"varint,17,opt,name=rdev,proto3" json:"rdev,omitempty"`
	Blksize   uint32 `protobuf:"varint,18,opt,name=blksize,proto3" json:"blksize,omitempty"`
	Padding   uint32 `protobuf:"varint,19,opt,name=padding,proto3" json:"padding,omitempty"`
	Uid       uint32 `protobuf:"varint,20,opt,name=uid,proto3" json:"uid,omitempty"`
	Gid       uint32 `protobuf:"varint,21,opt,name=gid,proto3" json:"gid,omitempty"`
	Gen       uint64 `protobuf:"varint,22,opt,name=gen,proto3" json:"gen,omitempty"`
}

func (x *WorkerCacheFSMetadata) Reset() {
	*x = WorkerCacheFSMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WorkerCacheFSMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerCacheFSMetadata) ProtoMessage() {}

func (x *WorkerCacheFSMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[65]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkerCacheFSMetadata.ProtoReflect.Descriptor instead.
func (*WorkerCacheFSMetadata) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{65}
}

func (x *WorkerCacheFSMetadata) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *WorkerCacheFSMetadata) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WorkerCacheFSMetadata) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *WorkerCacheFSMetadata) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *WorkerCacheFSMetadata) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *WorkerCacheFSMetadata) GetIno() uint64 {
	if x != nil {
		return x.Ino
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetSize() uint64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetBlocks() uint64 {
	if x != nil {
		return x.Blocks
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetAtime() uint64 {
	if x != nil {
		return x.Atime
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetMtime() uint64 {
	if x != nil {
		return x.Mtime
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetCtime() uint64 {
	if x != nil {
		return x.Ctime
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetAtimensec() uint32 {
	if x != nil {
		return x.Atimensec
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetMtimensec() uint32 {
	if x != nil {
		return x.Mtimensec
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetCtimensec() uint32 {
	if x != nil {
		return x.Ctimensec
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetMode() uint32 {
	if x != nil {
		return x.Mode
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetNlink() uint32 {
	if x != nil {
		return x.Nlink
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetRdev() uint32 {
	if x != nil {
		return x.Rdev
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetBlksize() uint32 {
	if x != nil {
		return x.Blksize
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetPadding() uint32 {
	if x != nil {
		return x.Padding
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetUid() uint32 {
	if x != nil {
		return x.Uid
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetGid() uint32 {
	if x != nil {
		return x.Gid
	}
	return 0
}

func (x *WorkerCacheFSMetadata) GetGen() uint64 {
	if x != nil {
		return x.Gen
	}
	return 0
}

type SetCacheFsNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id       string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Metadata *WorkerCacheFSMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *SetCacheFsNodeRequest) Reset() {
	*x = SetCacheFsNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheFsNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheFsNodeRequest) ProtoMessage() {}

func (x *SetCacheFsNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[66]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheFsNodeRequest.ProtoReflect.Descriptor instead.
func (*SetCacheFsNodeRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{66}
}

func (x *SetCacheFsNodeRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SetCacheFsNodeRequest) GetMetadata() *WorkerCacheFSMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

type SetCacheFsNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetCacheFsNodeResponse) Reset() {
	*x = SetCacheFsNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetCacheFsNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCacheFsNodeResponse) ProtoMessage() {}

func (x *SetCacheFsNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[67]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCacheFsNodeResponse.ProtoReflect.Descriptor instead.
func (*SetCacheFsNodeResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{67}
}

func (x *SetCacheFsNodeResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetCacheFsNodeResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetCacheFsNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetCacheFsNodeRequest) Reset() {
	*x = GetCacheFsNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheFsNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheFsNodeRequest) ProtoMessage() {}

func (x *GetCacheFsNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[68]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheFsNodeRequest.ProtoReflect.Descriptor instead.
func (*GetCacheFsNodeRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{68}
}

func (x *GetCacheFsNodeRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type GetCacheFsNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Metadata *WorkerCacheFSMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	ErrorMsg string                 `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetCacheFsNodeResponse) Reset() {
	*x = GetCacheFsNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheFsNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheFsNodeResponse) ProtoMessage() {}

func (x *GetCacheFsNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[69]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheFsNodeResponse.ProtoReflect.Descriptor instead.
func (*GetCacheFsNodeResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{69}
}

func (x *GetCacheFsNodeResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetCacheFsNodeResponse) GetMetadata() *WorkerCacheFSMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *GetCacheFsNodeResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type AddCacheFsNodeChildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pid string `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
	Id  string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *AddCacheFsNodeChildRequest) Reset() {
	*x = AddCacheFsNodeChildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddCacheFsNodeChildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddCacheFsNodeChildRequest) ProtoMessage() {}

func (x *AddCacheFsNodeChildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[70]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddCacheFsNodeChildRequest.ProtoReflect.Descriptor instead.
func (*AddCacheFsNodeChildRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{70}
}

func (x *AddCacheFsNodeChildRequest) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *AddCacheFsNodeChildRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type AddCacheFsNodeChildResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *AddCacheFsNodeChildResponse) Reset() {
	*x = AddCacheFsNodeChildResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddCacheFsNodeChildResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddCacheFsNodeChildResponse) ProtoMessage() {}

func (x *AddCacheFsNodeChildResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[71]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddCacheFsNodeChildResponse.ProtoReflect.Descriptor instead.
func (*AddCacheFsNodeChildResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{71}
}

func (x *AddCacheFsNodeChildResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *AddCacheFsNodeChildResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveCacheFsNodeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *RemoveCacheFsNodeRequest) Reset() {
	*x = RemoveCacheFsNodeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheFsNodeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheFsNodeRequest) ProtoMessage() {}

func (x *RemoveCacheFsNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[72]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheFsNodeRequest.ProtoReflect.Descriptor instead.
func (*RemoveCacheFsNodeRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{72}
}

func (x *RemoveCacheFsNodeRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type RemoveCacheFsNodeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveCacheFsNodeResponse) Reset() {
	*x = RemoveCacheFsNodeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheFsNodeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheFsNodeResponse) ProtoMessage() {}

func (x *RemoveCacheFsNodeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[73]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheFsNodeResponse.ProtoReflect.Descriptor instead.
func (*RemoveCacheFsNodeResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{73}
}

func (x *RemoveCacheFsNodeResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveCacheFsNodeResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveCacheFsNodeChildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pid string `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
	Id  string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *RemoveCacheFsNodeChildRequest) Reset() {
	*x = RemoveCacheFsNodeChildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheFsNodeChildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheFsNodeChildRequest) ProtoMessage() {}

func (x *RemoveCacheFsNodeChildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[74]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheFsNodeChildRequest.ProtoReflect.Descriptor instead.
func (*RemoveCacheFsNodeChildRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{74}
}

func (x *RemoveCacheFsNodeChildRequest) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *RemoveCacheFsNodeChildRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type RemoveCacheFsNodeChildResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveCacheFsNodeChildResponse) Reset() {
	*x = RemoveCacheFsNodeChildResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveCacheFsNodeChildResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveCacheFsNodeChildResponse) ProtoMessage() {}

func (x *RemoveCacheFsNodeChildResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[75]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveCacheFsNodeChildResponse.ProtoReflect.Descriptor instead.
func (*RemoveCacheFsNodeChildResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{75}
}

func (x *RemoveCacheFsNodeChildResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveCacheFsNodeChildResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetCacheFsNodeChildrenRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetCacheFsNodeChildrenRequest) Reset() {
	*x = GetCacheFsNodeChildrenRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheFsNodeChildrenRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheFsNodeChildrenRequest) ProtoMessage() {}

func (x *GetCacheFsNodeChildrenRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[76]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheFsNodeChildrenRequest.ProtoReflect.Descriptor instead.
func (*GetCacheFsNodeChildrenRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{76}
}

func (x *GetCacheFsNodeChildrenRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type GetCacheFsNodeChildrenResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool                     `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Children []*WorkerCacheFSMetadata `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"`
	ErrorMsg string                   `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetCacheFsNodeChildrenResponse) Reset() {
	*x = GetCacheFsNodeChildrenResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetCacheFsNodeChildrenResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCacheFsNodeChildrenResponse) ProtoMessage() {}

func (x *GetCacheFsNodeChildrenResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[77]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCacheFsNodeChildrenResponse.ProtoReflect.Descriptor instead.
func (*GetCacheFsNodeChildrenResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{77}
}

func (x *GetCacheFsNodeChildrenResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetCacheFsNodeChildrenResponse) GetChildren() []*WorkerCacheFSMetadata {
	if x != nil {
		return x.Children
	}
	return nil
}

func (x *GetCacheFsNodeChildrenResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type SetNetworkLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	Ttl           int32  `protobuf:"varint,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
	Retries       int32  `protobuf:"varint,3,opt,name=retries,proto3" json:"retries,omitempty"`
}

func (x *SetNetworkLockRequest) Reset() {
	*x = SetNetworkLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetNetworkLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetNetworkLockRequest) ProtoMessage() {}

func (x *SetNetworkLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[78]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetNetworkLockRequest.ProtoReflect.Descriptor instead.
func (*SetNetworkLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{78}
}

func (x *SetNetworkLockRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *SetNetworkLockRequest) GetTtl() int32 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *SetNetworkLockRequest) GetRetries() int32 {
	if x != nil {
		return x.Retries
	}
	return 0
}

type SetNetworkLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Token    string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetNetworkLockResponse) Reset() {
	*x = SetNetworkLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetNetworkLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetNetworkLockResponse) ProtoMessage() {}

func (x *SetNetworkLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[79]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetNetworkLockResponse.ProtoReflect.Descriptor instead.
func (*SetNetworkLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{79}
}

func (x *SetNetworkLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetNetworkLockResponse) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *SetNetworkLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveNetworkLockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	Token         string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
}

func (x *RemoveNetworkLockRequest) Reset() {
	*x = RemoveNetworkLockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveNetworkLockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveNetworkLockRequest) ProtoMessage() {}

func (x *RemoveNetworkLockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[80]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveNetworkLockRequest.ProtoReflect.Descriptor instead.
func (*RemoveNetworkLockRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{80}
}

func (x *RemoveNetworkLockRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *RemoveNetworkLockRequest) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

type RemoveNetworkLockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveNetworkLockResponse) Reset() {
	*x = RemoveNetworkLockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveNetworkLockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveNetworkLockResponse) ProtoMessage() {}

func (x *RemoveNetworkLockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[81]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveNetworkLockResponse.ProtoReflect.Descriptor instead.
func (*RemoveNetworkLockResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{81}
}

func (x *RemoveNetworkLockResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveNetworkLockResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type SetContainerIpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	ContainerId   string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	IpAddress     string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
}

func (x *SetContainerIpRequest) Reset() {
	*x = SetContainerIpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetContainerIpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetContainerIpRequest) ProtoMessage() {}

func (x *SetContainerIpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[82]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetContainerIpRequest.ProtoReflect.Descriptor instead.
func (*SetContainerIpRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{82}
}

func (x *SetContainerIpRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *SetContainerIpRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *SetContainerIpRequest) GetIpAddress() string {
	if x != nil {
		return x.IpAddress
	}
	return ""
}

type SetContainerIpResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *SetContainerIpResponse) Reset() {
	*x = SetContainerIpResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[83]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetContainerIpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetContainerIpResponse) ProtoMessage() {}

func (x *SetContainerIpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[83]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetContainerIpResponse.ProtoReflect.Descriptor instead.
func (*SetContainerIpResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{83}
}

func (x *SetContainerIpResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *SetContainerIpResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type MoveContainerIpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix   string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	FromContainerId string `protobuf:"bytes,2,opt,name=from_container_id,json=fromContainerId,proto3" json:"from_container_id,omitempty"`
	ToContainerId   string `protobuf:"bytes,3,opt,name=to_container_id,json=toContainerId,proto3" json:"to_container_id,omitempty"`
	IpAddress       string `protobuf:"bytes,4,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
}

func (x *MoveContainerIpRequest) Reset() {
	*x = MoveContainerIpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MoveContainerIpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveContainerIpRequest) ProtoMessage() {}

func (x *MoveContainerIpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[84]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveContainerIpRequest.ProtoReflect.Descriptor instead.
func (*MoveContainerIpRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{84}
}

func (x *MoveContainerIpRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *MoveContainerIpRequest) GetFromContainerId() string {
	if x != nil {
		return x.FromContainerId
	}
	return ""
}

func (x *MoveContainerIpRequest) GetToContainerId() string {
	if x != nil {
		return x.ToContainerId
	}
	return ""
}

func (x *MoveContainerIpRequest) GetIpAddress() string {
	if x != nil {
		return x.IpAddress
	}
	return ""
}

type MoveContainerIpResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *MoveContainerIpResponse) Reset() {
	*x = MoveContainerIpResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MoveContainerIpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveContainerIpResponse) ProtoMessage() {}

func (x *MoveContainerIpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[85]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveContainerIpResponse.ProtoReflect.Descriptor instead.
func (*MoveContainerIpResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{85}
}

func (x *MoveContainerIpResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *MoveContainerIpResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetContainerIpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	ContainerId   string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
}

func (x *GetContainerIpRequest) Reset() {
	*x = GetContainerIpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpRequest) ProtoMessage() {}

func (x *GetContainerIpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[86]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpRequest.ProtoReflect.Descriptor instead.
func (*GetContainerIpRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{86}
}

func (x *GetContainerIpRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *GetContainerIpRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

type GetContainerIpResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok        bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	ErrorMsg  string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetContainerIpResponse) Reset() {
	*x = GetContainerIpResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpResponse) ProtoMessage() {}

func (x *GetContainerIpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[87]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpResponse.ProtoReflect.Descriptor instead.
func (*GetContainerIpResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{87}
}

func (x *GetContainerIpResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetContainerIpResponse) GetIpAddress() string {
	if x != nil {
		return x.IpAddress
	}
	return ""
}

func (x *GetContainerIpResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetContainerIpsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
}

func (x *GetContainerIpsRequest) Reset() {
	*x = GetContainerIpsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpsRequest) ProtoMessage() {}

func (x *GetContainerIpsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[88]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpsRequest.ProtoReflect.Descriptor instead.
func (*GetContainerIpsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{88}
}

func (x *GetContainerIpsRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

type GetContainerIpsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool     `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Ips      []string `protobuf:"bytes,2,rep,name=ips,proto3" json:"ips,omitempty"`
	ErrorMsg string   `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetContainerIpsResponse) Reset() {
	*x = GetContainerIpsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[89]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpsResponse) ProtoMessage() {}

func (x *GetContainerIpsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[89]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpsResponse.ProtoReflect.Descriptor instead.
func (*GetContainerIpsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{89}
}

func (x *GetContainerIpsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetContainerIpsResponse) GetIps() []string {
	if x != nil {
		return x.Ips
	}
	return nil
}

func (x *GetContainerIpsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type ContainerIpAssignment struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	IpAddress   string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
}

func (x *ContainerIpAssignment) Reset() {
	*x = ContainerIpAssignment{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[90]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContainerIpAssignment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContainerIpAssignment) ProtoMessage() {}

func (x *ContainerIpAssignment) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[90]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContainerIpAssignment.ProtoReflect.Descriptor instead.
func (*ContainerIpAssignment) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{90}
}

func (x *ContainerIpAssignment) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *ContainerIpAssignment) GetIpAddress() string {
	if x != nil {
		return x.IpAddress
	}
	return ""
}

type GetContainerIpAssignmentsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
}

func (x *GetContainerIpAssignmentsRequest) Reset() {
	*x = GetContainerIpAssignmentsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[91]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpAssignmentsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpAssignmentsRequest) ProtoMessage() {}

func (x *GetContainerIpAssignmentsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[91]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpAssignmentsRequest.ProtoReflect.Descriptor instead.
func (*GetContainerIpAssignmentsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{91}
}

func (x *GetContainerIpAssignmentsRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

type GetContainerIpAssignmentsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok          bool                     `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	Assignments []*ContainerIpAssignment `protobuf:"bytes,2,rep,name=assignments,proto3" json:"assignments,omitempty"`
	ErrorMsg    string                   `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *GetContainerIpAssignmentsResponse) Reset() {
	*x = GetContainerIpAssignmentsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[92]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetContainerIpAssignmentsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetContainerIpAssignmentsResponse) ProtoMessage() {}

func (x *GetContainerIpAssignmentsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[92]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetContainerIpAssignmentsResponse.ProtoReflect.Descriptor instead.
func (*GetContainerIpAssignmentsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{92}
}

func (x *GetContainerIpAssignmentsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetContainerIpAssignmentsResponse) GetAssignments() []*ContainerIpAssignment {
	if x != nil {
		return x.Assignments
	}
	return nil
}

func (x *GetContainerIpAssignmentsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type RemoveContainerIpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkPrefix string `protobuf:"bytes,1,opt,name=network_prefix,json=networkPrefix,proto3" json:"network_prefix,omitempty"`
	ContainerId   string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
}

func (x *RemoveContainerIpRequest) Reset() {
	*x = RemoveContainerIpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[93]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveContainerIpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveContainerIpRequest) ProtoMessage() {}

func (x *RemoveContainerIpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[93]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveContainerIpRequest.ProtoReflect.Descriptor instead.
func (*RemoveContainerIpRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{93}
}

func (x *RemoveContainerIpRequest) GetNetworkPrefix() string {
	if x != nil {
		return x.NetworkPrefix
	}
	return ""
}

func (x *RemoveContainerIpRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

type RemoveContainerIpResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *RemoveContainerIpResponse) Reset() {
	*x = RemoveContainerIpResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[94]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RemoveContainerIpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveContainerIpResponse) ProtoMessage() {}

func (x *RemoveContainerIpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[94]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveContainerIpResponse.ProtoReflect.Descriptor instead.
func (*RemoveContainerIpResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{94}
}

func (x *RemoveContainerIpResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *RemoveContainerIpResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type PushContainerLifecycleEventsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string   `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	Events   [][]byte `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"`
}

func (x *PushContainerLifecycleEventsRequest) Reset() {
	*x = PushContainerLifecycleEventsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[95]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PushContainerLifecycleEventsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushContainerLifecycleEventsRequest) ProtoMessage() {}

func (x *PushContainerLifecycleEventsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[95]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PushContainerLifecycleEventsRequest.ProtoReflect.Descriptor instead.
func (*PushContainerLifecycleEventsRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{95}
}

func (x *PushContainerLifecycleEventsRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *PushContainerLifecycleEventsRequest) GetEvents() [][]byte {
	if x != nil {
		return x.Events
	}
	return nil
}

type PushContainerLifecycleEventsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *PushContainerLifecycleEventsResponse) Reset() {
	*x = PushContainerLifecycleEventsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[96]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PushContainerLifecycleEventsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushContainerLifecycleEventsResponse) ProtoMessage() {}

func (x *PushContainerLifecycleEventsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[96]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PushContainerLifecycleEventsResponse.ProtoReflect.Descriptor instead.
func (*PushContainerLifecycleEventsResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{96}
}

func (x *PushContainerLifecycleEventsResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *PushContainerLifecycleEventsResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type GetWorkerMeteringConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *GetWorkerMeteringConfigRequest) Reset() {
	*x = GetWorkerMeteringConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[97]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerMeteringConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerMeteringConfigRequest) ProtoMessage() {}

func (x *GetWorkerMeteringConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[97]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerMeteringConfigRequest.ProtoReflect.Descriptor instead.
func (*GetWorkerMeteringConfigRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{97}
}

func (x *GetWorkerMeteringConfigRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type GetWorkerMeteringConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	// The control plane's metering configuration (types.MonitoringConfig.Metering) as JSON.
	MeteringJson string `protobuf:"bytes,3,opt,name=metering_json,json=meteringJson,proto3" json:"metering_json,omitempty"`
}

func (x *GetWorkerMeteringConfigResponse) Reset() {
	*x = GetWorkerMeteringConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[98]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerMeteringConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerMeteringConfigResponse) ProtoMessage() {}

func (x *GetWorkerMeteringConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[98]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerMeteringConfigResponse.ProtoReflect.Descriptor instead.
func (*GetWorkerMeteringConfigResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{98}
}

func (x *GetWorkerMeteringConfigResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetWorkerMeteringConfigResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *GetWorkerMeteringConfigResponse) GetMeteringJson() string {
	if x != nil {
		return x.MeteringJson
	}
	return ""
}

type GetWorkerServiceProxyConfigRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
}

func (x *GetWorkerServiceProxyConfigRequest) Reset() {
	*x = GetWorkerServiceProxyConfigRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[99]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerServiceProxyConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerServiceProxyConfigRequest) ProtoMessage() {}

func (x *GetWorkerServiceProxyConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[99]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerServiceProxyConfigRequest.ProtoReflect.Descriptor instead.
func (*GetWorkerServiceProxyConfigRequest) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{99}
}

func (x *GetWorkerServiceProxyConfigRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type GetWorkerServiceProxyConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ok       bool   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
	// The gateway's TCP listener as the public reaches it.
	ExternalHost string `protobuf:"bytes,3,opt,name=external_host,json=externalHost,proto3" json:"external_host,omitempty"`
	ExternalPort int32  `protobuf:"varint,4,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"`
	// Whether its certificate is publicly trusted, so workers verify it.
	VerifyTls bool `protobuf:"varint,5,opt,name=verify_tls,json=verifyTls,proto3" json:"verify_tls,omitempty"`
}

func (x *GetWorkerServiceProxyConfigResponse) Reset() {
	*x = GetWorkerServiceProxyConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_worker_repo_proto_msgTypes[100]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerServiceProxyConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerServiceProxyConfigResponse) ProtoMessage() {}

func (x *GetWorkerServiceProxyConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_worker_repo_proto_msgTypes[100]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerServiceProxyConfigResponse.ProtoReflect.Descriptor instead.
func (*GetWorkerServiceProxyConfigResponse) Descriptor() ([]byte, []int) {
	return file_worker_repo_proto_rawDescGZIP(), []int{100}
}

func (x *GetWorkerServiceProxyConfigResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *GetWorkerServiceProxyConfigResponse) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

func (x *GetWorkerServiceProxyConfigResponse) GetExternalHost() string {
	if x != nil {
		return x.ExternalHost
	}
	return ""
}

func (x *GetWorkerServiceProxyConfigResponse) GetExternalPort() int32 {
	if x != nil {
		return x.ExternalPort
	}
	return 0
}

func (x *GetWorkerServiceProxyConfigResponse) GetVerifyTls() bool {
	if x != nil {
		return x.VerifyTls
	}
	return false
}

var File_worker_repo_proto protoreflect.FileDescriptor

var file_worker_repo_proto_rawDesc = []byte{
	0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0xfd, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x44, 0x0a, 0x11, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x0e,
	0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f,
	0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x68, 0x65, 0x63, 0x6b,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69,
	0x74, 0x79, 0x4b, 0x65, 0x79, 0x22, 0x38, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22,
	0xa1, 0x01, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
	0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0e, 0x73, 0x74,
	0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x70,
	0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x53,
	0x74, 0x6f, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
	0x09, 0x73, 0x74, 0x6f, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76,
	0x65, 0x6e, 0x74, 0x22, 0x65, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
	0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x33, 0x0a, 0x0e, 0x53, 0x74,
	0x6f, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c,
	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22,
	0x51, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4c,
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x49, 0x64, 0x22, 0x5d, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75,
	0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x14,
	0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73,
	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73,
	0x67, 0x22, 0x6a, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x50, 0x75, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4a, 0x0a,
	0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x1b, 0x41, 0x64,
	0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f,
	0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f,
	0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x68, 0x6f,
	0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f,
	0x64, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x6c,
	0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x22, 0x4b, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b,
	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xfc, 0x02,
	0x0a, 0x15, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x48,
	0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x69, 0x76,
	0x65, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48,
	0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x18, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x4d, 0x6f, 0x76,
	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x82, 0x02, 0x0a,
	0x16, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x2b,
	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x63,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x27, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75,
	0x70, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65,
	0x64, 0x22, 0xa2, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x48, 0x6f,
	0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x33, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6b, 0x0a,
	0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a,
	0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5b, 0x0a, 0x1c, 0x54, 0x6f,
	0x67, 0x67, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
	0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x1d, 0x54, 0x6f, 0x67, 0x67, 0x6c,
	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4b, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a,
	0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
	0x72, 0x64, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6f, 0x72, 0x64,
	0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x32, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x14,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73,
	0x67, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27,
	0x0a, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74,
	0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a,
	0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x70,
	0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a,
	0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x53,
	0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69,
	0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x68, 0x65, 0x63,
	0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69,
	0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a,
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74,
	0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x70,
	0x75, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x70, 0x75, 0x54, 0x69, 0x65, 0x72, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x6e, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73,
	0x67, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x72, 0x6f,
	0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6f, 0x6f, 0x6c, 0x48, 0x65,
	0x61, 0x64, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0xc8, 0x02, 0x0a, 0x14, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x12,
	0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61,
	0x6c, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64,
	0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72,
	0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2c, 0x0a,
	0x12, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f,
	0x70, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x63, 0x61, 0x70, 0x61, 0x63,
	0x69, 0x74, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x50, 0x63, 0x74, 0x4a, 0x04, 0x08, 0x07, 0x10,
	0x08, 0x22, 0x66, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x6f,
	0x73, 0x74, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f,
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74,
	0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x48, 0x0a, 0x19, 0x52, 0x65, 0x67,
	0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x73, 0x67, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67,
	0x69, 0x63, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x4a, 0x0a, 0x1b,
	0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48,
	0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x50, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x72, 0x0a, 0x16, 0x4c, 0x69,
	0x73, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x02, 0x6f, 0x6b, 0x12, 0x2b, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6f, 0x72, 0x64,
	0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74,
	0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x48,
	0x0a, 0x19, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68,
	0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12,
	0x17, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x73, 0x67, 0x22, 0x4b, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64,
	0x22, 0x4c, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
	0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x62,
	0x0a, 0x23, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46,
	0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
	0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61,
	0x74, 0x68, 0x22, 0x53, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74,
	0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f,
	0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x73, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x6e,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f,
	0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a,
	0x07, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
	0x65, 0x65, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
	0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x55, 0x6e, 0x69, 0x78, 0x22, 0x94, 0x01, 0x0a,
	0x19, 0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53,
	0x74, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f,
	0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x75,
	0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62,
	0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x73, 0x22, 0x49, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
	0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x70,
	0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x53, 0x74, 0x75, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c,
	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
	0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x22, 0x73, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b,
	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a,
	0x05, 0x73, 0x74, 0x75, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x52,
	0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x05,
	0x73, 0x74, 0x75, 0x62, 0x73, 0x22, 0x74, 0x0a, 0x1c, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
	0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74,
	0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0a, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x66, 0x0a, 0x1d, 0x4d,
	0x61, 0x72, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x61,
	0x69, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x69,
	0x6d, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63,
	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
	0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
	0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f,
	0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69,
	0x63, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x74,
	0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0a, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6c, 0x0a, 0x21,
	0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f,
	0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
	0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a,
	0x0a, 0x08, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x08, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x75, 0x0a, 0x20, 0x52, 0x65,
	0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63,
	0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f,
	0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a,
	0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73,
	0x68, 0x22, 0x50, 0x0a, 0x21, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x73, 0x67, 0x22, 0xe6, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x63, 0x68, 0x65, 0x57, 0x6f, 0x72,
	0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b,
	0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b,
	0x65, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
	0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f,
	0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x87, 0x02, 0x0a,
	0x20, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a,
	0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72,
	0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68,
	0x69, 0x76, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x05, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x67,
	0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
	0x79, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x11,
	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x57,
	0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x15,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74,
	0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72,
	0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x13,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72,
	0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72, 0x63,
	0x68, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68,
	0x69, 0x76, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72,
	0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72,
	0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75,
	0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41,
	0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a,
	0x18, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x75,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x15, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x32, 0x0a,
	0x15, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x36, 0x0a, 0x17, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x15, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
	0x79, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x22, 0x5f, 0x0a, 0x1d, 0x52, 0x75, 0x6e,
	0x74, 0x69, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f,
	0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x69, 0x0a, 0x17, 0x52, 0x75,
	0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70,
	0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
	0x50, 0x61, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x6f, 0x75,
	0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21,
	0x0a, 0x0c, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72,
	0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
	0x12, 0x23, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b,
	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a,
	0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12,
	0x4e, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f,
	0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x10, 0x77,
	0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12,
	0x45, 0x0a, 0x11, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x75, 0x6e,
	0x74, 0x69, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x52, 0x10, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x14, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x69,
	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x69, 0x6e,
	0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x67, 0x0a, 0x21, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74,
	0x61, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x75, 0x62, 0x49, 0x64, 0x73, 0x22, 0x69,
	0x0a, 0x22, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73,
	0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x64, 0x22, 0x65, 0x0a, 0x26, 0x52, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f,
	0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12,
	0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68,
	0x22, 0x56, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53,
	0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c,
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x66, 0x0a, 0x27, 0x52, 0x65, 0x66, 0x72,
	0x65, 0x73, 0x68, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f,
	0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12,
	0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68,
	0x22, 0x57, 0x0a, 0x28, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xf7, 0x03, 0x0a, 0x15, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x53, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a,
	0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73,
	0x68, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
	0x69, 0x6e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x61, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x61, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d,
	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x12,
	0x1c, 0x0a, 0x09, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x09, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x12, 0x1c, 0x0a,
	0x09, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x09, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6d,
	0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
	0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x64, 0x65, 0x76, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x64, 0x65, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6b,
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6b, 0x73,
	0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a,
	0x03, 0x75, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
	0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69,
	0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x65, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
	0x67, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46,
	0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x53, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x22, 0x45, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x22, 0x79, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f,
	0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x53, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b,
	0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x3e, 0x0a, 0x1a, 0x41,
	0x64, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69,
	0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1b, 0x41,
	0x64, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69,
	0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76,
	0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b,
	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x41, 0x0a,
	0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f,
	0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x22, 0x4d, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46,
	0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
	0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22,
	0x2f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x22, 0x81, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e,
	0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x02, 0x6f, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x46, 0x53, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x63,
	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x4d, 0x73, 0x67, 0x22, 0x6a, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a,
	0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72,
	0x65, 0x66, 0x69, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
	0x22, 0x5b, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f,
	0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x57, 0x0a,
	0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f,
	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67,
	0x22, 0x80, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69,
	0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x22, 0x45, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a,
	0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x4d,
	0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11,
	0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22,
	0x46, 0x0a, 0x17, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x49, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x61, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66,
	0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x16, 0x47, 0x65,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67,
	0x22, 0x3f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x49, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69,
	0x78, 0x22, 0x58, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x49, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x10, 0x0a, 0x03,
	0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x12, 0x1b,
	0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x59, 0x0a, 0x15, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69,
	0x78, 0x22, 0x8a, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x49, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x38, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67,
	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x64,
	0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x69,
	0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
	0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5a,
	0x0a, 0x23, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c,
	0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0c, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x53, 0x0a, 0x24, 0x50, 0x75,
	0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x63,
	0x79, 0x63, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
	0x6f, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22,
	0x3d, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x65,
	0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x73,
	0x0a, 0x1f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x65, 0x72,
	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
	0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x23,
	0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4a,
	0x73, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x1b,
	0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x65,
	0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74,
	0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f,
	0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66,
	0x79, 0x54, 0x6c, 0x73, 0x32, 0xad, 0x1f, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52,
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x12, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x47, 0x65,
	0x74, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x47,
	0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x30, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e,
	0x74, 0x73, 0x12, 0x24, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c,
	0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65,
	0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x2e, 0x47,
	0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
	0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e,
	0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x6a, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x23, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a,
	0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x0c, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x00, 0x30,
	0x01, 0x12, 0x49, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c,
	0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x50, 0x75, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x19, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4c, 0x6f,
	0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4c,
	0x6f, 0x63, 0x6b, 0x12, 0x1b, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1c, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75,
	0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x55, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x69, 0x6d,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x43, 0x6c, 0x61, 0x69,
	0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x17, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x19,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46,
	0x72, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x52,
	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x72,
	0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x42,
	0x79, 0x49, 0x64, 0x12, 0x15, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x42,
	0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x47, 0x65, 0x74,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x15, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e,
	0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x54,
	0x6f, 0x67, 0x67, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c,
	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40,
	0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12,
	0x15, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x3d, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x12, 0x14, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x55, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43,
	0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x2e, 0x53,
	0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x55,
	0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x55, 0x6e, 0x72, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x4c, 0x69, 0x73,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48,
	0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f,
	0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1b, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x58, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
	0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x1c, 0x53, 0x65, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x53, 0x65, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x25, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46,
	0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72,
	0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x79, 0x0a, 0x20, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
	0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
	0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x6f,
	0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x12, 0x41,
	0x64, 0x64, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75,
	0x62, 0x12, 0x1a, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
	0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74,
	0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x14,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53,
	0x74, 0x75, 0x62, 0x73, 0x12, 0x1c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x4d,
	0x61, 0x72, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x4d, 0x61,
	0x72, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a,
	0x19, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63,
	0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x2e, 0x41, 0x63, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69,
	0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
	0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f,
	0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b,
	0x12, 0x21, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52,
	0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x19, 0x47, 0x65, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x21, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x47, 0x65, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x73, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x73, 0x12, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x47, 0x65, 0x74, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x1a, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74, 0x61,
	0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x73, 0x12, 0x22, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74,
	0x61, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a,
	0x0e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12,
	0x16, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73,
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46,
	0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x47,
	0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x1b,
	0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43,
	0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x41, 0x64,
	0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c,
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x52,
	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65,
	0x12, 0x19, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x16, 0x52, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68,
	0x69, 0x6c, 0x64, 0x12, 0x1e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e,
	0x12, 0x1e, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1f, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x73, 0x4e, 0x6f, 0x64,
	0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
	0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x2e,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63,
	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
	0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x12, 0x16, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x17, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49,
	0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0f, 0x4d,
	0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x12, 0x17,
	0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x49, 0x70, 0x12, 0x16, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
	0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x47, 0x65,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x49, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x64, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x49, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x2e,
	0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x41, 0x73,
	0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x22, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49,
	0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x12, 0x19, 0x2e, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x42, 0x23, 0x5a, 0x21, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x62, 0x65, 0x61, 0x6d, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x65,
	0x74, 0x61, 0x39, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x33,
}

var (
	file_worker_repo_proto_rawDescOnce sync.Once
	file_worker_repo_proto_rawDescData = file_worker_repo_proto_rawDesc
)

func file_worker_repo_proto_rawDescGZIP() []byte {
	file_worker_repo_proto_rawDescOnce.Do(func() {
		file_worker_repo_proto_rawDescData = protoimpl.X.CompressGZIP(file_worker_repo_proto_rawDescData)
	})
	return file_worker_repo_proto_rawDescData
}

var file_worker_repo_proto_msgTypes = make([]protoimpl.MessageInfo, 101)
var file_worker_repo_proto_goTypes = []interface{}{
	(*GetNextContainerRequestRequest)(nil),           // 0: GetNextContainerRequestRequest
	(*GetNextContainerRequestResponse)(nil),          // 1: GetNextContainerRequestResponse
	(*StreamWorkerEventsRequest)(nil),                // 2: StreamWorkerEventsRequest
	(*WorkerEvent)(nil),                              // 3: WorkerEvent
	(*StopContainerEvent)(nil),                       // 4: StopContainerEvent
	(*StopBuildEvent)(nil),                           // 5: StopBuildEvent
	(*SetImagePullLockRequest)(nil),                  // 6: SetImagePullLockRequest
	(*SetImagePullLockResponse)(nil),                 // 7: SetImagePullLockResponse
	(*RemoveImagePullLockRequest)(nil),               // 8: RemoveImagePullLockRequest
	(*RemoveImagePullLockResponse)(nil),              // 9: RemoveImagePullLockResponse
	(*AddContainerToWorkerRequest)(nil),              // 10: AddContainerToWorkerRequest
	(*AddContainerToWorkerResponse)(nil),             // 11: AddContainerToWorkerResponse
	(*ClaimContainerRequest)(nil),                    // 12: ClaimContainerRequest
	(*ClaimContainerResponse)(nil),                   // 13: ClaimContainerResponse
	(*RemoveContainerFromWorkerRequest)(nil),         // 14: RemoveContainerFromWorkerRequest
	(*RemoveContainerFromWorkerResponse)(nil),        // 15: RemoveContainerFromWorkerResponse
	(*GetWorkerByIdRequest)(nil),                     // 16: GetWorkerByIdRequest
	(*GetWorkerByIdResponse)(nil),                    // 17: GetWorkerByIdResponse
	(*ToggleWorkerAvailableRequest)(nil),             // 18: ToggleWorkerAvailableRequest
	(*ToggleWorkerAvailableResponse)(nil),            // 19: ToggleWorkerAvailableResponse
	(*DisableWorkerRequest)(nil),                     // 20: DisableWorkerRequest
	(*DisableWorkerResponse)(nil),                    // 21: DisableWorkerResponse
	(*RemoveWorkerRequest)(nil),                      // 22: RemoveWorkerRequest
	(*RemoveWorkerResponse)(nil),                     // 23: RemoveWorkerResponse
	(*UpdateWorkerCapacityRequest)(nil),              // 24: UpdateWorkerCapacityRequest
	(*UpdateWorkerCapacityResponse)(nil),             // 25: UpdateWorkerCapacityResponse
	(*SetWorkerKeepAliveRequest)(nil),                // 26: SetWorkerKeepAliveRequest
	(*SetWorkerKeepAliveResponse)(nil),               // 27: SetWorkerKeepAliveResponse
	(*CacheCoordinatorHost)(nil),                     // 28: CacheCoordinatorHost
	(*RegisterCacheHostRequest)(nil),                 // 29: RegisterCacheHostRequest
	(*RegisterCacheHostResponse)(nil),                // 30: RegisterCacheHostResponse
	(*UnregisterCacheHostRequest)(nil),               // 31: UnregisterCacheHostRequest
	(*UnregisterCacheHostResponse)(nil),              // 32: UnregisterCacheHostResponse
	(*ListCacheHostsRequest)(nil),                    // 33: ListCacheHostsRequest
	(*ListCacheHostsResponse)(nil),                   // 34: ListCacheHostsResponse
	(*SetCacheClientLockRequest)(nil),                // 35: SetCacheClientLockRequest
	(*SetCacheClientLockResponse)(nil),               // 36: SetCacheClientLockResponse
	(*RemoveCacheClientLockRequest)(nil),             // 37: RemoveCacheClientLockRequest
	(*RemoveCacheClientLockResponse)(nil),            // 38: RemoveCacheClientLockResponse
	(*SetCacheStoreFromContentLockRequest)(nil),      // 39: SetCacheStoreFromContentLockRequest
	(*SetCacheStoreFromContentLockResponse)(nil),     // 40: SetCacheStoreFromContentLockResponse
	(*RecentCacheStub)(nil),                          // 41: RecentCacheStub
	(*AddRecentCacheStubRequest)(nil),                // 42: AddRecentCacheStubRequest
	(*AddRecentCacheStubResponse)(nil),               // 43: AddRecentCacheStubResponse
	(*ListRecentCacheStubsRequest)(nil),              // 44: ListRecentCacheStubsRequest
	(*ListRecentCacheStubsResponse)(nil),             // 45: ListRecentCacheStubsResponse
	(*MarkCacheStubReportedRequest)(nil),             // 46: MarkCacheStubReportedRequest
	(*MarkCacheStubReportedResponse)(nil),            // 47: MarkCacheStubReportedResponse
	(*AcquireCacheReconcileLockRequest)(nil),         // 48: AcquireCacheReconcileLockRequest
	(*AcquireCacheReconcileLockResponse)(nil),        // 49: AcquireCacheReconcileLockResponse
	(*ReleaseCacheReconcileLockRequest)(nil),         // 50: ReleaseCacheReconcileLockRequest
	(*ReleaseCacheReconcileLockResponse)(nil),        // 51: ReleaseCacheReconcileLockResponse
	(*CacheWorkspaceStorageCredentials)(nil),         // 52: CacheWorkspaceStorageCredentials
	(*GetCacheOriginCredentialsRequest)(nil),         // 53: GetCacheOriginCredentialsRequest
	(*GetCacheOriginCredentialsResponse)(nil),        // 54: GetCacheOriginCredentialsResponse
	(*RuntimeMountCredentialRequest)(nil),            // 55: RuntimeMountCredentialRequest
	(*RuntimeMountCredentials)(nil),                  // 56: RuntimeMountCredentials
	(*GetContainerRuntimeCredentialsRequest)(nil),    // 57: GetContainerRuntimeCredentialsRequest
	(*GetContainerRuntimeCredentialsResponse)(nil),   // 58: GetContainerRuntimeCredentialsResponse
	(*PruneStaleCacheCheckpointsRequest)(nil),        // 59: PruneStaleCacheCheckpointsRequest
	(*PruneStaleCacheCheckpointsResponse)(nil),       // 60: PruneStaleCacheCheckpointsResponse
	(*RemoveCacheStoreFromContentLockRequest)(nil),   // 61: RemoveCacheStoreFromContentLockRequest
	(*RemoveCacheStoreFromContentLockResponse)(nil),  // 62: RemoveCacheStoreFromContentLockResponse
	(*RefreshCacheStoreFromContentLockRequest)(nil),  // 63: RefreshCacheStoreFromContentLockRequest
	(*RefreshCacheStoreFromContentLockResponse)(nil), // 64: RefreshCacheStoreFromContentLockResponse
	(*WorkerCacheFSMetadata)(nil),                    // 65: WorkerCacheFSMetadata
	(*SetCacheFsNodeRequest)(nil),                    // 66: SetCacheFsNodeRequest
	(*SetCacheFsNodeResponse)(nil),                   // 67: SetCacheFsNodeResponse
	(*GetCacheFsNodeRequest)(nil),                    // 68: GetCacheFsNodeRequest
	(*GetCacheFsNodeResponse)(nil),                   // 69: GetCacheFsNodeResponse
	(*AddCacheFsNodeChildRequest)(nil),               // 70: AddCacheFsNodeChildRequest
	(*AddCacheFsNodeChildResponse)(nil),              // 71: AddCacheFsNodeChildResponse
	(*RemoveCacheFsNodeRequest)(nil),                 // 72: RemoveCacheFsNodeRequest
	(*RemoveCacheFsNodeResponse)(nil),                // 73: RemoveCacheFsNodeResponse
	(*RemoveCacheFsNodeChildRequest)(nil),            // 74: RemoveCacheFsNodeChildRequest
	(*RemoveCacheFsNodeChildResponse)(nil),           // 75: RemoveCacheFsNodeChildResponse
	(*GetCacheFsNodeChildrenRequest)(nil),            // 76: GetCacheFsNodeChildrenRequest
	(*GetCacheFsNodeChildrenResponse)(nil),           // 77: GetCacheFsNodeChildrenResponse
	(*SetNetworkLockRequest)(nil),                    // 78: SetNetworkLockRequest
	(*SetNetworkLockResponse)(nil),                   // 79: SetNetworkLockResponse
	(*RemoveNetworkLockRequest)(nil),                 // 80: RemoveNetworkLockRequest
	(*RemoveNetworkLockResponse)(nil),                // 81: RemoveNetworkLockResponse
	(*SetContainerIpRequest)(nil),                    // 82: SetContainerIpRequest
	(*SetContainerIpResponse)(nil),                   // 83: SetContainerIpResponse
	(*MoveContainerIpRequest)(nil),                   // 84: MoveContainerIpRequest
	(*MoveContainerIpResponse)(nil),                  // 85: MoveContainerIpResponse
	(*GetContainerIpRequest)(nil),                    // 86: GetContainerIpRequest
	(*GetContainerIpResponse)(nil),                   // 87: GetContainerIpResponse
	(*GetContainerIpsRequest)(nil),                   // 88: GetContainerIpsRequest
	(*GetContainerIpsResponse)(nil),                  // 89: GetContainerIpsResponse
	(*ContainerIpAssignment)(nil),                    // 90: ContainerIpAssignment
	(*GetContainerIpAssignmentsRequest)(nil),         // 91: GetContainerIpAssignmentsRequest
	(*GetContainerIpAssignmentsResponse)(nil),        // 92: GetContainerIpAssignmentsResponse
	(*RemoveContainerIpRequest)(nil),                 // 93: RemoveContainerIpRequest
	(*RemoveContainerIpResponse)(nil),                // 94: RemoveContainerIpResponse
	(*PushContainerLifecycleEventsRequest)(nil),      // 95: PushContainerLifecycleEventsRequest
	(*PushContainerLifecycleEventsResponse)(nil),     // 96: PushContainerLifecycleEventsResponse
	(*GetWorkerMeteringConfigRequest)(nil),           // 97: GetWorkerMeteringConfigRequest
	(*GetWorkerMeteringConfigResponse)(nil),          // 98: GetWorkerMeteringConfigResponse
	(*GetWorkerServiceProxyConfigRequest)(nil),       // 99: GetWorkerServiceProxyConfigRequest
	(*GetWorkerServiceProxyConfigResponse)(nil),      // 100: GetWorkerServiceProxyConfigResponse
	(*ContainerRequest)(nil),                         // 101: types.ContainerRequest
	(*SetWorkerAddressRequest)(nil),                  // 102: SetWorkerAddressRequest
	(*ContainerState)(nil),                           // 103: types.ContainerState
	(*Worker)(nil),                                   // 104: types.Worker
	(*MountPointConfig)(nil),                         // 105: types.MountPointConfig
	(*SecretBinding)(nil),                            // 106: types.SecretBinding
}
var file_worker_repo_proto_depIdxs = []int32{
	101, // 0: GetNextContainerRequestResponse.container_request:type_name -> types.ContainerRequest
	4,   // 1: WorkerEvent.stop_container:type_name -> StopContainerEvent
	5,   // 2: WorkerEvent.stop_build:type_name -> StopBuildEvent
	57,  // 3: ClaimContainerRequest.credentials:type_name -> GetContainerRuntimeCredentialsRequest
	102, // 4: ClaimContainerRequest.worker_address:type_name -> SetWorkerAddressRequest
	84,  // 5: ClaimContainerRequest.network:type_name -> MoveContainerIpRequest
	103, // 6: ClaimContainerResponse.state:type_name -> types.ContainerState
	58,  // 7: ClaimContainerResponse.credentials:type_name -> GetContainerRuntimeCredentialsResponse
	104, // 8: GetWorkerByIdResponse.worker:type_name -> types.Worker
	101, // 9: UpdateWorkerCapacityRequest.container_request:type_name -> types.ContainerRequest
	28,  // 10: RegisterCacheHostRequest.host:type_name -> CacheCoordinatorHost
	28,  // 11: ListCacheHostsResponse.hosts:type_name -> CacheCoordinatorHost
	41,  // 12: ListRecentCacheStubsResponse.stubs:type_name -> RecentCacheStub
	52,  // 13: GetCacheOriginCredentialsResponse.workspace_storage:type_name -> CacheWorkspaceStorageCredentials
	52,  // 14: GetCacheOriginCredentialsResponse.image_archive_storage:type_name -> CacheWorkspaceStorageCredentials
	105, // 15: RuntimeMountCredentials.config:type_name -> types.MountPointConfig
	55,  // 16: GetContainerRuntimeCredentialsRequest.mount_credentials:type_name -> RuntimeMountCredentialRequest
	52,  // 17: GetContainerRuntimeCredentialsResponse.workspace_storage:type_name -> CacheWorkspaceStorageCredentials
	56,  // 18: GetContainerRuntimeCredentialsResponse.mount_credentials:type_name -> RuntimeMountCredentials
	106, // 19: GetContainerRuntimeCredentialsResponse.secret_bindings:type_name -> types.SecretBinding
	65,  // 20: SetCacheFsNodeRequest.metadata:type_name -> WorkerCacheFSMetadata
	65,  // 21: GetCacheFsNodeResponse.metadata:type_name -> WorkerCacheFSMetadata
	65,  // 22: GetCacheFsNodeChildrenResponse.children:type_name -> WorkerCacheFSMetadata
	90,  // 23: GetContainerIpAssignmentsResponse.assignments:type_name -> ContainerIpAssignment
	0,   // 24: WorkerRepositoryService.GetNextContainerRequest:input_type -> GetNextContainerRequestRequest
	95,  // 25: WorkerRepositoryService.PushContainerLifecycleEvents:input_type -> PushContainerLifecycleEventsRequest
	97,  // 26: WorkerRepositoryService.GetWorkerMeteringConfig:input_type -> GetWorkerMeteringConfigRequest
	99,  // 27: WorkerRepositoryService.GetWorkerServiceProxyConfig:input_type -> GetWorkerServiceProxyConfigRequest
	2,   // 28: WorkerRepositoryService.StreamWorkerEvents:input_type -> StreamWorkerEventsRequest
	6,   // 29: WorkerRepositoryService.SetImagePullLock:input_type -> SetImagePullLockRequest
	8,   // 30: WorkerRepositoryService.RemoveImagePullLock:input_type -> RemoveImagePullLockRequest
	10,  // 31: WorkerRepositoryService.AddContainerToWorker:input_type -> AddContainerToWorkerRequest
	12,  // 32: WorkerRepositoryService.ClaimContainer:input_type -> ClaimContainerRequest
	14,  // 33: WorkerRepositoryService.RemoveContainerFromWorker:input_type -> RemoveContainerFromWorkerRequest
	16,  // 34: WorkerRepositoryService.GetWorkerById:input_type -> GetWorkerByIdRequest
	18,  // 35: WorkerRepositoryService.ToggleWorkerAvailable:input_type -> ToggleWorkerAvailableRequest
	20,  // 36: WorkerRepositoryService.DisableWorker:input_type -> DisableWorkerRequest
	22,  // 37: WorkerRepositoryService.RemoveWorker:input_type -> RemoveWorkerRequest
	24,  // 38: WorkerRepositoryService.UpdateWorkerCapacity:input_type -> UpdateWorkerCapacityRequest
	26,  // 39: WorkerRepositoryService.SetWorkerKeepAlive:input_type -> SetWorkerKeepAliveRequest
	29,  // 40: WorkerRepositoryService.RegisterCacheHost:input_type -> RegisterCacheHostRequest
	31,  // 41: WorkerRepositoryService.UnregisterCacheHost:input_type -> UnregisterCacheHostRequest
	33,  // 42: WorkerRepositoryService.ListCacheHosts:input_type -> ListCacheHostsRequest
	35,  // 43: WorkerRepositoryService.SetCacheClientLock:input_type -> SetCacheClientLockRequest
	37,  // 44: WorkerRepositoryService.RemoveCacheClientLock:input_type -> RemoveCacheClientLockRequest
	39,  // 45: WorkerRepositoryService.SetCacheStoreFromContentLock:input_type -> SetCacheStoreFromContentLockRequest
	61,  // 46: WorkerRepositoryService.RemoveCacheStoreFromContentLock:input_type -> RemoveCacheStoreFromContentLockRequest
	63,  // 47: WorkerRepositoryService.RefreshCacheStoreFromContentLock:input_type -> RefreshCacheStoreFromContentLockRequest
	42,  // 48: WorkerRepositoryService.AddRecentCacheStub:input_type -> AddRecentCacheStubRequest
	44,  // 49: WorkerRepositoryService.ListRecentCacheStubs:input_type -> ListRecentCacheStubsRequest
	46,  // 50: WorkerRepositoryService.MarkCacheStubReported:input_type -> MarkCacheStubReportedRequest
	48,  // 51: WorkerRepositoryService.AcquireCacheReconcileLock:input_type -> AcquireCacheReconcileLockRequest
	50,  // 52: WorkerRepositoryService.ReleaseCacheReconcileLock:input_type -> ReleaseCacheReconcileLockRequest
	53,  // 53: WorkerRepositoryService.GetCacheOriginCredentials:input_type -> GetCacheOriginCredentialsRequest
	57,  // 54: WorkerRepositoryService.GetContainerRuntimeCredentials:input_type -> GetContainerRuntimeCredentialsRequest
	59,  // 55: WorkerRepositoryService.PruneStaleCacheCheckpoints:input_type -> PruneStaleCacheCheckpointsRequest
	66,  // 56: WorkerRepositoryService.SetCacheFsNode:input_type -> SetCacheFsNodeRequest
	68,  // 57: WorkerRepositoryService.GetCacheFsNode:input_type -> GetCacheFsNodeRequest
	70,  // 58: WorkerRepositoryService.AddCacheFsNodeChild:input_type -> AddCacheFsNodeChildRequest
	72,  // 59: WorkerRepositoryService.RemoveCacheFsNode:input_type -> RemoveCacheFsNodeRequest
	74,  // 60: WorkerRepositoryService.RemoveCacheFsNodeChild:input_type -> RemoveCacheFsNodeChildRequest
	76,  // 61: WorkerRepositoryService.GetCacheFsNodeChildren:input_type -> GetCacheFsNodeChildrenRequest
	78,  // 62: WorkerRepositoryService.SetNetworkLock:input_type -> SetNetworkLockRequest
	80,  // 63: WorkerRepositoryService.RemoveNetworkLock:input_type -> RemoveNetworkLockRequest
	82,  // 64: WorkerRepositoryService.SetContainerIp:input_type -> SetContainerIpRequest
	84,  // 65: WorkerRepositoryService.MoveContainerIp:input_type -> MoveContainerIpRequest
	86,  // 66: WorkerRepositoryService.GetContainerIp:input_type -> GetContainerIpRequest
	88,  // 67: WorkerRepositoryService.GetContainerIps:input_type -> GetContainerIpsRequest
	91,  // 68: WorkerRepositoryService.GetContainerIpAssignments:input_type -> GetContainerIpAssignmentsRequest
	93,  // 69: WorkerRepositoryService.RemoveContainerIp:input_type -> RemoveContainerIpRequest
	1,   // 70: WorkerRepositoryService.GetNextContainerRequest:output_type -> GetNextContainerRequestResponse
	96,  // 71: WorkerRepositoryService.PushContainerLifecycleEvents:output_type -> PushContainerLifecycleEventsResponse
	98,  // 72: WorkerRepositoryService.GetWorkerMeteringConfig:output_type -> GetWorkerMeteringConfigResponse
	100, // 73: WorkerRepositoryService.GetWorkerServiceProxyConfig:output_type -> GetWorkerServiceProxyConfigResponse
	3,   // 74: WorkerRepositoryService.StreamWorkerEvents:output_type -> WorkerEvent
	7,   // 75: WorkerRepositoryService.SetImagePullLock:output_type -> SetImagePullLockResponse
	9,   // 76: WorkerRepositoryService.RemoveImagePullLock:output_type -> RemoveImagePullLockResponse
	11,  // 77: WorkerRepositoryService.AddContainerToWorker:output_type -> AddContainerToWorkerResponse
	13,  // 78: WorkerRepositoryService.ClaimContainer:output_type -> ClaimContainerResponse
	15,  // 79: WorkerRepositoryService.RemoveContainerFromWorker:output_type -> RemoveContainerFromWorkerResponse
	17,  // 80: WorkerRepositoryService.GetWorkerById:output_type -> GetWorkerByIdResponse
	19,  // 81: WorkerRepositoryService.ToggleWorkerAvailable:output_type -> ToggleWorkerAvailableResponse
	21,  // 82: WorkerRepositoryService.DisableWorker:output_type -> DisableWorkerResponse
	23,  // 83: WorkerRepositoryService.RemoveWorker:output_type -> RemoveWorkerResponse
	25,  // 84: WorkerRepositoryService.UpdateWorkerCapacity:output_type -> UpdateWorkerCapacityResponse
	27,  // 85: WorkerRepositoryService.SetWorkerKeepAlive:output_type -> SetWorkerKeepAliveResponse
	30,  // 86: WorkerRepositoryService.RegisterCacheHost:output_type -> RegisterCacheHostResponse
	32,  // 87: WorkerRepositoryService.UnregisterCacheHost:output_type -> UnregisterCacheHostResponse
	34,  // 88: WorkerRepositoryService.ListCacheHosts:output_type -> ListCacheHostsResponse
	36,  // 89: WorkerRepositoryService.SetCacheClientLock:output_type -> SetCacheClientLockResponse
	38,  // 90: WorkerRepositoryService.RemoveCacheClientLock:output_type -> RemoveCacheClientLockResponse
	40,  // 91: WorkerRepositoryService.SetCacheStoreFromContentLock:output_type -> SetCacheStoreFromContentLockResponse
	62,  // 92: WorkerRepositoryService.RemoveCacheStoreFromContentLock:output_type -> RemoveCacheStoreFromContentLockResponse
	64,  // 93: WorkerRepositoryService.RefreshCacheStoreFromContentLock:output_type -> RefreshCacheStoreFromContentLockResponse
	43,  // 94: WorkerRepositoryService.AddRecentCacheStub:output_type -> AddRecentCacheStubResponse
	45,  // 95: WorkerRepositoryService.ListRecentCacheStubs:output_type -> ListRecentCacheStubsResponse
	47,  // 96: WorkerRepositoryService.MarkCacheStubReported:output_type -> MarkCacheStubReportedResponse
	49,  // 97: WorkerRepositoryService.AcquireCacheReconcileLock:output_type -> AcquireCacheReconcileLockResponse
	51,  // 98: WorkerRepositoryService.ReleaseCacheReconcileLock:output_type -> ReleaseCacheReconcileLockResponse
	54,  // 99: WorkerRepositoryService.GetCacheOriginCredentials:output_type -> GetCache