//
//События устройств (домофоны, калитки, шлагбаумы)

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.1
// source: keyapis/device/v1/keyapis_device_events_v1.proto

package keyapis_device_v1

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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)
)

// Справочник статусов конфигурации устройства.
// # Тип: byte
type ConfigureDeviceResultTask_Settings_StatusType int32

const (
	// Значение не указано
	ConfigureDeviceResultTask_Settings_STATUS_TYPE_UNKNOWN ConfigureDeviceResultTask_Settings_StatusType = 0
	// Настроен
	ConfigureDeviceResultTask_Settings_SUCCESS ConfigureDeviceResultTask_Settings_StatusType = 1
	// Ошибка
	ConfigureDeviceResultTask_Settings_ERROR ConfigureDeviceResultTask_Settings_StatusType = 2
)

// Enum value maps for ConfigureDeviceResultTask_Settings_StatusType.
var (
	ConfigureDeviceResultTask_Settings_StatusType_name = map[int32]string{
		0: "STATUS_TYPE_UNKNOWN",
		1: "SUCCESS",
		2: "ERROR",
	}
	ConfigureDeviceResultTask_Settings_StatusType_value = map[string]int32{
		"STATUS_TYPE_UNKNOWN": 0,
		"SUCCESS":             1,
		"ERROR":               2,
	}
)

func (x ConfigureDeviceResultTask_Settings_StatusType) Enum() *ConfigureDeviceResultTask_Settings_StatusType {
	p := new(ConfigureDeviceResultTask_Settings_StatusType)
	*p = x
	return p
}

func (x ConfigureDeviceResultTask_Settings_StatusType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ConfigureDeviceResultTask_Settings_StatusType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_enumTypes[0].Descriptor()
}

func (ConfigureDeviceResultTask_Settings_StatusType) Type() protoreflect.EnumType {
	return &file_keyapis_device_v1_keyapis_device_events_v1_proto_enumTypes[0]
}

func (x ConfigureDeviceResultTask_Settings_StatusType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ConfigureDeviceResultTask_Settings_StatusType.Descriptor instead.
func (ConfigureDeviceResultTask_Settings_StatusType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0, 0}
}

// Задача на конфигурирование устройства.
// Очередь key.device.configure_device
type ConfigureDeviceTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Адрес устройства
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя устройства
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль пользователья устройства
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Пресет устройства
	Preset *Preset `protobuf:"bytes,7,opt,name=preset,proto3" json:"preset,omitempty"`
	// Sip аккаунт
	SipAccount *ConfigureDeviceTask_SipAccount `protobuf:"bytes,8,opt,name=sip_account,json=sipAccount,proto3" json:"sip_account,omitempty"`
	// Список сип-номеров в помещениях.
	// # Диапазон: 0..10000
	SipRooms []*SipRoom `protobuf:"bytes,9,rep,name=sip_rooms,json=sipRooms,proto3" json:"sip_rooms,omitempty"`
	// Параметры калитки
	Gate *ConfigureDeviceTask_Gate `protobuf:"bytes,10,opt,name=gate,proto3" json:"gate,omitempty"`
	// Ключи
	Rfids []*Rfid `protobuf:"bytes,11,rep,name=rfids,proto3" json:"rfids,omitempty"`
	// Коды
	Codes []*Code `protobuf:"bytes,12,rep,name=codes,proto3" json:"codes,omitempty"`
	// Таймзона NTP
	NtpTimezone string `protobuf:"bytes,13,opt,name=ntp_timezone,json=ntpTimezone,proto3" json:"ntp_timezone,omitempty"`
	// Параметр Sl3
	Sl3 *ConfigureDeviceTask_Sl3 `protobuf:"bytes,14,opt,name=sl3,proto3" json:"sl3,omitempty"`
	// Настройки вызова экстренной службы
	EmergencyCallSettings *EmergencyCallSettings `protobuf:"bytes,15,opt,name=emergency_call_settings,json=emergencyCallSettings,proto3" json:"emergency_call_settings,omitempty"`
}

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

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

func (*ConfigureDeviceTask) ProtoMessage() {}

func (x *ConfigureDeviceTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0}
}

func (x *ConfigureDeviceTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ConfigureDeviceTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *ConfigureDeviceTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *ConfigureDeviceTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *ConfigureDeviceTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *ConfigureDeviceTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *ConfigureDeviceTask) GetPreset() *Preset {
	if x != nil {
		return x.Preset
	}
	return nil
}

func (x *ConfigureDeviceTask) GetSipAccount() *ConfigureDeviceTask_SipAccount {
	if x != nil {
		return x.SipAccount
	}
	return nil
}

func (x *ConfigureDeviceTask) GetSipRooms() []*SipRoom {
	if x != nil {
		return x.SipRooms
	}
	return nil
}

func (x *ConfigureDeviceTask) GetGate() *ConfigureDeviceTask_Gate {
	if x != nil {
		return x.Gate
	}
	return nil
}

func (x *ConfigureDeviceTask) GetRfids() []*Rfid {
	if x != nil {
		return x.Rfids
	}
	return nil
}

func (x *ConfigureDeviceTask) GetCodes() []*Code {
	if x != nil {
		return x.Codes
	}
	return nil
}

func (x *ConfigureDeviceTask) GetNtpTimezone() string {
	if x != nil {
		return x.NtpTimezone
	}
	return ""
}

func (x *ConfigureDeviceTask) GetSl3() *ConfigureDeviceTask_Sl3 {
	if x != nil {
		return x.Sl3
	}
	return nil
}

func (x *ConfigureDeviceTask) GetEmergencyCallSettings() *EmergencyCallSettings {
	if x != nil {
		return x.EmergencyCallSettings
	}
	return nil
}

// Настройки вызова экстренной службы
type EmergencyCallSettings struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Возможность вызова экстренной службы
	IsCallAvailable bool `protobuf:"varint,1,opt,name=is_call_available,json=isCallAvailable,proto3" json:"is_call_available,omitempty"`
	// Параметры вызова экстренной службы
	EmergencyCallParameter *EmergencyCallSettings_EmergencyCallParameter `protobuf:"bytes,2,opt,name=emergency_call_parameter,json=emergencyCallParameter,proto3" json:"emergency_call_parameter,omitempty"`
}

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

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

func (*EmergencyCallSettings) ProtoMessage() {}

func (x *EmergencyCallSettings) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 EmergencyCallSettings.ProtoReflect.Descriptor instead.
func (*EmergencyCallSettings) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{1}
}

func (x *EmergencyCallSettings) GetIsCallAvailable() bool {
	if x != nil {
		return x.IsCallAvailable
	}
	return false
}

func (x *EmergencyCallSettings) GetEmergencyCallParameter() *EmergencyCallSettings_EmergencyCallParameter {
	if x != nil {
		return x.EmergencyCallParameter
	}
	return nil
}

// Результат задачи на конфигурирование устройства.
// Очередь key.device.configure_device_result
type ConfigureDeviceResultTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Дата конфигурации устройства
	ConfiguredAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=configured_at,json=configuredAt,proto3" json:"configured_at,omitempty"`
	// Аппаратная версия
	HardwareVersion string `protobuf:"bytes,4,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	// Версия прошивки
	FirmwareVersion string `protobuf:"bytes,5,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Модель
	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
	// Результат настроек
	Settings *ConfigureDeviceResultTask_Settings `protobuf:"bytes,7,opt,name=settings,proto3" json:"settings,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask) ProtoMessage() {}

func (x *ConfigureDeviceResultTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2}
}

func (x *ConfigureDeviceResultTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ConfigureDeviceResultTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *ConfigureDeviceResultTask) GetConfiguredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ConfiguredAt
	}
	return nil
}

func (x *ConfigureDeviceResultTask) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *ConfigureDeviceResultTask) GetFirmwareVersion() string {
	if x != nil {
		return x.FirmwareVersion
	}
	return ""
}

func (x *ConfigureDeviceResultTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *ConfigureDeviceResultTask) GetSettings() *ConfigureDeviceResultTask_Settings {
	if x != nil {
		return x.Settings
	}
	return nil
}

// Задача на использование аналоговых трубок.
// Очередь key.device.cms_available
type CmsServiceAvailableTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор ОРПОН дома
	OrponId int64 `protobuf:"varint,2,opt,name=orpon_id,json=orponId,proto3" json:"orpon_id,omitempty"`
}

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

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

func (*CmsServiceAvailableTask) ProtoMessage() {}

func (x *CmsServiceAvailableTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 CmsServiceAvailableTask.ProtoReflect.Descriptor instead.
func (*CmsServiceAvailableTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{3}
}

func (x *CmsServiceAvailableTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CmsServiceAvailableTask) GetOrponId() int64 {
	if x != nil {
		return x.OrponId
	}
	return 0
}

// Задача на конфигурирование устройства.
// Очередь key.device.control_device
type ControlDeviceTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Адрес устройства
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя устройства
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль пользователья устройства
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Распознование лиц
	FaceRecognition *ControlDeviceTask_FaceRecognition `protobuf:"bytes,7,opt,name=face_recognition,json=faceRecognition,proto3" json:"face_recognition,omitempty"`
	// Пресет устройства
	Preset *Preset `protobuf:"bytes,8,opt,name=preset,proto3" json:"preset,omitempty"`
	// Таймзона NTP
	NtpTimezone *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ntp_timezone,json=ntpTimezone,proto3" json:"ntp_timezone,omitempty"`
	// Sip аккаунт
	SipAccount *ConfigureDeviceTask_SipAccount `protobuf:"bytes,10,opt,name=sip_account,json=sipAccount,proto3" json:"sip_account,omitempty"`
	// Параметры калитки
	Gate *ConfigureDeviceTask_Gate `protobuf:"bytes,11,opt,name=gate,proto3" json:"gate,omitempty"`
	// Консьерж
	Concierge *ControlDeviceTask_Concierge `protobuf:"bytes,12,opt,name=concierge,proto3" json:"concierge,omitempty"`
	// Автосбор
	Autocollect *ControlDeviceTask_Autocollect `protobuf:"bytes,13,opt,name=autocollect,proto3" json:"autocollect,omitempty"`
	// Параметр sl3
	Sl3 *ConfigureDeviceTask_Sl3 `protobuf:"bytes,14,opt,name=sl3,proto3" json:"sl3,omitempty"`
	// Настройки вызова экстренной службы
	EmergencyCallSettings *EmergencyCallSettings `protobuf:"bytes,15,opt,name=emergency_call_settings,json=emergencyCallSettings,proto3" json:"emergency_call_settings,omitempty"`
}

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

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

func (*ControlDeviceTask) ProtoMessage() {}

func (x *ControlDeviceTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceTask.ProtoReflect.Descriptor instead.
func (*ControlDeviceTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{4}
}

func (x *ControlDeviceTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ControlDeviceTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *ControlDeviceTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *ControlDeviceTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *ControlDeviceTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *ControlDeviceTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *ControlDeviceTask) GetFaceRecognition() *ControlDeviceTask_FaceRecognition {
	if x != nil {
		return x.FaceRecognition
	}
	return nil
}

func (x *ControlDeviceTask) GetPreset() *Preset {
	if x != nil {
		return x.Preset
	}
	return nil
}

func (x *ControlDeviceTask) GetNtpTimezone() *wrapperspb.StringValue {
	if x != nil {
		return x.NtpTimezone
	}
	return nil
}

func (x *ControlDeviceTask) GetSipAccount() *ConfigureDeviceTask_SipAccount {
	if x != nil {
		return x.SipAccount
	}
	return nil
}

func (x *ControlDeviceTask) GetGate() *ConfigureDeviceTask_Gate {
	if x != nil {
		return x.Gate
	}
	return nil
}

func (x *ControlDeviceTask) GetConcierge() *ControlDeviceTask_Concierge {
	if x != nil {
		return x.Concierge
	}
	return nil
}

func (x *ControlDeviceTask) GetAutocollect() *ControlDeviceTask_Autocollect {
	if x != nil {
		return x.Autocollect
	}
	return nil
}

func (x *ControlDeviceTask) GetSl3() *ConfigureDeviceTask_Sl3 {
	if x != nil {
		return x.Sl3
	}
	return nil
}

func (x *ControlDeviceTask) GetEmergencyCallSettings() *EmergencyCallSettings {
	if x != nil {
		return x.EmergencyCallSettings
	}
	return nil
}

// Результат задачи на конфигурирование устройства.
// Очередь key.device.control_device_result
type ControlDeviceResultTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Дата конфигурации устройства
	ConfiguredAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=configured_at,json=configuredAt,proto3" json:"configured_at,omitempty"`
	// Аппаратная версия
	HardwareVersion string `protobuf:"bytes,4,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	// Версия прошивки
	FirmwareVersion string `protobuf:"bytes,5,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Модель
	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
	// Результат настроек
	Settings *ControlDeviceResultTask_Settings `protobuf:"bytes,7,opt,name=settings,proto3" json:"settings,omitempty"`
}

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

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

func (*ControlDeviceResultTask) ProtoMessage() {}

func (x *ControlDeviceResultTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceResultTask.ProtoReflect.Descriptor instead.
func (*ControlDeviceResultTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{5}
}

func (x *ControlDeviceResultTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ControlDeviceResultTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *ControlDeviceResultTask) GetConfiguredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ConfiguredAt
	}
	return nil
}

func (x *ControlDeviceResultTask) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *ControlDeviceResultTask) GetFirmwareVersion() string {
	if x != nil {
		return x.FirmwareVersion
	}
	return ""
}

func (x *ControlDeviceResultTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *ControlDeviceResultTask) GetSettings() *ControlDeviceResultTask_Settings {
	if x != nil {
		return x.Settings
	}
	return nil
}

// Задача на блокировку аналоговых трубок на устройствах для квартир.
// Очередь key.device.cms_phones_block
type BlockCmsPhonesTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Список аналоговых трубок
	CmsPhones []*BlockCmsPhonesTask_CmsPhone `protobuf:"bytes,6,rep,name=cms_phones,json=cmsPhones,proto3" json:"cms_phones,omitempty"`
}

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

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

func (*BlockCmsPhonesTask) ProtoMessage() {}

func (x *BlockCmsPhonesTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 BlockCmsPhonesTask.ProtoReflect.Descriptor instead.
func (*BlockCmsPhonesTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{6}
}

func (x *BlockCmsPhonesTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *BlockCmsPhonesTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *BlockCmsPhonesTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *BlockCmsPhonesTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *BlockCmsPhonesTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *BlockCmsPhonesTask) GetCmsPhones() []*BlockCmsPhonesTask_CmsPhone {
	if x != nil {
		return x.CmsPhones
	}
	return nil
}

// Задача ответ на успешную блокировку аналоговой трубки на устройстве для квартиры.
// Очередь key.device.cms_phone_block_success
type BlockCmsPhoneSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор аналоговой трубки
	CmsPhoneId int32 `protobuf:"varint,2,opt,name=cms_phone_id,json=cmsPhoneId,proto3" json:"cms_phone_id,omitempty"`
	// Дата и время блокировки аналоговой трубки
	BlockedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=blocked_at,json=blockedAt,proto3" json:"blocked_at,omitempty"`
}

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

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

func (*BlockCmsPhoneSuccessTask) ProtoMessage() {}

func (x *BlockCmsPhoneSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 BlockCmsPhoneSuccessTask.ProtoReflect.Descriptor instead.
func (*BlockCmsPhoneSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{7}
}

func (x *BlockCmsPhoneSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *BlockCmsPhoneSuccessTask) GetCmsPhoneId() int32 {
	if x != nil {
		return x.CmsPhoneId
	}
	return 0
}

func (x *BlockCmsPhoneSuccessTask) GetBlockedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.BlockedAt
	}
	return nil
}

// Задача ответ на ошибку при блокировке аналоговой трубки на устройстве для квартиры.
// Очередь key.device.cms_phone_block_fail
type BlockCmsPhoneFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор аналоговой трубки
	CmsPhoneId int32 `protobuf:"varint,2,opt,name=cms_phone_id,json=cmsPhoneId,proto3" json:"cms_phone_id,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Дата и время события
	OccuredAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=occured_at,json=occuredAt,proto3" json:"occured_at,omitempty"`
}

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

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

func (*BlockCmsPhoneFailTask) ProtoMessage() {}

func (x *BlockCmsPhoneFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 BlockCmsPhoneFailTask.ProtoReflect.Descriptor instead.
func (*BlockCmsPhoneFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{8}
}

func (x *BlockCmsPhoneFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *BlockCmsPhoneFailTask) GetCmsPhoneId() int32 {
	if x != nil {
		return x.CmsPhoneId
	}
	return 0
}

func (x *BlockCmsPhoneFailTask) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *BlockCmsPhoneFailTask) GetOccuredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccuredAt
	}
	return nil
}

// Задача разблокировку аналоговых трубок на устройстве для квартир.
// Очередь key.device.cms_phones_activate
type ActivateCmsPhonesTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Список аналоговых трубок
	CmsPhones []*ActivateCmsPhonesTask_CmsPhone `protobuf:"bytes,6,rep,name=cms_phones,json=cmsPhones,proto3" json:"cms_phones,omitempty"`
}

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

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

func (*ActivateCmsPhonesTask) ProtoMessage() {}

func (x *ActivateCmsPhonesTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ActivateCmsPhonesTask.ProtoReflect.Descriptor instead.
func (*ActivateCmsPhonesTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{9}
}

func (x *ActivateCmsPhonesTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ActivateCmsPhonesTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *ActivateCmsPhonesTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *ActivateCmsPhonesTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *ActivateCmsPhonesTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *ActivateCmsPhonesTask) GetCmsPhones() []*ActivateCmsPhonesTask_CmsPhone {
	if x != nil {
		return x.CmsPhones
	}
	return nil
}

// Задача ответ на успешную разблокировку аналоговой трубки на устройстве для квартиры.
// Очередь key.device.cms_phone_activate_success
type ActivateCmsPhoneSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор аналоговой трубки
	CmsPhoneId int32 `protobuf:"varint,2,opt,name=cms_phone_id,json=cmsPhoneId,proto3" json:"cms_phone_id,omitempty"`
	// Дата и время разблокировки аналоговой трубки
	ActivatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=activated_at,json=activatedAt,proto3" json:"activated_at,omitempty"`
}

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

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

func (*ActivateCmsPhoneSuccessTask) ProtoMessage() {}

func (x *ActivateCmsPhoneSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ActivateCmsPhoneSuccessTask.ProtoReflect.Descriptor instead.
func (*ActivateCmsPhoneSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{10}
}

func (x *ActivateCmsPhoneSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ActivateCmsPhoneSuccessTask) GetCmsPhoneId() int32 {
	if x != nil {
		return x.CmsPhoneId
	}
	return 0
}

func (x *ActivateCmsPhoneSuccessTask) GetActivatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ActivatedAt
	}
	return nil
}

// Задача ответ на ошибку при разблокировке аналоговой трубки на устройстве для квартиры.
// Очередь key.device.cms_phone_activate_fail
type ActivateCmsPhoneFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор аналоговой трубки
	CmsPhoneId int32 `protobuf:"varint,2,opt,name=cms_phone_id,json=cmsPhoneId,proto3" json:"cms_phone_id,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Дата и время события
	OccuredAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=occured_at,json=occuredAt,proto3" json:"occured_at,omitempty"`
}

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

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

func (*ActivateCmsPhoneFailTask) ProtoMessage() {}

func (x *ActivateCmsPhoneFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ActivateCmsPhoneFailTask.ProtoReflect.Descriptor instead.
func (*ActivateCmsPhoneFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{11}
}

func (x *ActivateCmsPhoneFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *ActivateCmsPhoneFailTask) GetCmsPhoneId() int32 {
	if x != nil {
		return x.CmsPhoneId
	}
	return 0
}

func (x *ActivateCmsPhoneFailTask) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ActivateCmsPhoneFailTask) GetOccuredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccuredAt
	}
	return nil
}

// Сообщение о появлении возможности работы с аналоговыми трубками на устройстве.
// Очередь key.device.device_cms_available
type CmsAvailableTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
}

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

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

func (*CmsAvailableTask) ProtoMessage() {}

func (x *CmsAvailableTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 CmsAvailableTask.ProtoReflect.Descriptor instead.
func (*CmsAvailableTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{12}
}

func (x *CmsAvailableTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CmsAvailableTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

// Сип-номер в помещении
type SipRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Номер сип-трубки.
	// # Диапазон: 5..14
	SipNumber string `protobuf:"bytes,1,opt,name=sip_number,json=sipNumber,proto3" json:"sip_number,omitempty"`
	// Номер помещения.
	// # Диапазон: 1..10000
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Идентификатор квартиры.
	// # Диапазон: 1..2147483647
	RoomId int32 `protobuf:"varint,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
}

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

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

func (*SipRoom) ProtoMessage() {}

func (x *SipRoom) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 SipRoom.ProtoReflect.Descriptor instead.
func (*SipRoom) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{13}
}

func (x *SipRoom) GetSipNumber() string {
	if x != nil {
		return x.SipNumber
	}
	return ""
}

func (x *SipRoom) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *SipRoom) GetRoomId() int32 {
	if x != nil {
		return x.RoomId
	}
	return 0
}

// Ошибка сип-номера в помещении
type SipRoomError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Номер сип-трубки.
	// # Диапазон: 5..14
	SipNumber string `protobuf:"bytes,1,opt,name=sip_number,json=sipNumber,proto3" json:"sip_number,omitempty"`
	// Номер помещения.
	// # Диапазон: 1..10000
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Идентификатор квартиры.
	// # Диапазон: 1..2147483647
	RoomId int32 `protobuf:"varint,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	// Сообщение об ошибке
	Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
}

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

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

func (*SipRoomError) ProtoMessage() {}

func (x *SipRoomError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 SipRoomError.ProtoReflect.Descriptor instead.
func (*SipRoomError) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{14}
}

func (x *SipRoomError) GetSipNumber() string {
	if x != nil {
		return x.SipNumber
	}
	return ""
}

func (x *SipRoomError) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *SipRoomError) GetRoomId() int32 {
	if x != nil {
		return x.RoomId
	}
	return 0
}

func (x *SipRoomError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Ключ
type Rfid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Значение ключа
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// Номер помещения к которому прявязан ключ
	RoomNumber string `protobuf:"bytes,3,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*Rfid) ProtoMessage() {}

func (x *Rfid) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 Rfid.ProtoReflect.Descriptor instead.
func (*Rfid) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{15}
}

func (x *Rfid) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Rfid) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Rfid) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

// Код
type Code struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор кода
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Значение кода
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
	// Номер помещения к которому прявязан код
	RoomNumber string `protobuf:"bytes,3,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*Code) ProtoMessage() {}

func (x *Code) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 Code.ProtoReflect.Descriptor instead.
func (*Code) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{16}
}

func (x *Code) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Code) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *Code) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

// Ошибка ключа
type RfidError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Значение ключа
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// Номер помещения к которому прявязан ключ
	RoomNumber string `protobuf:"bytes,3,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Сообщение об ошибке
	Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
}

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

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

func (*RfidError) ProtoMessage() {}

func (x *RfidError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 RfidError.ProtoReflect.Descriptor instead.
func (*RfidError) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{17}
}

func (x *RfidError) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *RfidError) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *RfidError) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *RfidError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Ошибка кода
type CodeError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор кода
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Значение кода
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
	// Номер помещения к которому прявязан код
	RoomNumber string `protobuf:"bytes,3,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Сообщение об ошибке
	Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
}

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

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

func (*CodeError) ProtoMessage() {}

func (x *CodeError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 CodeError.ProtoReflect.Descriptor instead.
func (*CodeError) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{18}
}

func (x *CodeError) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *CodeError) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *CodeError) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *CodeError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Задача на добавление Sl3 ключей на устройство.
// Очередь key.device.add_sl3_rfids
type AddSl3RfidsTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Sl3Rfids []*AddSl3RfidsTask_Sl3Rfid `protobuf:"bytes,7,rep,name=sl3_rfids,json=sl3Rfids,proto3" json:"sl3_rfids,omitempty"`
}

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

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

func (*AddSl3RfidsTask) ProtoMessage() {}

func (x *AddSl3RfidsTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddSl3RfidsTask.ProtoReflect.Descriptor instead.
func (*AddSl3RfidsTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{19}
}

func (x *AddSl3RfidsTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddSl3RfidsTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *AddSl3RfidsTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *AddSl3RfidsTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *AddSl3RfidsTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *AddSl3RfidsTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddSl3RfidsTask) GetSl3Rfids() []*AddSl3RfidsTask_Sl3Rfid {
	if x != nil {
		return x.Sl3Rfids
	}
	return nil
}

// Задача на добавление ключей на устройство.
// Очередь key.device.add_rfids
type AddRfidsTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Rfids []*Rfid `protobuf:"bytes,7,rep,name=rfids,proto3" json:"rfids,omitempty"`
}

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

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

func (*AddRfidsTask) ProtoMessage() {}

func (x *AddRfidsTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddRfidsTask.ProtoReflect.Descriptor instead.
func (*AddRfidsTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{20}
}

func (x *AddRfidsTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddRfidsTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *AddRfidsTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *AddRfidsTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *AddRfidsTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *AddRfidsTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddRfidsTask) GetRfids() []*Rfid {
	if x != nil {
		return x.Rfids
	}
	return nil
}

// Задача на добавление кодов на устройство.
// Очередь key.device.add_codes
type AddCodesTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Codes []*Code `protobuf:"bytes,7,rep,name=codes,proto3" json:"codes,omitempty"`
}

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

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

func (*AddCodesTask) ProtoMessage() {}

func (x *AddCodesTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddCodesTask.ProtoReflect.Descriptor instead.
func (*AddCodesTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{21}
}

func (x *AddCodesTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddCodesTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *AddCodesTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *AddCodesTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *AddCodesTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *AddCodesTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddCodesTask) GetCodes() []*Code {
	if x != nil {
		return x.Codes
	}
	return nil
}

// Задача ответ на успешное на добавление ключей на устройство.
// Очередь key.device.add_rfids_success
type AddRfidsSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Rfids []*Rfid `protobuf:"bytes,3,rep,name=rfids,proto3" json:"rfids,omitempty"`
}

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

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

func (*AddRfidsSuccessTask) ProtoMessage() {}

func (x *AddRfidsSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddRfidsSuccessTask.ProtoReflect.Descriptor instead.
func (*AddRfidsSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{22}
}

func (x *AddRfidsSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddRfidsSuccessTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddRfidsSuccessTask) GetRfids() []*Rfid {
	if x != nil {
		return x.Rfids
	}
	return nil
}

// Задача ответ на неуспешное на добавление ключей на устройство.
// Очередь key.device.add_rfids_fail
type AddRfidsFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ошибки ключей
	RfidErrors []*RfidError `protobuf:"bytes,3,rep,name=rfid_errors,json=rfidErrors,proto3" json:"rfid_errors,omitempty"`
}

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

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

func (*AddRfidsFailTask) ProtoMessage() {}

func (x *AddRfidsFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddRfidsFailTask.ProtoReflect.Descriptor instead.
func (*AddRfidsFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{23}
}

func (x *AddRfidsFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddRfidsFailTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddRfidsFailTask) GetRfidErrors() []*RfidError {
	if x != nil {
		return x.RfidErrors
	}
	return nil
}

// Задача ответ на успешное на добавление кодов на устройство.
// Очередь key.device.add_codes_success
type AddCodesSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// коды
	Codes []*Code `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
}

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

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

func (*AddCodesSuccessTask) ProtoMessage() {}

func (x *AddCodesSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddCodesSuccessTask.ProtoReflect.Descriptor instead.
func (*AddCodesSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{24}
}

func (x *AddCodesSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddCodesSuccessTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddCodesSuccessTask) GetCodes() []*Code {
	if x != nil {
		return x.Codes
	}
	return nil
}

// Задача ответ на неуспешное на добавление кодов на устройство.
// Очередь key.device.add_codes_fail
type AddCodesFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ошибки кодов
	CodeErrors []*CodeError `protobuf:"bytes,3,rep,name=code_errors,json=codeErrors,proto3" json:"code_errors,omitempty"`
}

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

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

func (*AddCodesFailTask) ProtoMessage() {}

func (x *AddCodesFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddCodesFailTask.ProtoReflect.Descriptor instead.
func (*AddCodesFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{25}
}

func (x *AddCodesFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *AddCodesFailTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *AddCodesFailTask) GetCodeErrors() []*CodeError {
	if x != nil {
		return x.CodeErrors
	}
	return nil
}

// Задача на удаление Sl3 ключей с устройства.
// Очередь key.device.delete_sl3_rfids
type DeleteSl3RfidsTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Sl3Rfids []*DeleteSl3RfidsTask_Sl3Rfid `protobuf:"bytes,7,rep,name=sl3_rfids,json=sl3Rfids,proto3" json:"sl3_rfids,omitempty"`
	// При передаче этого флага в true, ответное сообщение не будет получено
	IsAnswerUnnecessary *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=is_answer_unnecessary,json=isAnswerUnnecessary,proto3" json:"is_answer_unnecessary,omitempty"`
}

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

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

func (*DeleteSl3RfidsTask) ProtoMessage() {}

func (x *DeleteSl3RfidsTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteSl3RfidsTask.ProtoReflect.Descriptor instead.
func (*DeleteSl3RfidsTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{26}
}

func (x *DeleteSl3RfidsTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteSl3RfidsTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *DeleteSl3RfidsTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *DeleteSl3RfidsTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *DeleteSl3RfidsTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *DeleteSl3RfidsTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteSl3RfidsTask) GetSl3Rfids() []*DeleteSl3RfidsTask_Sl3Rfid {
	if x != nil {
		return x.Sl3Rfids
	}
	return nil
}

func (x *DeleteSl3RfidsTask) GetIsAnswerUnnecessary() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsAnswerUnnecessary
	}
	return nil
}

// Задача на удаление ключей с устройства.
// Очередь key.device.delete_rfids
type DeleteRfidsTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Rfids []*Rfid `protobuf:"bytes,7,rep,name=rfids,proto3" json:"rfids,omitempty"`
	// При передаче этого флага в true, ответное сообщение не будет получено
	IsAnswerUnnecessary *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=is_answer_unnecessary,json=isAnswerUnnecessary,proto3" json:"is_answer_unnecessary,omitempty"`
}

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

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

func (*DeleteRfidsTask) ProtoMessage() {}

func (x *DeleteRfidsTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteRfidsTask.ProtoReflect.Descriptor instead.
func (*DeleteRfidsTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{27}
}

func (x *DeleteRfidsTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteRfidsTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *DeleteRfidsTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *DeleteRfidsTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *DeleteRfidsTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *DeleteRfidsTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteRfidsTask) GetRfids() []*Rfid {
	if x != nil {
		return x.Rfids
	}
	return nil
}

func (x *DeleteRfidsTask) GetIsAnswerUnnecessary() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsAnswerUnnecessary
	}
	return nil
}

// Задача на удаление кодов с устройства.
// Очередь key.device.delete_codes
type DeleteCodesTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Codes []*Code `protobuf:"bytes,7,rep,name=codes,proto3" json:"codes,omitempty"`
	// При передаче этого флага в true, ответное сообщение не будет получено
	IsAnswerUnnecessary *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=is_answer_unnecessary,json=isAnswerUnnecessary,proto3" json:"is_answer_unnecessary,omitempty"`
}

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

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

func (*DeleteCodesTask) ProtoMessage() {}

func (x *DeleteCodesTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteCodesTask.ProtoReflect.Descriptor instead.
func (*DeleteCodesTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{28}
}

func (x *DeleteCodesTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteCodesTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *DeleteCodesTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *DeleteCodesTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *DeleteCodesTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *DeleteCodesTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteCodesTask) GetCodes() []*Code {
	if x != nil {
		return x.Codes
	}
	return nil
}

func (x *DeleteCodesTask) GetIsAnswerUnnecessary() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsAnswerUnnecessary
	}
	return nil
}

// Задача ответ на успешное удаление ключей с устройства.
// Очередь key.device.delete_rfids_success
type DeleteRfidsSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ключи
	Rfids []*Rfid `protobuf:"bytes,3,rep,name=rfids,proto3" json:"rfids,omitempty"`
}

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

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

func (*DeleteRfidsSuccessTask) ProtoMessage() {}

func (x *DeleteRfidsSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteRfidsSuccessTask.ProtoReflect.Descriptor instead.
func (*DeleteRfidsSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{29}
}

func (x *DeleteRfidsSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteRfidsSuccessTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteRfidsSuccessTask) GetRfids() []*Rfid {
	if x != nil {
		return x.Rfids
	}
	return nil
}

// Задача ответ на неуспешное удаление ключей с устройства.
// Очередь key.device.delete_rfids_fail
type DeleteRfidsFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ошибки ключей
	RfidErrors []*RfidError `protobuf:"bytes,3,rep,name=rfid_errors,json=rfidErrors,proto3" json:"rfid_errors,omitempty"`
}

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

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

func (*DeleteRfidsFailTask) ProtoMessage() {}

func (x *DeleteRfidsFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteRfidsFailTask.ProtoReflect.Descriptor instead.
func (*DeleteRfidsFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{30}
}

func (x *DeleteRfidsFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteRfidsFailTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteRfidsFailTask) GetRfidErrors() []*RfidError {
	if x != nil {
		return x.RfidErrors
	}
	return nil
}

// Задача ответ на успешное удаление кодов с устройства.
// Очередь key.device.delete_codes_success
type DeleteCodesSuccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// коды
	Codes []*Code `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
}

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

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

func (*DeleteCodesSuccessTask) ProtoMessage() {}

func (x *DeleteCodesSuccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteCodesSuccessTask.ProtoReflect.Descriptor instead.
func (*DeleteCodesSuccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{31}
}

func (x *DeleteCodesSuccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteCodesSuccessTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteCodesSuccessTask) GetCodes() []*Code {
	if x != nil {
		return x.Codes
	}
	return nil
}

// Задача ответ на неуспешное удаление кодов с устройства.
// Очередь key.device.delete_codes_fail
type DeleteCodesFailTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Ошибки кодов
	CodeErrors []*CodeError `protobuf:"bytes,3,rep,name=code_errors,json=codeErrors,proto3" json:"code_errors,omitempty"`
}

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

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

func (*DeleteCodesFailTask) ProtoMessage() {}

func (x *DeleteCodesFailTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteCodesFailTask.ProtoReflect.Descriptor instead.
func (*DeleteCodesFailTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{32}
}

func (x *DeleteCodesFailTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteCodesFailTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteCodesFailTask) GetCodeErrors() []*CodeError {
	if x != nil {
		return x.CodeErrors
	}
	return nil
}

// Задача на открытие точки доступа.
// Очередь key.device.open_access_point
type OpenAccessPointTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Номер реле
	RelayIndex *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=relay_index,json=relayIndex,proto3" json:"relay_index,omitempty"`
	// Задержка в секундах
	Delay *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=delay,proto3" json:"delay,omitempty"`
	// ГРЗ авто
	CarNumber *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=car_number,json=carNumber,proto3" json:"car_number,omitempty"`
	// Тип ТС
	Vehicle *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=vehicle,proto3" json:"vehicle,omitempty"`
	// Наименование курьерской компании
	CourierCompanyName *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=courier_company_name,json=courierCompanyName,proto3" json:"courier_company_name,omitempty"`
	// Номер заказа
	OrderNumber *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"`
	// Идентификатор курьера
	CourierId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=courier_id,json=courierId,proto3" json:"courier_id,omitempty"`
}

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

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

func (*OpenAccessPointTask) ProtoMessage() {}

func (x *OpenAccessPointTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 OpenAccessPointTask.ProtoReflect.Descriptor instead.
func (*OpenAccessPointTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{33}
}

func (x *OpenAccessPointTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *OpenAccessPointTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *OpenAccessPointTask) GetRelayIndex() *wrapperspb.Int32Value {
	if x != nil {
		return x.RelayIndex
	}
	return nil
}

func (x *OpenAccessPointTask) GetDelay() *wrapperspb.Int32Value {
	if x != nil {
		return x.Delay
	}
	return nil
}

func (x *OpenAccessPointTask) GetCarNumber() *wrapperspb.StringValue {
	if x != nil {
		return x.CarNumber
	}
	return nil
}

func (x *OpenAccessPointTask) GetVehicle() *wrapperspb.StringValue {
	if x != nil {
		return x.Vehicle
	}
	return nil
}

func (x *OpenAccessPointTask) GetCourierCompanyName() *wrapperspb.StringValue {
	if x != nil {
		return x.CourierCompanyName
	}
	return nil
}

func (x *OpenAccessPointTask) GetOrderNumber() *wrapperspb.StringValue {
	if x != nil {
		return x.OrderNumber
	}
	return nil
}

func (x *OpenAccessPointTask) GetCourierId() *wrapperspb.StringValue {
	if x != nil {
		return x.CourierId
	}
	return nil
}

// Задача на открытие устройства.
// Очередь key.device.open
type OpenTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Модель
	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Хост
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Имя пользователя
	Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Номер реле
	RelayIndex *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=relay_index,json=relayIndex,proto3" json:"relay_index,omitempty"`
	// Задержка в секундах.
	// Если не передано, то полставляется значение по умолчанию (5)
	Delay *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=delay,proto3" json:"delay,omitempty"`
}

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

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

func (*OpenTask) ProtoMessage() {}

func (x *OpenTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 OpenTask.ProtoReflect.Descriptor instead.
func (*OpenTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{34}
}

func (x *OpenTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *OpenTask) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

func (x *OpenTask) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *OpenTask) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *OpenTask) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *OpenTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *OpenTask) GetRelayIndex() *wrapperspb.Int32Value {
	if x != nil {
		return x.RelayIndex
	}
	return nil
}

func (x *OpenTask) GetDelay() *wrapperspb.Int32Value {
	if x != nil {
		return x.Delay
	}
	return nil
}

// Задача на удаление sip-аккаунта.
// Очередь key.device.delete_sip_account
type DeleteSipAccountTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Дата и время удаления устройства
	DeletedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
	// Sip-login устройства
	SipLogin string `protobuf:"bytes,4,opt,name=sip_login,json=sipLogin,proto3" json:"sip_login,omitempty"`
}

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

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

func (*DeleteSipAccountTask) ProtoMessage() {}

func (x *DeleteSipAccountTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteSipAccountTask.ProtoReflect.Descriptor instead.
func (*DeleteSipAccountTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{35}
}

func (x *DeleteSipAccountTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteSipAccountTask) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

func (x *DeleteSipAccountTask) GetDeletedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.DeletedAt
	}
	return nil
}

func (x *DeleteSipAccountTask) GetSipLogin() string {
	if x != nil {
		return x.SipLogin
	}
	return ""
}

// Задача на создание доступа к устройству.
// Очередь key.device.create_device_access
type CreateDeviceAccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификаторы устройства.
	// # Диапазон: 0..2147483647
	DeviceIds []int32 `protobuf:"varint,2,rep,packed,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty"`
	// Тип субъекта доступа
	DeviceAccessAccessorType DeviceAccess_AccessorType `protobuf:"varint,3,opt,name=device_access_accessor_type,json=deviceAccessAccessorType,proto3,enum=keyapis.device.v1.DeviceAccess_AccessorType" json:"device_access_accessor_type,omitempty"`
	// Идентификатор субъекта доступа.
	// # Диапазон: 1..36
	AccessorId string `protobuf:"bytes,4,opt,name=accessor_id,json=accessorId,proto3" json:"accessor_id,omitempty"`
}

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

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

func (*CreateDeviceAccessTask) ProtoMessage() {}

func (x *CreateDeviceAccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 CreateDeviceAccessTask.ProtoReflect.Descriptor instead.
func (*CreateDeviceAccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{36}
}

func (x *CreateDeviceAccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CreateDeviceAccessTask) GetDeviceIds() []int32 {
	if x != nil {
		return x.DeviceIds
	}
	return nil
}

func (x *CreateDeviceAccessTask) GetDeviceAccessAccessorType() DeviceAccess_AccessorType {
	if x != nil {
		return x.DeviceAccessAccessorType
	}
	return DeviceAccess_ACCESSOR_TYPE_UNKNOWN
}

func (x *CreateDeviceAccessTask) GetAccessorId() string {
	if x != nil {
		return x.AccessorId
	}
	return ""
}

// Задача на удаление доступа к устройству.
// Очередь key.device.delete_device_access
type DeleteDeviceAccessTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор запроса
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Идентификаторы устройства.
	// # Диапазон: 0..2147483647
	DeviceIds []int32 `protobuf:"varint,2,rep,packed,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty"`
	// Тип субъекта доступа
	DeviceAccessAccessorType DeviceAccess_AccessorType `protobuf:"varint,3,opt,name=device_access_accessor_type,json=deviceAccessAccessorType,proto3,enum=keyapis.device.v1.DeviceAccess_AccessorType" json:"device_access_accessor_type,omitempty"`
	// Идентификатор субъекта доступа.
	// # Диапазон: 1..36
	AccessorId string `protobuf:"bytes,4,opt,name=accessor_id,json=accessorId,proto3" json:"accessor_id,omitempty"`
}

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

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

func (*DeleteDeviceAccessTask) ProtoMessage() {}

func (x *DeleteDeviceAccessTask) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteDeviceAccessTask.ProtoReflect.Descriptor instead.
func (*DeleteDeviceAccessTask) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{37}
}

func (x *DeleteDeviceAccessTask) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *DeleteDeviceAccessTask) GetDeviceIds() []int32 {
	if x != nil {
		return x.DeviceIds
	}
	return nil
}

func (x *DeleteDeviceAccessTask) GetDeviceAccessAccessorType() DeviceAccess_AccessorType {
	if x != nil {
		return x.DeviceAccessAccessorType
	}
	return DeviceAccess_ACCESSOR_TYPE_UNKNOWN
}

func (x *DeleteDeviceAccessTask) GetAccessorId() string {
	if x != nil {
		return x.AccessorId
	}
	return ""
}

// Sip аккаунт
type ConfigureDeviceTask_SipAccount struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Имя
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Номер
	Number string `protobuf:"bytes,2,opt,name=number,proto3" json:"number,omitempty"`
	// Имя пользователя
	User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
	// Пароль
	Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
}

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

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

func (*ConfigureDeviceTask_SipAccount) ProtoMessage() {}

func (x *ConfigureDeviceTask_SipAccount) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_SipAccount.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_SipAccount) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 0}
}

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

func (x *ConfigureDeviceTask_SipAccount) GetNumber() string {
	if x != nil {
		return x.Number
	}
	return ""
}

func (x *ConfigureDeviceTask_SipAccount) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *ConfigureDeviceTask_SipAccount) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

// Параметры калитки
type ConfigureDeviceTask_Gate struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Состояние параметра калитки.
	// true - используется, необходимо настроить параметы.
	// false - не используется, необходимо выключить параметры калитки
	IsActive bool `protobuf:"varint,1,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// Параметры реле
	RelaySettings []*ConfigureDeviceTask_Gate_RelaySettings `protobuf:"bytes,2,rep,name=relay_settings,json=relaySettings,proto3" json:"relay_settings,omitempty"`
	// Диапазоны квартир
	RoomRanges []*ConfigureDeviceTask_Gate_RoomRange `protobuf:"bytes,3,rep,name=room_ranges,json=roomRanges,proto3" json:"room_ranges,omitempty"`
}

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

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

func (*ConfigureDeviceTask_Gate) ProtoMessage() {}

func (x *ConfigureDeviceTask_Gate) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_Gate.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_Gate) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 1}
}

func (x *ConfigureDeviceTask_Gate) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *ConfigureDeviceTask_Gate) GetRelaySettings() []*ConfigureDeviceTask_Gate_RelaySettings {
	if x != nil {
		return x.RelaySettings
	}
	return nil
}

func (x *ConfigureDeviceTask_Gate) GetRoomRanges() []*ConfigureDeviceTask_Gate_RoomRange {
	if x != nil {
		return x.RoomRanges
	}
	return nil
}

// Профиль шифрования
type ConfigureDeviceTask_EncryptionProfile struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Номер сектора
	SectorNumber int32 `protobuf:"varint,1,opt,name=sector_number,json=sectorNumber,proto3" json:"sector_number,omitempty"`
	// Номер блока
	BlockNumber int32 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	// aes ключ
	AesKey string `protobuf:"bytes,3,opt,name=aes_key,json=aesKey,proto3" json:"aes_key,omitempty"`
	// Индекс первого символа для секрета
	StartIndex int32 `protobuf:"varint,4,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"`
	// Индекс последнего символа для секрета
	EndIndex int32 `protobuf:"varint,5,opt,name=end_index,json=endIndex,proto3" json:"end_index,omitempty"`
}

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

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

func (*ConfigureDeviceTask_EncryptionProfile) ProtoMessage() {}

func (x *ConfigureDeviceTask_EncryptionProfile) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_EncryptionProfile.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_EncryptionProfile) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 2}
}

func (x *ConfigureDeviceTask_EncryptionProfile) GetSectorNumber() int32 {
	if x != nil {
		return x.SectorNumber
	}
	return 0
}

func (x *ConfigureDeviceTask_EncryptionProfile) GetBlockNumber() int32 {
	if x != nil {
		return x.BlockNumber
	}
	return 0
}

func (x *ConfigureDeviceTask_EncryptionProfile) GetAesKey() string {
	if x != nil {
		return x.AesKey
	}
	return ""
}

func (x *ConfigureDeviceTask_EncryptionProfile) GetStartIndex() int32 {
	if x != nil {
		return x.StartIndex
	}
	return 0
}

func (x *ConfigureDeviceTask_EncryptionProfile) GetEndIndex() int32 {
	if x != nil {
		return x.EndIndex
	}
	return 0
}

// Параметр Sl3
type ConfigureDeviceTask_Sl3 struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус настройки SL3
	IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
	// Профиль шифрования
	EncryptionProfile *ConfigureDeviceTask_EncryptionProfile `protobuf:"bytes,2,opt,name=encryption_profile,json=encryptionProfile,proto3" json:"encryption_profile,omitempty"`
}

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

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

func (*ConfigureDeviceTask_Sl3) ProtoMessage() {}

func (x *ConfigureDeviceTask_Sl3) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_Sl3.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_Sl3) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 3}
}

func (x *ConfigureDeviceTask_Sl3) GetIsEnabled() bool {
	if x != nil {
		return x.IsEnabled
	}
	return false
}

func (x *ConfigureDeviceTask_Sl3) GetEncryptionProfile() *ConfigureDeviceTask_EncryptionProfile {
	if x != nil {
		return x.EncryptionProfile
	}
	return nil
}

// Параметры реле
type ConfigureDeviceTask_Gate_RelaySettings struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Состояние реле.
	// true - по команде «Открыть дверь» произойдет открытие реле.
	// false - по команде «Открыть дверь» не произойдет открытие реле
	IsActive bool `protobuf:"varint,1,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// Индекс реле.
	// # Диапазон: 0..64
	RelayIndex int32 `protobuf:"varint,2,opt,name=relay_index,json=relayIndex,proto3" json:"relay_index,omitempty"`
}

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

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

func (*ConfigureDeviceTask_Gate_RelaySettings) ProtoMessage() {}

func (x *ConfigureDeviceTask_Gate_RelaySettings) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_Gate_RelaySettings.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_Gate_RelaySettings) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 1, 0}
}

func (x *ConfigureDeviceTask_Gate_RelaySettings) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *ConfigureDeviceTask_Gate_RelaySettings) GetRelayIndex() int32 {
	if x != nil {
		return x.RelayIndex
	}
	return 0
}

// Диапазон квартир
type ConfigureDeviceTask_Gate_RoomRange struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Адрес дома
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Номер дома (подъезда)
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// Начало диапазона включительно
	FirstRoomNumber string `protobuf:"bytes,3,opt,name=first_room_number,json=firstRoomNumber,proto3" json:"first_room_number,omitempty"`
	// Конец диапазона включительно
	LastRoomNumber string `protobuf:"bytes,4,opt,name=last_room_number,json=lastRoomNumber,proto3" json:"last_room_number,omitempty"`
}

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

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

func (*ConfigureDeviceTask_Gate_RoomRange) ProtoMessage() {}

func (x *ConfigureDeviceTask_Gate_RoomRange) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceTask_Gate_RoomRange.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceTask_Gate_RoomRange) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{0, 1, 1}
}

func (x *ConfigureDeviceTask_Gate_RoomRange) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ConfigureDeviceTask_Gate_RoomRange) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *ConfigureDeviceTask_Gate_RoomRange) GetFirstRoomNumber() string {
	if x != nil {
		return x.FirstRoomNumber
	}
	return ""
}

func (x *ConfigureDeviceTask_Gate_RoomRange) GetLastRoomNumber() string {
	if x != nil {
		return x.LastRoomNumber
	}
	return ""
}

// Параметры вызова экстренной службы
type EmergencyCallSettings_EmergencyCallParameter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// АБС-номер экстренной службы.
	// # Паттерн: /^\+[1-9][0-9]{10}$/
	EmergencyNumber string `protobuf:"bytes,1,opt,name=emergency_number,json=emergencyNumber,proto3" json:"emergency_number,omitempty"`
	// Исходящий ABC-номер домофона.
	// # Паттерн: /^\+[1-9][0-9]{10}$/
	AbcNumber string `protobuf:"bytes,2,opt,name=abc_number,json=abcNumber,proto3" json:"abc_number,omitempty"`
	// Адрес SIP-транка.
	// # Диапазон: 5..250
	SipTrunkHost string `protobuf:"bytes,3,opt,name=sip_trunk_host,json=sipTrunkHost,proto3" json:"sip_trunk_host,omitempty"`
	// Регион вызова экстренной службы.
	// # Диапазон: 3..32
	DestinationName string `protobuf:"bytes,4,opt,name=destination_name,json=destinationName,proto3" json:"destination_name,omitempty"`
}

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

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

func (*EmergencyCallSettings_EmergencyCallParameter) ProtoMessage() {}

func (x *EmergencyCallSettings_EmergencyCallParameter) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 EmergencyCallSettings_EmergencyCallParameter.ProtoReflect.Descriptor instead.
func (*EmergencyCallSettings_EmergencyCallParameter) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{1, 0}
}

func (x *EmergencyCallSettings_EmergencyCallParameter) GetEmergencyNumber() string {
	if x != nil {
		return x.EmergencyNumber
	}
	return ""
}

func (x *EmergencyCallSettings_EmergencyCallParameter) GetAbcNumber() string {
	if x != nil {
		return x.AbcNumber
	}
	return ""
}

func (x *EmergencyCallSettings_EmergencyCallParameter) GetSipTrunkHost() string {
	if x != nil {
		return x.SipTrunkHost
	}
	return ""
}

func (x *EmergencyCallSettings_EmergencyCallParameter) GetDestinationName() string {
	if x != nil {
		return x.DestinationName
	}
	return ""
}

// Результат конфигурации устройства
type ConfigureDeviceResultTask_Settings struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Установка пресета
	Preset *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,1,opt,name=preset,proto3" json:"preset,omitempty"`
	// Настройка SIP-аккаунта
	SipAccount *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,2,opt,name=sip_account,json=sipAccount,proto3" json:"sip_account,omitempty"`
	// Настройка сип-номеров в помещениях
	SipRooms *ConfigureDeviceResultTask_Settings_SipRooms `protobuf:"bytes,3,opt,name=sip_rooms,json=sipRooms,proto3" json:"sip_rooms,omitempty"`
	// Настройка калитки
	Gate *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,4,opt,name=gate,proto3" json:"gate,omitempty"`
	// Настройка ключей
	Rfids *ConfigureDeviceResultTask_Settings_Rfids `protobuf:"bytes,5,opt,name=rfids,proto3" json:"rfids,omitempty"`
	// Настройка кодов
	Codes *ConfigureDeviceResultTask_Settings_Codes `protobuf:"bytes,6,opt,name=codes,proto3" json:"codes,omitempty"`
	// Настройка sl3
	Sl3 *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,7,opt,name=sl3,proto3" json:"sl3,omitempty"`
	// Настройки вызова экстренной службы
	EmergencyCallSettings *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,8,opt,name=emergency_call_settings,json=emergencyCallSettings,proto3" json:"emergency_call_settings,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask_Settings) ProtoMessage() {}

func (x *ConfigureDeviceResultTask_Settings) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask_Settings.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask_Settings) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0}
}

func (x *ConfigureDeviceResultTask_Settings) GetPreset() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Preset
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetSipAccount() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.SipAccount
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetSipRooms() *ConfigureDeviceResultTask_Settings_SipRooms {
	if x != nil {
		return x.SipRooms
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetGate() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Gate
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetRfids() *ConfigureDeviceResultTask_Settings_Rfids {
	if x != nil {
		return x.Rfids
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetCodes() *ConfigureDeviceResultTask_Settings_Codes {
	if x != nil {
		return x.Codes
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetSl3() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Sl3
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings) GetEmergencyCallSettings() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.EmergencyCallSettings
	}
	return nil
}

// Состояние настройки
type ConfigureDeviceResultTask_Settings_State struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус конфигурации устройства
	StatusType ConfigureDeviceResultTask_Settings_StatusType `protobuf:"varint,1,opt,name=status_type,json=statusType,proto3,enum=keyapis.device.v1.ConfigureDeviceResultTask_Settings_StatusType" json:"status_type,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask_Settings_State) ProtoMessage() {}

func (x *ConfigureDeviceResultTask_Settings_State) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask_Settings_State.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask_Settings_State) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0, 0}
}

func (x *ConfigureDeviceResultTask_Settings_State) GetStatusType() ConfigureDeviceResultTask_Settings_StatusType {
	if x != nil {
		return x.StatusType
	}
	return ConfigureDeviceResultTask_Settings_STATUS_TYPE_UNKNOWN
}

func (x *ConfigureDeviceResultTask_Settings_State) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

// Настройка ключей
type ConfigureDeviceResultTask_Settings_Rfids struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус конфигурации устройства
	StatusType ConfigureDeviceResultTask_Settings_StatusType `protobuf:"varint,1,opt,name=status_type,json=statusType,proto3,enum=keyapis.device.v1.ConfigureDeviceResultTask_Settings_StatusType" json:"status_type,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Загруженные ключи
	LoadedRfids []*Rfid `protobuf:"bytes,3,rep,name=loaded_rfids,json=loadedRfids,proto3" json:"loaded_rfids,omitempty"`
	// Незагруженные ключи
	UnloadedRfids []*RfidError `protobuf:"bytes,4,rep,name=unloaded_rfids,json=unloadedRfids,proto3" json:"unloaded_rfids,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask_Settings_Rfids) ProtoMessage() {}

func (x *ConfigureDeviceResultTask_Settings_Rfids) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask_Settings_Rfids.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask_Settings_Rfids) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0, 1}
}

func (x *ConfigureDeviceResultTask_Settings_Rfids) GetStatusType() ConfigureDeviceResultTask_Settings_StatusType {
	if x != nil {
		return x.StatusType
	}
	return ConfigureDeviceResultTask_Settings_STATUS_TYPE_UNKNOWN
}

func (x *ConfigureDeviceResultTask_Settings_Rfids) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ConfigureDeviceResultTask_Settings_Rfids) GetLoadedRfids() []*Rfid {
	if x != nil {
		return x.LoadedRfids
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings_Rfids) GetUnloadedRfids() []*RfidError {
	if x != nil {
		return x.UnloadedRfids
	}
	return nil
}

// Настройка кодов
type ConfigureDeviceResultTask_Settings_Codes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус конфигурации устройства
	StatusType ConfigureDeviceResultTask_Settings_StatusType `protobuf:"varint,1,opt,name=status_type,json=statusType,proto3,enum=keyapis.device.v1.ConfigureDeviceResultTask_Settings_StatusType" json:"status_type,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Загруженные коды
	LoadedCodes []*Code `protobuf:"bytes,3,rep,name=loaded_codes,json=loadedCodes,proto3" json:"loaded_codes,omitempty"`
	// Незагруженные коды
	UnloadedCodes []*CodeError `protobuf:"bytes,4,rep,name=unloaded_codes,json=unloadedCodes,proto3" json:"unloaded_codes,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask_Settings_Codes) ProtoMessage() {}

func (x *ConfigureDeviceResultTask_Settings_Codes) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask_Settings_Codes.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask_Settings_Codes) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0, 2}
}

func (x *ConfigureDeviceResultTask_Settings_Codes) GetStatusType() ConfigureDeviceResultTask_Settings_StatusType {
	if x != nil {
		return x.StatusType
	}
	return ConfigureDeviceResultTask_Settings_STATUS_TYPE_UNKNOWN
}

func (x *ConfigureDeviceResultTask_Settings_Codes) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ConfigureDeviceResultTask_Settings_Codes) GetLoadedCodes() []*Code {
	if x != nil {
		return x.LoadedCodes
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings_Codes) GetUnloadedCodes() []*CodeError {
	if x != nil {
		return x.UnloadedCodes
	}
	return nil
}

// Настройка квартир
type ConfigureDeviceResultTask_Settings_SipRooms struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус конфигурации устройства
	StatusType ConfigureDeviceResultTask_Settings_StatusType `protobuf:"varint,1,opt,name=status_type,json=statusType,proto3,enum=keyapis.device.v1.ConfigureDeviceResultTask_Settings_StatusType" json:"status_type,omitempty"`
	// Текст ошибки
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Загруженные квартиры
	LoadedSipRooms []*SipRoom `protobuf:"bytes,3,rep,name=loaded_sip_rooms,json=loadedSipRooms,proto3" json:"loaded_sip_rooms,omitempty"`
	// Незагруженные квартиры
	UnloadedSipRooms []*SipRoomError `protobuf:"bytes,4,rep,name=unloaded_sip_rooms,json=unloadedSipRooms,proto3" json:"unloaded_sip_rooms,omitempty"`
}

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

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

func (*ConfigureDeviceResultTask_Settings_SipRooms) ProtoMessage() {}

func (x *ConfigureDeviceResultTask_Settings_SipRooms) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ConfigureDeviceResultTask_Settings_SipRooms.ProtoReflect.Descriptor instead.
func (*ConfigureDeviceResultTask_Settings_SipRooms) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{2, 0, 3}
}

func (x *ConfigureDeviceResultTask_Settings_SipRooms) GetStatusType() ConfigureDeviceResultTask_Settings_StatusType {
	if x != nil {
		return x.StatusType
	}
	return ConfigureDeviceResultTask_Settings_STATUS_TYPE_UNKNOWN
}

func (x *ConfigureDeviceResultTask_Settings_SipRooms) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ConfigureDeviceResultTask_Settings_SipRooms) GetLoadedSipRooms() []*SipRoom {
	if x != nil {
		return x.LoadedSipRooms
	}
	return nil
}

func (x *ConfigureDeviceResultTask_Settings_SipRooms) GetUnloadedSipRooms() []*SipRoomError {
	if x != nil {
		return x.UnloadedSipRooms
	}
	return nil
}

// Распознование лиц
type ControlDeviceTask_FaceRecognition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус настройки распознавания лиц
	IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
}

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

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

func (*ControlDeviceTask_FaceRecognition) ProtoMessage() {}

func (x *ControlDeviceTask_FaceRecognition) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceTask_FaceRecognition.ProtoReflect.Descriptor instead.
func (*ControlDeviceTask_FaceRecognition) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{4, 0}
}

func (x *ControlDeviceTask_FaceRecognition) GetIsEnabled() bool {
	if x != nil {
		return x.IsEnabled
	}
	return false
}

// Консьерж
type ControlDeviceTask_Concierge struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Номер сип-трубки.
	// # Диапазон: 5..14
	SipNumber string `protobuf:"bytes,1,opt,name=sip_number,json=sipNumber,proto3" json:"sip_number,omitempty"`
	// Номер помещения.
	// # Диапазон: 1..10000
	RoomNumber int32 `protobuf:"varint,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*ControlDeviceTask_Concierge) ProtoMessage() {}

func (x *ControlDeviceTask_Concierge) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceTask_Concierge.ProtoReflect.Descriptor instead.
func (*ControlDeviceTask_Concierge) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{4, 1}
}

func (x *ControlDeviceTask_Concierge) GetSipNumber() string {
	if x != nil {
		return x.SipNumber
	}
	return ""
}

func (x *ControlDeviceTask_Concierge) GetRoomNumber() int32 {
	if x != nil {
		return x.RoomNumber
	}
	return 0
}

// Автосбор
type ControlDeviceTask_Autocollect struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Статус настройки автосбор
	IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
}

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

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

func (*ControlDeviceTask_Autocollect) ProtoMessage() {}

func (x *ControlDeviceTask_Autocollect) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceTask_Autocollect.ProtoReflect.Descriptor instead.
func (*ControlDeviceTask_Autocollect) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{4, 2}
}

func (x *ControlDeviceTask_Autocollect) GetIsEnabled() bool {
	if x != nil {
		return x.IsEnabled
	}
	return false
}

// Результат конфигурации устройства
type ControlDeviceResultTask_Settings struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Настройка распознавания лиц
	FaceRecognition *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,1,opt,name=face_recognition,json=faceRecognition,proto3" json:"face_recognition,omitempty"`
	// Установка пресета
	Preset *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,2,opt,name=preset,proto3" json:"preset,omitempty"`
	// Настройка SIP-аккаунта
	SipAccount *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,3,opt,name=sip_account,json=sipAccount,proto3" json:"sip_account,omitempty"`
	// Настройка калитки
	Gate *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,4,opt,name=gate,proto3" json:"gate,omitempty"`
	// Настройка автосбора
	Autocollect *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,5,opt,name=autocollect,proto3" json:"autocollect,omitempty"`
	// Настройка консьержа
	Concierge *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,6,opt,name=concierge,proto3" json:"concierge,omitempty"`
	// Настройка sl3
	Sl3 *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,7,opt,name=sl3,proto3" json:"sl3,omitempty"`
	// Настройки вызова экстренной службы
	EmergencyCallSettings *ConfigureDeviceResultTask_Settings_State `protobuf:"bytes,8,opt,name=emergency_call_settings,json=emergencyCallSettings,proto3" json:"emergency_call_settings,omitempty"`
}

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

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

func (*ControlDeviceResultTask_Settings) ProtoMessage() {}

func (x *ControlDeviceResultTask_Settings) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ControlDeviceResultTask_Settings.ProtoReflect.Descriptor instead.
func (*ControlDeviceResultTask_Settings) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{5, 0}
}

func (x *ControlDeviceResultTask_Settings) GetFaceRecognition() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.FaceRecognition
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetPreset() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Preset
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetSipAccount() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.SipAccount
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetGate() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Gate
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetAutocollect() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Autocollect
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetConcierge() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Concierge
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetSl3() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.Sl3
	}
	return nil
}

func (x *ControlDeviceResultTask_Settings) GetEmergencyCallSettings() *ConfigureDeviceResultTask_Settings_State {
	if x != nil {
		return x.EmergencyCallSettings
	}
	return nil
}

// Аналоговая трубка
type BlockCmsPhonesTask_CmsPhone struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор аналоговой трубки
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Номер квартиры
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*BlockCmsPhonesTask_CmsPhone) ProtoMessage() {}

func (x *BlockCmsPhonesTask_CmsPhone) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 BlockCmsPhonesTask_CmsPhone.ProtoReflect.Descriptor instead.
func (*BlockCmsPhonesTask_CmsPhone) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{6, 0}
}

func (x *BlockCmsPhonesTask_CmsPhone) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *BlockCmsPhonesTask_CmsPhone) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

// Аналоговая трубка
type ActivateCmsPhonesTask_CmsPhone struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор аналоговой трубки
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Номер квартиры
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*ActivateCmsPhonesTask_CmsPhone) ProtoMessage() {}

func (x *ActivateCmsPhonesTask_CmsPhone) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 ActivateCmsPhonesTask_CmsPhone.ProtoReflect.Descriptor instead.
func (*ActivateCmsPhonesTask_CmsPhone) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{9, 0}
}

func (x *ActivateCmsPhonesTask_CmsPhone) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ActivateCmsPhonesTask_CmsPhone) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

// Ключ sl3
type AddSl3RfidsTask_Sl3Rfid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Номер помещения к которому прявязан ключ
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Значение ключа
	Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
	// Секрет
	KeySecret string `protobuf:"bytes,4,opt,name=key_secret,json=keySecret,proto3" json:"key_secret,omitempty"`
}

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

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

func (*AddSl3RfidsTask_Sl3Rfid) ProtoMessage() {}

func (x *AddSl3RfidsTask_Sl3Rfid) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 AddSl3RfidsTask_Sl3Rfid.ProtoReflect.Descriptor instead.
func (*AddSl3RfidsTask_Sl3Rfid) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{19, 0}
}

func (x *AddSl3RfidsTask_Sl3Rfid) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *AddSl3RfidsTask_Sl3Rfid) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *AddSl3RfidsTask_Sl3Rfid) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *AddSl3RfidsTask_Sl3Rfid) GetKeySecret() string {
	if x != nil {
		return x.KeySecret
	}
	return ""
}

// Ключ sl3
type DeleteSl3RfidsTask_Sl3Rfid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Номер помещения к которому прявязан ключ
	RoomNumber string `protobuf:"bytes,2,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
	// Значение ключа
	Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
	// Секрет
	KeySecret string `protobuf:"bytes,4,opt,name=key_secret,json=keySecret,proto3" json:"key_secret,omitempty"`
}

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

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

func (*DeleteSl3RfidsTask_Sl3Rfid) ProtoMessage() {}

func (x *DeleteSl3RfidsTask_Sl3Rfid) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_device_v1_keyapis_device_events_v1_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 DeleteSl3RfidsTask_Sl3Rfid.ProtoReflect.Descriptor instead.
func (*DeleteSl3RfidsTask_Sl3Rfid) Descriptor() ([]byte, []int) {
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP(), []int{26, 0}
}

func (x *DeleteSl3RfidsTask_Sl3Rfid) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteSl3RfidsTask_Sl3Rfid) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

func (x *DeleteSl3RfidsTask_Sl3Rfid) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *DeleteSl3RfidsTask_Sl3Rfid) GetKeySecret() string {
	if x != nil {
		return x.KeySecret
	}
	return ""
}

var File_keyapis_device_v1_keyapis_device_events_v1_proto protoreflect.FileDescriptor

var file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDesc = []byte{
	0x0a, 0x30, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x11, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x0d, 0x0a, 0x13,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54,
	0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x75,
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a,
	0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12,
	0x36, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x19, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x61,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
	0x0a, 0x73, 0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x73,
	0x69, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x08, 0x73, 0x69, 0x70, 0x52,
	0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x3f, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x52,
	0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x0b,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x52, 0x05, 0x72,
	0x66, 0x69, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0c, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x63, 0x6f,
	0x64, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x74, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x7a,
	0x6f, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b,
	0x6e, 0x74, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x3c, 0x0a, 0x03, 0x73,
	0x6c, 0x33, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x2e, 0x53, 0x6c, 0x33, 0x52, 0x03, 0x73, 0x6c, 0x33, 0x12, 0x60, 0x0a, 0x17, 0x65, 0x6d, 0x65,
	0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45,
	0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x73, 0x52, 0x15, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43,
	0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x7c, 0x0a, 0x0a, 0x53,
	0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x17, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73,
	0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0xea, 0x03, 0x0a, 0x04, 0x47, 0x61,
	0x74, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x12, 0x65, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65,
	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x65,
	0x6c, 0x61, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5b, 0x0a, 0x0b, 0x72,
	0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x6f,
	0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f,
	0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61,
	0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
	0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xa7, 0x01, 0x0a,
	0x09, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2f, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f,
	0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x6f, 0x6f,
	0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f,
	0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0xc1, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x72, 0x79,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0d,
	0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c,
	0x0a, 0x07, 0x61, 0x65, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x65, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a,
	0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x92, 0x01, 0x0a, 0x03, 0x53,
	0x6c, 0x33, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x67, 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x11, 0x65, 0x6e,
	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22,
	0x88, 0x03, 0x0a, 0x15, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c,
	0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f,
	0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x79, 0x0a, 0x18, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e,
	0x63, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6d, 0x65, 0x72,
	0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x50,
	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x16, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65,
	0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
	0x1a, 0xc7, 0x01, 0x0a, 0x16, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61,
	0x6c, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x10, 0x65,
	0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6d, 0x65, 0x72,
	0x67, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x61,
	0x62, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x62, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x29, 0x0a, 0x0e, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x68, 0x6f, 0x73,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x69,
	0x70, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65,
	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69,
	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xee, 0x10, 0x0a, 0x19, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x44,
	0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65,
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
	0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x29, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77,
	0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f,
	0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x51, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08,
	0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x80, 0x0e, 0x0a, 0x08, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54,
	0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12,
	0x5c, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61,
	0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5b, 0x0a,
	0x09, 0x73, 0x69, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x3e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x73,
	0x52, 0x08, 0x73, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x04, 0x67, 0x61,
	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x05, 0x72,
	0x66, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x73, 0x52, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x12, 0x51,
	0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65,
	0x73, 0x12, 0x4d, 0x0a, 0x03, 0x73, 0x6c, 0x33, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x03, 0x73, 0x6c, 0x33,
	0x12, 0x73, 0x0a, 0x17, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x61,
	0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x15,
	0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x94, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x66, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61,
	0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x90, 0x02, 0x0a,
	0x05, 0x52, 0x66, 0x69, 0x64, 0x73, 0x12, 0x61, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
	0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a,
	0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x52, 0x0b, 0x6c,
	0x6f, 0x61, 0x64, 0x65, 0x64, 0x52, 0x66, 0x69, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x75, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x0d, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x52, 0x66, 0x69, 0x64, 0x73, 0x1a,
	0x90, 0x02, 0x0a, 0x05, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0b, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65,
	0x52, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x43, 0x0a,
	0x0e, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x0d, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x64,
	0x65, 0x73, 0x1a, 0xa7, 0x02, 0x0a, 0x08, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12,
	0x61, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61,
	0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x65,
	0x64, 0x5f, 0x73, 0x69, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x0e, 0x6c,
	0x6f, 0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x4d, 0x0a,
	0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x70, 0x5f, 0x72, 0x6f,
	0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69,
	0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x10, 0x75, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x65, 0x64, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x3d, 0x0a, 0x0a,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
	0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01,
	0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x22, 0x5d, 0x0a, 0x17, 0x43,
	0x6d, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
	0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72,
	0x70, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x07, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xbc, 0x08, 0x0a, 0x11, 0x43,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
	0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73,
	0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x10,
	0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x46, 0x61, 0x63,
	0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61,
	0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a,
	0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74,
	0x12, 0x3f, 0x0a, 0x0c, 0x6e, 0x74, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6e, 0x74, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e,
	0x65, 0x12, 0x52, 0x0a, 0x0b, 0x73, 0x69, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53,
	0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x47, 0x61, 0x74, 0x65,
	0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x65,
	0x72, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e,
	0x43, 0x6f, 0x6e, 0x63, 0x69, 0x65, 0x72, 0x67, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x63, 0x69,
	0x65, 0x72, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x6c,
	0x65, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e,
	0x41, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x61, 0x75, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x03, 0x73, 0x6c, 0x33, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x6c,
	0x33, 0x52, 0x03, 0x73, 0x6c, 0x33, 0x12, 0x60, 0x0a, 0x17, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65,
	0x6e, 0x63, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6d, 0x65, 0x72,
	0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x52, 0x15, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61, 0x6c, 0x6c,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x35, 0x0a, 0x0f, 0x46, 0x61, 0x63, 0x65,
	0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x69,
	0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a,
	0x55, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x63, 0x69, 0x65, 0x72, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a,
	0x73, 0x69, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x31, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xde, 0x08, 0x0a, 0x17, 0x43, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x72,
	0x64, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10,
	0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x12, 0x4f, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b,
	0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69,
	0x6e, 0x67, 0x73, 0x1a, 0xf4, 0x05, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
	0x12, 0x66, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63,
	0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73,
	0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x5c, 0x0a,
	0x0b, 0x73, 0x69, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b,
	0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
	0x0a, 0x73, 0x69, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x67,
	0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x0b,
	0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b,
	0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x59, 0x0a, 0x09, 0x63,
	0x6f, 0x6e, 0x63, 0x69, 0x65, 0x72, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e,
	0x63, 0x69, 0x65, 0x72, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x03, 0x73, 0x6c, 0x33, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x73,
	0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x52, 0x03, 0x73, 0x6c, 0x33, 0x12, 0x73, 0x0a, 0x17, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e,
	0x63, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x52, 0x15, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x61,
	0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xba, 0x02, 0x0a, 0x12, 0x42,
	0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x54, 0x61, 0x73,
	0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
	0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x6d, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x18,
	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43,
	0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x6d, 0x73,
	0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x09, 0x63, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x73,
	0x1a, 0x45, 0x0a, 0x08, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x13, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f,
	0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x42, 0x6c, 0x6f, 0x63,
	0x6b, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6d, 0x73, 0x5f,
	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12,
	0x3e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x22,
	0xcc, 0x01, 0x0a, 0x15, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e,
	0x65, 0x46, 0x61, 0x69, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a,
	0x0c, 0x63, 0x6d, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6d, 0x73, 0x50, 0x68, 0x6f,
	0x6e, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3e,
	0x0a, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x65, 0x64, 0x41, 0x74, 0x22, 0xc0,
	0x02, 0x0a, 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x73, 0x50, 0x68,
	0x6f, 0x6e, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x50, 0x0a, 0x0a, 0x63, 0x6d, 0x73, 0x5f,
	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e,
	0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52,
	0x09, 0x63, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x1a, 0x45, 0x0a, 0x08, 0x43, 0x6d,
	0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x72,
	0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x22, 0xac, 0x01, 0x0a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6d,
	0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73,
	0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6d, 0x73, 0x5f, 0x70, 0x68, 0x6f,
	0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x0a, 0x63, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
	0x22, 0xcf, 0x01, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6d, 0x73,
	0x50, 0x68, 0x6f, 0x6e, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a,
	0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
	0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6d, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6d,
	0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x65, 0x64,
	0x41, 0x74, 0x22, 0x58, 0x0a, 0x10, 0x43, 0x6d, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
	0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x07,
	0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x70, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x72,
	0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22,
	0x95, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
	0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x6f,
	0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x58, 0x0a, 0x04, 0x52, 0x66, 0x69, 0x64, 0x12,
	0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x72,
	0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x22, 0x5a, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17,
	0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x7c, 0x0a,
	0x09, 0x52, 0x66, 0x69, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x07,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7e, 0x0a, 0x09, 0x43,
	0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x07,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x92, 0x03, 0x0a, 0x0f,
	0x41, 0x64, 0x64, 0x53, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12,
	0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17,
	0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
	0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
	0x64, 0x12, 0x4c, 0x0a, 0x09, 0x73, 0x6c, 0x33, 0x5f, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x07,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x6c, 0x33, 0x52,
	0x66, 0x69, 0x64, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x73, 0x1a,
	0x7f, 0x0a, 0x07, 0x53, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0a,
	0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x52, 0x66, 0x69, 0x64, 0x73, 0x54, 0x61, 0x73,
	0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
	0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x43,
	0x6f, 0x64, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x6f,
	0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x8f,
	0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x52, 0x66, 0x69, 0x64, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05,
	0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73,
	0x22, 0x9c, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x52, 0x66, 0x69, 0x64, 0x73, 0x46, 0x61, 0x69,
	0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x72,
	0x66, 0x69, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x66, 0x69, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22,
	0x8f, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a,
	0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65,
	0x73, 0x22, 0x9c, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x61,
	0x69, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0b,
	0x63, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73,
	0x22, 0xe8, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6c, 0x33, 0x52, 0x66,
	0x69, 0x64, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12,
	0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x09, 0x73, 0x6c, 0x33,
	0x5f, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x73, 0x54,
	0x61, 0x73, 0x6b, 0x2e, 0x53, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x08, 0x73, 0x6c, 0x33, 0x52, 0x66, 0x69, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x69, 0x73,
	0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73,
	0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x73, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x55,
	0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x1a, 0x7f, 0x0a, 0x07, 0x53, 0x6c,
	0x33, 0x52, 0x66, 0x69, 0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f,
	0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x73,
	0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x6b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xc7, 0x02, 0x0a, 0x0f,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12,
	0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17,
	0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
	0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
	0x64, 0x12, 0x32, 0x0a, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
	0x72, 0x66, 0x69, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x61, 0x6e, 0x73, 0x77,
	0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x13, 0x69, 0x73, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x55, 0x6e, 0x6e, 0x65, 0x63, 0x65,
	0x73, 0x73, 0x61, 0x72, 0x79, 0x22, 0xc7, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x43, 0x6f, 0x64, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a,
	0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73,
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x63,
	0x6f, 0x64, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x12,
	0x4e, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6e,
	0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x73, 0x41, 0x6e,
	0x73, 0x77, 0x65, 0x72, 0x55, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22,
	0x92, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x73, 0x53,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
	0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
	0x12, 0x32, 0x0a, 0x05, 0x72, 0x66, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72,
	0x66, 0x69, 0x64, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
	0x66, 0x69, 0x64, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
	0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x49, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x66, 0x69, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x66, 0x69, 0x64,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73,
	0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x13,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x54,
	0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6f, 0x64,
	0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x8f, 0x04,
	0x0a, 0x13, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x72,
	0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x72,
	0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x31, 0x0a, 0x05, 0x64, 0x65, 0x6c,
	0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3b, 0x0a, 0x0a,
	0x63, 0x61, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
	0x63, 0x61, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x68,
	0x69, 0x63, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c,
	0x65, 0x12, 0x4e, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d,
	0x70, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x63,
	0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x49, 0x64, 0x22,
	0xad, 0x02, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
	0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x68,
	0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
	0x68, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x09,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3c,
	0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x31, 0x0a, 0x05,
	0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
	0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x22,
	0xbe, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x70, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e,
	0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20,
	0x0a, 0x09, 0x73, 0x69, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x69, 0x70, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
	0x22, 0xf8, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
	0x22, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x49, 0x64, 0x73, 0x12, 0x70, 0x0a, 0x1b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f,
	0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xf8, 0x01, 0x0a, 0x16,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x70,
	0x0a, 0x1b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x79, 0x70,
	0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x24, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x9a, 0x01, 0x0a, 0x14, 0x72, 0x75, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x42,
	0x14, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x56, 0x31,
	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x03, 0x50, 0x00, 0x5a, 0x12, 0x2f, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x31, 0xd8, 0x01, 0x01,
	0xf8, 0x01, 0x01, 0xa2, 0x02, 0x0f, 0x4b, 0x45, 0x59, 0x41, 0x50, 0x49, 0x53, 0x44, 0x45, 0x56,
	0x49, 0x43, 0x45, 0x56, 0x31, 0xaa, 0x02, 0x11, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x11, 0x4b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x5c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x13,
	0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x3a,
	0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescOnce sync.Once
	file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescData = file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDesc
)

func file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescGZIP() []byte {
	file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescData)
	})
	return file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDescData
}

var file_keyapis_device_v1_keyapis_device_events_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 58)
var file_keyapis_device_v1_keyapis_device_events_v1_proto_goTypes = []interface{}{
	(ConfigureDeviceResultTask_Settings_StatusType)(0),   // 0: keyapis.device.v1.ConfigureDeviceResultTask.Settings.StatusType
	(*ConfigureDeviceTask)(nil),                          // 1: keyapis.device.v1.ConfigureDeviceTask
	(*EmergencyCallSettings)(nil),                        // 2: keyapis.device.v1.EmergencyCallSettings
	(*ConfigureDeviceResultTask)(nil),                    // 3: keyapis.device.v1.ConfigureDeviceResultTask
	(*CmsServiceAvailableTask)(nil),                      // 4: keyapis.device.v1.CmsServiceAvailableTask
	(*ControlDeviceTask)(nil),                            // 5: keyapis.device.v1.ControlDeviceTask
	(*ControlDeviceResultTask)(nil),                      // 6: keyapis.device.v1.ControlDeviceResultTask
	(*BlockCmsPhonesTask)(nil),                           // 7: keyapis.device.v1.BlockCmsPhonesTask
	(*BlockCmsPhoneSuccessTask)(nil),                     // 8: keyapis.device.v1.BlockCmsPhoneSuccessTask
	(*BlockCmsPhoneFailTask)(nil),                        // 9: keyapis.device.v1.BlockCmsPhoneFailTask
	(*ActivateCmsPhonesTask)(nil),                        // 10: keyapis.device.v1.ActivateCmsPhonesTask
	(*ActivateCmsPhoneSuccessTask)(nil),                  // 11: keyapis.device.v1.ActivateCmsPhoneSuccessTask
	(*ActivateCmsPhoneFailTask)(nil),                     // 12: keyapis.device.v1.ActivateCmsPhoneFailTask
	(*CmsAvailableTask)(nil),                             // 13: keyapis.device.v1.CmsAvailableTask
	(*SipRoom)(nil),                                      // 14: keyapis.device.v1.SipRoom
	(*SipRoomError)(nil),                                 // 15: keyapis.device.v1.SipRoomError
	(*Rfid)(nil),                                         // 16: keyapis.device.v1.Rfid
	(*Code)(nil),                                         // 17: keyapis.device.v1.Code
	(*RfidError)(nil),                                    // 18: keyapis.device.v1.RfidError
	(*CodeError)(nil),                                    // 19: keyapis.device.v1.CodeError
	(*AddSl3RfidsTask)(nil),                              // 20: keyapis.device.v1.AddSl3RfidsTask
	(*AddRfidsTask)(nil),                                 // 21: keyapis.device.v1.AddRfidsTask
	(*AddCodesTask)(nil),                                 // 22: keyapis.device.v1.AddCodesTask
	(*AddRfidsSuccessTask)(nil),                          // 23: keyapis.device.v1.AddRfidsSuccessTask
	(*AddRfidsFailTask)(nil),                             // 24: keyapis.device.v1.AddRfidsFailTask
	(*AddCodesSuccessTask)(nil),                          // 25: keyapis.device.v1.AddCodesSuccessTask
	(*AddCodesFailTask)(nil),                             // 26: keyapis.device.v1.AddCodesFailTask
	(*DeleteSl3RfidsTask)(nil),                           // 27: keyapis.device.v1.DeleteSl3RfidsTask
	(*DeleteRfidsTask)(nil),                              // 28: keyapis.device.v1.DeleteRfidsTask
	(*DeleteCodesTask)(nil),                              // 29: keyapis.device.v1.DeleteCodesTask
	(*DeleteRfidsSuccessTask)(nil),                       // 30: keyapis.device.v1.DeleteRfidsSuccessTask
	(*DeleteRfidsFailTask)(nil),                          // 31: keyapis.device.v1.DeleteRfidsFailTask
	(*DeleteCodesSuccessTask)(nil),                       // 32: keyapis.device.v1.DeleteCodesSuccessTask
	(*DeleteCodesFailTask)(nil),                          // 33: keyapis.device.v1.DeleteCodesFailTask
	(*OpenAccessPointTask)(nil),                          // 34: keyapis.device.v1.OpenAccessPointTask
	(*OpenTask)(nil),                                     // 35: keyapis.device.v1.OpenTask
	(*DeleteSipAccountTask)(nil),                         // 36: keyapis.device.v1.DeleteSipAccountTask
	(*CreateDeviceAccessTask)(nil),                       // 37: keyapis.device.v1.CreateDeviceAccessTask
	(*DeleteDeviceAccessTask)(nil),                       // 38: keyapis.device.v1.DeleteDeviceAccessTask
	(*ConfigureDeviceTask_SipAccount)(nil),               // 39: keyapis.device.v1.ConfigureDeviceTask.SipAccount
	(*ConfigureDeviceTask_Gate)(nil),                     // 40: keyapis.device.v1.ConfigureDeviceTask.Gate
	(*ConfigureDeviceTask_EncryptionProfile)(nil),        // 41: keyapis.device.v1.ConfigureDeviceTask.EncryptionProfile
	(*ConfigureDeviceTask_Sl3)(nil),                      // 42: keyapis.device.v1.ConfigureDeviceTask.Sl3
	(*ConfigureDeviceTask_Gate_RelaySettings)(nil),       // 43: keyapis.device.v1.ConfigureDeviceTask.Gate.RelaySettings
	(*ConfigureDeviceTask_Gate_RoomRange)(nil),           // 44: keyapis.device.v1.ConfigureDeviceTask.Gate.RoomRange
	(*EmergencyCallSettings_EmergencyCallParameter)(nil), // 45: keyapis.device.v1.EmergencyCallSettings.EmergencyCallParameter
	(*ConfigureDeviceResultTask_Settings)(nil),           // 46: keyapis.device.v1.ConfigureDeviceResultTask.Settings
	(*ConfigureDeviceResultTask_Settings_State)(nil),     // 47: keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	(*ConfigureDeviceResultTask_Settings_Rfids)(nil),     // 48: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids
	(*ConfigureDeviceResultTask_Settings_Codes)(nil),     // 49: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes
	(*ConfigureDeviceResultTask_Settings_SipRooms)(nil),  // 50: keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms
	(*ControlDeviceTask_FaceRecognition)(nil),            // 51: keyapis.device.v1.ControlDeviceTask.FaceRecognition
	(*ControlDeviceTask_Concierge)(nil),                  // 52: keyapis.device.v1.ControlDeviceTask.Concierge
	(*ControlDeviceTask_Autocollect)(nil),                // 53: keyapis.device.v1.ControlDeviceTask.Autocollect
	(*ControlDeviceResultTask_Settings)(nil),             // 54: keyapis.device.v1.ControlDeviceResultTask.Settings
	(*BlockCmsPhonesTask_CmsPhone)(nil),                  // 55: keyapis.device.v1.BlockCmsPhonesTask.CmsPhone
	(*ActivateCmsPhonesTask_CmsPhone)(nil),               // 56: keyapis.device.v1.ActivateCmsPhonesTask.CmsPhone
	(*AddSl3RfidsTask_Sl3Rfid)(nil),                      // 57: keyapis.device.v1.AddSl3RfidsTask.Sl3Rfid
	(*DeleteSl3RfidsTask_Sl3Rfid)(nil),                   // 58: keyapis.device.v1.DeleteSl3RfidsTask.Sl3Rfid
	(*Preset)(nil),                                       // 59: keyapis.device.v1.Preset
	(*timestamppb.Timestamp)(nil),                        // 60: google.protobuf.Timestamp
	(*wrapperspb.StringValue)(nil),                       // 61: google.protobuf.StringValue
	(*wrapperspb.BoolValue)(nil),                         // 62: google.protobuf.BoolValue
	(*wrapperspb.Int32Value)(nil),                        // 63: google.protobuf.Int32Value
	(DeviceAccess_AccessorType)(0),                       // 64: keyapis.device.v1.DeviceAccess.AccessorType
}
var file_keyapis_device_v1_keyapis_device_events_v1_proto_depIdxs = []int32{
	59, // 0: keyapis.device.v1.ConfigureDeviceTask.preset:type_name -> keyapis.device.v1.Preset
	39, // 1: keyapis.device.v1.ConfigureDeviceTask.sip_account:type_name -> keyapis.device.v1.ConfigureDeviceTask.SipAccount
	14, // 2: keyapis.device.v1.ConfigureDeviceTask.sip_rooms:type_name -> keyapis.device.v1.SipRoom
	40, // 3: keyapis.device.v1.ConfigureDeviceTask.gate:type_name -> keyapis.device.v1.ConfigureDeviceTask.Gate
	16, // 4: keyapis.device.v1.ConfigureDeviceTask.rfids:type_name -> keyapis.device.v1.Rfid
	17, // 5: keyapis.device.v1.ConfigureDeviceTask.codes:type_name -> keyapis.device.v1.Code
	42, // 6: keyapis.device.v1.ConfigureDeviceTask.sl3:type_name -> keyapis.device.v1.ConfigureDeviceTask.Sl3
	2,  // 7: keyapis.device.v1.ConfigureDeviceTask.emergency_call_settings:type_name -> keyapis.device.v1.EmergencyCallSettings
	45, // 8: keyapis.device.v1.EmergencyCallSettings.emergency_call_parameter:type_name -> keyapis.device.v1.EmergencyCallSettings.EmergencyCallParameter
	60, // 9: keyapis.device.v1.ConfigureDeviceResultTask.configured_at:type_name -> google.protobuf.Timestamp
	46, // 10: keyapis.device.v1.ConfigureDeviceResultTask.settings:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings
	51, // 11: keyapis.device.v1.ControlDeviceTask.face_recognition:type_name -> keyapis.device.v1.ControlDeviceTask.FaceRecognition
	59, // 12: keyapis.device.v1.ControlDeviceTask.preset:type_name -> keyapis.device.v1.Preset
	61, // 13: keyapis.device.v1.ControlDeviceTask.ntp_timezone:type_name -> google.protobuf.StringValue
	39, // 14: keyapis.device.v1.ControlDeviceTask.sip_account:type_name -> keyapis.device.v1.ConfigureDeviceTask.SipAccount
	40, // 15: keyapis.device.v1.ControlDeviceTask.gate:type_name -> keyapis.device.v1.ConfigureDeviceTask.Gate
	52, // 16: keyapis.device.v1.ControlDeviceTask.concierge:type_name -> keyapis.device.v1.ControlDeviceTask.Concierge
	53, // 17: keyapis.device.v1.ControlDeviceTask.autocollect:type_name -> keyapis.device.v1.ControlDeviceTask.Autocollect
	42, // 18: keyapis.device.v1.ControlDeviceTask.sl3:type_name -> keyapis.device.v1.ConfigureDeviceTask.Sl3
	2,  // 19: keyapis.device.v1.ControlDeviceTask.emergency_call_settings:type_name -> keyapis.device.v1.EmergencyCallSettings
	60, // 20: keyapis.device.v1.ControlDeviceResultTask.configured_at:type_name -> google.protobuf.Timestamp
	54, // 21: keyapis.device.v1.ControlDeviceResultTask.settings:type_name -> keyapis.device.v1.ControlDeviceResultTask.Settings
	55, // 22: keyapis.device.v1.BlockCmsPhonesTask.cms_phones:type_name -> keyapis.device.v1.BlockCmsPhonesTask.CmsPhone
	60, // 23: keyapis.device.v1.BlockCmsPhoneSuccessTask.blocked_at:type_name -> google.protobuf.Timestamp
	60, // 24: keyapis.device.v1.BlockCmsPhoneFailTask.occured_at:type_name -> google.protobuf.Timestamp
	56, // 25: keyapis.device.v1.ActivateCmsPhonesTask.cms_phones:type_name -> keyapis.device.v1.ActivateCmsPhonesTask.CmsPhone
	60, // 26: keyapis.device.v1.ActivateCmsPhoneSuccessTask.activated_at:type_name -> google.protobuf.Timestamp
	60, // 27: keyapis.device.v1.ActivateCmsPhoneFailTask.occured_at:type_name -> google.protobuf.Timestamp
	57, // 28: keyapis.device.v1.AddSl3RfidsTask.sl3_rfids:type_name -> keyapis.device.v1.AddSl3RfidsTask.Sl3Rfid
	16, // 29: keyapis.device.v1.AddRfidsTask.rfids:type_name -> keyapis.device.v1.Rfid
	17, // 30: keyapis.device.v1.AddCodesTask.codes:type_name -> keyapis.device.v1.Code
	16, // 31: keyapis.device.v1.AddRfidsSuccessTask.rfids:type_name -> keyapis.device.v1.Rfid
	18, // 32: keyapis.device.v1.AddRfidsFailTask.rfid_errors:type_name -> keyapis.device.v1.RfidError
	17, // 33: keyapis.device.v1.AddCodesSuccessTask.codes:type_name -> keyapis.device.v1.Code
	19, // 34: keyapis.device.v1.AddCodesFailTask.code_errors:type_name -> keyapis.device.v1.CodeError
	58, // 35: keyapis.device.v1.DeleteSl3RfidsTask.sl3_rfids:type_name -> keyapis.device.v1.DeleteSl3RfidsTask.Sl3Rfid
	62, // 36: keyapis.device.v1.DeleteSl3RfidsTask.is_answer_unnecessary:type_name -> google.protobuf.BoolValue
	16, // 37: keyapis.device.v1.DeleteRfidsTask.rfids:type_name -> keyapis.device.v1.Rfid
	62, // 38: keyapis.device.v1.DeleteRfidsTask.is_answer_unnecessary:type_name -> google.protobuf.BoolValue
	17, // 39: keyapis.device.v1.DeleteCodesTask.codes:type_name -> keyapis.device.v1.Code
	62, // 40: keyapis.device.v1.DeleteCodesTask.is_answer_unnecessary:type_name -> google.protobuf.BoolValue
	16, // 41: keyapis.device.v1.DeleteRfidsSuccessTask.rfids:type_name -> keyapis.device.v1.Rfid
	18, // 42: keyapis.device.v1.DeleteRfidsFailTask.rfid_errors:type_name -> keyapis.device.v1.RfidError
	17, // 43: keyapis.device.v1.DeleteCodesSuccessTask.codes:type_name -> keyapis.device.v1.Code
	19, // 44: keyapis.device.v1.DeleteCodesFailTask.code_errors:type_name -> keyapis.device.v1.CodeError
	63, // 45: keyapis.device.v1.OpenAccessPointTask.relay_index:type_name -> google.protobuf.Int32Value
	63, // 46: keyapis.device.v1.OpenAccessPointTask.delay:type_name -> google.protobuf.Int32Value
	61, // 47: keyapis.device.v1.OpenAccessPointTask.car_number:type_name -> google.protobuf.StringValue
	61, // 48: keyapis.device.v1.OpenAccessPointTask.vehicle:type_name -> google.protobuf.StringValue
	61, // 49: keyapis.device.v1.OpenAccessPointTask.courier_company_name:type_name -> google.protobuf.StringValue
	61, // 50: keyapis.device.v1.OpenAccessPointTask.order_number:type_name -> google.protobuf.StringValue
	61, // 51: keyapis.device.v1.OpenAccessPointTask.courier_id:type_name -> google.protobuf.StringValue
	63, // 52: keyapis.device.v1.OpenTask.relay_index:type_name -> google.protobuf.Int32Value
	63, // 53: keyapis.device.v1.OpenTask.delay:type_name -> google.protobuf.Int32Value
	60, // 54: keyapis.device.v1.DeleteSipAccountTask.deleted_at:type_name -> google.protobuf.Timestamp
	64, // 55: keyapis.device.v1.CreateDeviceAccessTask.device_access_accessor_type:type_name -> keyapis.device.v1.DeviceAccess.AccessorType
	64, // 56: keyapis.device.v1.DeleteDeviceAccessTask.device_access_accessor_type:type_name -> keyapis.device.v1.DeviceAccess.AccessorType
	43, // 57: keyapis.device.v1.ConfigureDeviceTask.Gate.relay_settings:type_name -> keyapis.device.v1.ConfigureDeviceTask.Gate.RelaySettings
	44, // 58: keyapis.device.v1.ConfigureDeviceTask.Gate.room_ranges:type_name -> keyapis.device.v1.ConfigureDeviceTask.Gate.RoomRange
	41, // 59: keyapis.device.v1.ConfigureDeviceTask.Sl3.encryption_profile:type_name -> keyapis.device.v1.ConfigureDeviceTask.EncryptionProfile
	47, // 60: keyapis.device.v1.ConfigureDeviceResultTask.Settings.preset:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 61: keyapis.device.v1.ConfigureDeviceResultTask.Settings.sip_account:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	50, // 62: keyapis.device.v1.ConfigureDeviceResultTask.Settings.sip_rooms:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms
	47, // 63: keyapis.device.v1.ConfigureDeviceResultTask.Settings.gate:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	48, // 64: keyapis.device.v1.ConfigureDeviceResultTask.Settings.rfids:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids
	49, // 65: keyapis.device.v1.ConfigureDeviceResultTask.Settings.codes:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes
	47, // 66: keyapis.device.v1.ConfigureDeviceResultTask.Settings.sl3:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 67: keyapis.device.v1.ConfigureDeviceResultTask.Settings.emergency_call_settings:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	0,  // 68: keyapis.device.v1.ConfigureDeviceResultTask.Settings.State.status_type:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.StatusType
	0,  // 69: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids.status_type:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.StatusType
	16, // 70: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids.loaded_rfids:type_name -> keyapis.device.v1.Rfid
	18, // 71: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Rfids.unloaded_rfids:type_name -> keyapis.device.v1.RfidError
	0,  // 72: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes.status_type:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.StatusType
	17, // 73: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes.loaded_codes:type_name -> keyapis.device.v1.Code
	19, // 74: keyapis.device.v1.ConfigureDeviceResultTask.Settings.Codes.unloaded_codes:type_name -> keyapis.device.v1.CodeError
	0,  // 75: keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms.status_type:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.StatusType
	14, // 76: keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms.loaded_sip_rooms:type_name -> keyapis.device.v1.SipRoom
	15, // 77: keyapis.device.v1.ConfigureDeviceResultTask.Settings.SipRooms.unloaded_sip_rooms:type_name -> keyapis.device.v1.SipRoomError
	47, // 78: keyapis.device.v1.ControlDeviceResultTask.Settings.face_recognition:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 79: keyapis.device.v1.ControlDeviceResultTask.Settings.preset:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 80: keyapis.device.v1.ControlDeviceResultTask.Settings.sip_account:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 81: keyapis.device.v1.ControlDeviceResultTask.Settings.gate:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 82: keyapis.device.v1.ControlDeviceResultTask.Settings.autocollect:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 83: keyapis.device.v1.ControlDeviceResultTask.Settings.concierge:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 84: keyapis.device.v1.ControlDeviceResultTask.Settings.sl3:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	47, // 85: keyapis.device.v1.ControlDeviceResultTask.Settings.emergency_call_settings:type_name -> keyapis.device.v1.ConfigureDeviceResultTask.Settings.State
	86, // [86:86] is the sub-list for method output_type
	86, // [86:86] is the sub-list for method input_type
	86, // [86:86] is the sub-list for extension type_name
	86, // [86:86] is the sub-list for extension extendee
	0,  // [0:86] is the sub-list for field type_name
}

func init() { file_keyapis_device_v1_keyapis_device_events_v1_proto_init() }
func file_keyapis_device_v1_keyapis_device_events_v1_proto_init() {
	if File_keyapis_device_v1_keyapis_device_events_v1_proto != nil {
		return
	}
	file_keyapis_device_v1_keyapis_device_device_v1_proto_init()
	file_keyapis_device_v1_keyapis_device_access_v1_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmergencyCallSettings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CmsServiceAvailableTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceResultTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BlockCmsPhonesTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BlockCmsPhoneSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BlockCmsPhoneFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateCmsPhonesTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateCmsPhoneSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateCmsPhoneFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CmsAvailableTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SipRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SipRoomError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Code); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RfidError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CodeError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddSl3RfidsTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddRfidsTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddCodesTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddRfidsSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddRfidsFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddCodesSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddCodesFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteSl3RfidsTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidsTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteCodesTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidsSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidsFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteCodesSuccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteCodesFailTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OpenAccessPointTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OpenTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteSipAccountTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDeviceAccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDeviceAccessTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_SipAccount); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_Gate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_EncryptionProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_Sl3); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_Gate_RelaySettings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceTask_Gate_RoomRange); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmergencyCallSettings_EmergencyCallParameter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask_Settings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask_Settings_State); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask_Settings_Rfids); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask_Settings_Codes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureDeviceResultTask_Settings_SipRooms); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceTask_FaceRecognition); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceTask_Concierge); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceTask_Autocollect); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ControlDeviceResultTask_Settings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BlockCmsPhonesTask_CmsPhone); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateCmsPhonesTask_CmsPhone); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddSl3RfidsTask_Sl3Rfid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteSl3RfidsTask_Sl3Rfid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   58,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_keyapis_device_v1_keyapis_device_events_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_device_v1_keyapis_device_events_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_device_v1_keyapis_device_events_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_device_v1_keyapis_device_events_v1_proto_msgTypes,
	}.Build()
	File_keyapis_device_v1_keyapis_device_events_v1_proto = out.File
	file_keyapis_device_v1_keyapis_device_events_v1_proto_rawDesc = nil
	file_keyapis_device_v1_keyapis_device_events_v1_proto_goTypes = nil
	file_keyapis_device_v1_keyapis_device_events_v1_proto_depIdxs = nil
}
