// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v3.21.7
// source: pkg/kascfg/kascfg.proto

package kascfg

import (
	reflect "reflect"
	sync "sync"

	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
)

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

type LogLevelEnum int32

const (
	LogLevelEnum_info  LogLevelEnum = 0
	LogLevelEnum_debug LogLevelEnum = 1
	LogLevelEnum_warn  LogLevelEnum = 2
	LogLevelEnum_error LogLevelEnum = 3
)

// Enum value maps for LogLevelEnum.
var (
	LogLevelEnum_name = map[int32]string{
		0: "info",
		1: "debug",
		2: "warn",
		3: "error",
	}
	LogLevelEnum_value = map[string]int32{
		"info":  0,
		"debug": 1,
		"warn":  2,
		"error": 3,
	}
)

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

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

func (LogLevelEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_pkg_kascfg_kascfg_proto_enumTypes[0].Descriptor()
}

func (LogLevelEnum) Type() protoreflect.EnumType {
	return &file_pkg_kascfg_kascfg_proto_enumTypes[0]
}

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

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

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

	Network                      *string              `protobuf:"bytes,1,opt,name=network,proto3,oneof" json:"network,omitempty"`
	Address                      string               `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	Websocket                    bool                 `protobuf:"varint,3,opt,name=websocket,proto3" json:"websocket,omitempty"`
	CertificateFile              string               `protobuf:"bytes,4,opt,name=certificate_file,proto3" json:"certificate_file,omitempty"`
	KeyFile                      string               `protobuf:"bytes,5,opt,name=key_file,proto3" json:"key_file,omitempty"`
	ConnectionsPerTokenPerMinute uint32               `protobuf:"varint,6,opt,name=connections_per_token_per_minute,proto3" json:"connections_per_token_per_minute,omitempty"`
	MaxConnectionAge             *durationpb.Duration `protobuf:"bytes,7,opt,name=max_connection_age,proto3" json:"max_connection_age,omitempty"`
	ListenGracePeriod            *durationpb.Duration `protobuf:"bytes,8,opt,name=listen_grace_period,proto3" json:"listen_grace_period,omitempty"`
}

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

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

func (*ListenAgentCF) ProtoMessage() {}

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

func (x *ListenAgentCF) GetNetwork() string {
	if x != nil && x.Network != nil {
		return *x.Network
	}
	return ""
}

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

func (x *ListenAgentCF) GetWebsocket() bool {
	if x != nil {
		return x.Websocket
	}
	return false
}

func (x *ListenAgentCF) GetCertificateFile() string {
	if x != nil {
		return x.CertificateFile
	}
	return ""
}

func (x *ListenAgentCF) GetKeyFile() string {
	if x != nil {
		return x.KeyFile
	}
	return ""
}

func (x *ListenAgentCF) GetConnectionsPerTokenPerMinute() uint32 {
	if x != nil {
		return x.ConnectionsPerTokenPerMinute
	}
	return 0
}

func (x *ListenAgentCF) GetMaxConnectionAge() *durationpb.Duration {
	if x != nil {
		return x.MaxConnectionAge
	}
	return nil
}

func (x *ListenAgentCF) GetListenGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.ListenGracePeriod
	}
	return nil
}

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

	UrlPath string `protobuf:"bytes,1,opt,name=url_path,proto3" json:"url_path,omitempty"`
}

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

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

func (*PrometheusCF) ProtoMessage() {}

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

func (x *PrometheusCF) GetUrlPath() string {
	if x != nil {
		return x.UrlPath
	}
	return ""
}

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

	Network         *string `protobuf:"bytes,1,opt,name=network,proto3,oneof" json:"network,omitempty"`
	Address         string  `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	CertificateFile *string `protobuf:"bytes,3,opt,name=certificate_file,proto3,oneof" json:"certificate_file,omitempty"`
	KeyFile         *string `protobuf:"bytes,4,opt,name=key_file,proto3,oneof" json:"key_file,omitempty"`
}

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

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

func (*ObservabilityListenCF) ProtoMessage() {}

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

func (x *ObservabilityListenCF) GetNetwork() string {
	if x != nil && x.Network != nil {
		return *x.Network
	}
	return ""
}

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

func (x *ObservabilityListenCF) GetCertificateFile() string {
	if x != nil && x.CertificateFile != nil {
		return *x.CertificateFile
	}
	return ""
}

func (x *ObservabilityListenCF) GetKeyFile() string {
	if x != nil && x.KeyFile != nil {
		return *x.KeyFile
	}
	return ""
}

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

	OtlpEndpoint          string  `protobuf:"bytes,2,opt,name=otlp_endpoint,proto3" json:"otlp_endpoint,omitempty"`
	OtlpTokenSecretFile   *string `protobuf:"bytes,3,opt,name=otlp_token_secret_file,proto3,oneof" json:"otlp_token_secret_file,omitempty"`
	OtlpCaCertificateFile *string `protobuf:"bytes,4,opt,name=otlp_ca_certificate_file,proto3,oneof" json:"otlp_ca_certificate_file,omitempty"`
}

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

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

func (*TracingCF) ProtoMessage() {}

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

func (x *TracingCF) GetOtlpEndpoint() string {
	if x != nil {
		return x.OtlpEndpoint
	}
	return ""
}

func (x *TracingCF) GetOtlpTokenSecretFile() string {
	if x != nil && x.OtlpTokenSecretFile != nil {
		return *x.OtlpTokenSecretFile
	}
	return ""
}

func (x *TracingCF) GetOtlpCaCertificateFile() string {
	if x != nil && x.OtlpCaCertificateFile != nil {
		return *x.OtlpCaCertificateFile
	}
	return ""
}

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

	Level     LogLevelEnum  `protobuf:"varint,1,opt,name=level,proto3,enum=gitlab.agent.kascfg.LogLevelEnum" json:"level,omitempty"`
	GrpcLevel *LogLevelEnum `protobuf:"varint,2,opt,name=grpc_level,proto3,enum=gitlab.agent.kascfg.LogLevelEnum,oneof" json:"grpc_level,omitempty"`
}

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

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

func (*LoggingCF) ProtoMessage() {}

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

func (x *LoggingCF) GetLevel() LogLevelEnum {
	if x != nil {
		return x.Level
	}
	return LogLevelEnum_info
}

func (x *LoggingCF) GetGrpcLevel() LogLevelEnum {
	if x != nil && x.GrpcLevel != nil {
		return *x.GrpcLevel
	}
	return LogLevelEnum_info
}

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

	Address                  string                  `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	ExternalUrl              *string                 `protobuf:"bytes,5,opt,name=external_url,proto3,oneof" json:"external_url,omitempty"`
	AuthenticationSecretFile string                  `protobuf:"bytes,2,opt,name=authentication_secret_file,proto3" json:"authentication_secret_file,omitempty"`
	CaCertificateFile        string                  `protobuf:"bytes,3,opt,name=ca_certificate_file,proto3" json:"ca_certificate_file,omitempty"`
	ApiRateLimit             *TokenBucketRateLimitCF `protobuf:"bytes,4,opt,name=api_rate_limit,proto3" json:"api_rate_limit,omitempty"`
}

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

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

func (*GitLabCF) ProtoMessage() {}

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

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

func (x *GitLabCF) GetExternalUrl() string {
	if x != nil && x.ExternalUrl != nil {
		return *x.ExternalUrl
	}
	return ""
}

func (x *GitLabCF) GetAuthenticationSecretFile() string {
	if x != nil {
		return x.AuthenticationSecretFile
	}
	return ""
}

func (x *GitLabCF) GetCaCertificateFile() string {
	if x != nil {
		return x.CaCertificateFile
	}
	return ""
}

func (x *GitLabCF) GetApiRateLimit() *TokenBucketRateLimitCF {
	if x != nil {
		return x.ApiRateLimit
	}
	return nil
}

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

	PollPeriod               *durationpb.Duration `protobuf:"bytes,1,opt,name=poll_period,proto3" json:"poll_period,omitempty"`
	ProjectInfoCacheTtl      *durationpb.Duration `protobuf:"bytes,2,opt,name=project_info_cache_ttl,proto3" json:"project_info_cache_ttl,omitempty"`
	ProjectInfoCacheErrorTtl *durationpb.Duration `protobuf:"bytes,3,opt,name=project_info_cache_error_ttl,proto3" json:"project_info_cache_error_ttl,omitempty"`
	MaxManifestFileSize      uint32               `protobuf:"varint,4,opt,name=max_manifest_file_size,proto3" json:"max_manifest_file_size,omitempty"`
	MaxTotalManifestFileSize uint32               `protobuf:"varint,5,opt,name=max_total_manifest_file_size,proto3" json:"max_total_manifest_file_size,omitempty"`
	MaxNumberOfPaths         uint32               `protobuf:"varint,6,opt,name=max_number_of_paths,proto3" json:"max_number_of_paths,omitempty"`
	MaxNumberOfFiles         uint32               `protobuf:"varint,7,opt,name=max_number_of_files,proto3" json:"max_number_of_files,omitempty"`
}

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

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

func (*GitopsCF) ProtoMessage() {}

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

func (x *GitopsCF) GetPollPeriod() *durationpb.Duration {
	if x != nil {
		return x.PollPeriod
	}
	return nil
}

func (x *GitopsCF) GetProjectInfoCacheTtl() *durationpb.Duration {
	if x != nil {
		return x.ProjectInfoCacheTtl
	}
	return nil
}

func (x *GitopsCF) GetProjectInfoCacheErrorTtl() *durationpb.Duration {
	if x != nil {
		return x.ProjectInfoCacheErrorTtl
	}
	return nil
}

func (x *GitopsCF) GetMaxManifestFileSize() uint32 {
	if x != nil {
		return x.MaxManifestFileSize
	}
	return 0
}

func (x *GitopsCF) GetMaxTotalManifestFileSize() uint32 {
	if x != nil {
		return x.MaxTotalManifestFileSize
	}
	return 0
}

func (x *GitopsCF) GetMaxNumberOfPaths() uint32 {
	if x != nil {
		return x.MaxNumberOfPaths
	}
	return 0
}

func (x *GitopsCF) GetMaxNumberOfFiles() uint32 {
	if x != nil {
		return x.MaxNumberOfFiles
	}
	return 0
}

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

	PollPeriod *durationpb.Duration `protobuf:"bytes,1,opt,name=poll_period,proto3" json:"poll_period,omitempty"`
}

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

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

func (*RemoteDevelopmentCF) ProtoMessage() {}

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

func (x *RemoteDevelopmentCF) GetPollPeriod() *durationpb.Duration {
	if x != nil {
		return x.PollPeriod
	}
	return nil
}

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

	Dsn         string `protobuf:"bytes,1,opt,name=dsn,proto3" json:"dsn,omitempty"`
	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
}

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

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

func (*SentryCF) ProtoMessage() {}

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

func (x *SentryCF) GetDsn() string {
	if x != nil {
		return x.Dsn
	}
	return ""
}

func (x *SentryCF) GetEnvironment() string {
	if x != nil {
		return x.Environment
	}
	return ""
}

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

	Network             *string              `protobuf:"bytes,1,opt,name=network,proto3,oneof" json:"network,omitempty"`
	Address             string               `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	CertificateFile     string               `protobuf:"bytes,3,opt,name=certificate_file,proto3" json:"certificate_file,omitempty"`
	KeyFile             string               `protobuf:"bytes,4,opt,name=key_file,proto3" json:"key_file,omitempty"`
	ListenGracePeriod   *durationpb.Duration `protobuf:"bytes,5,opt,name=listen_grace_period,proto3" json:"listen_grace_period,omitempty"`
	ShutdownGracePeriod *durationpb.Duration `protobuf:"bytes,6,opt,name=shutdown_grace_period,proto3" json:"shutdown_grace_period,omitempty"`
}

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

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

func (*ListenKubernetesApiCF) ProtoMessage() {}

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

func (x *ListenKubernetesApiCF) GetNetwork() string {
	if x != nil && x.Network != nil {
		return *x.Network
	}
	return ""
}

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

func (x *ListenKubernetesApiCF) GetCertificateFile() string {
	if x != nil {
		return x.CertificateFile
	}
	return ""
}

func (x *ListenKubernetesApiCF) GetKeyFile() string {
	if x != nil {
		return x.KeyFile
	}
	return ""
}

func (x *ListenKubernetesApiCF) GetListenGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.ListenGracePeriod
	}
	return nil
}

func (x *ListenKubernetesApiCF) GetShutdownGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.ShutdownGracePeriod
	}
	return nil
}

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

	Listen                    *ListenKubernetesApiCF `protobuf:"bytes,1,opt,name=listen,proto3" json:"listen,omitempty"`
	UrlPathPrefix             string                 `protobuf:"bytes,2,opt,name=url_path_prefix,proto3" json:"url_path_prefix,omitempty"`
	AllowedAgentCacheTtl      *durationpb.Duration   `protobuf:"bytes,3,opt,name=allowed_agent_cache_ttl,proto3" json:"allowed_agent_cache_ttl,omitempty"`
	AllowedAgentCacheErrorTtl *durationpb.Duration   `protobuf:"bytes,4,opt,name=allowed_agent_cache_error_ttl,proto3" json:"allowed_agent_cache_error_ttl,omitempty"`
}

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

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

func (*KubernetesApiCF) ProtoMessage() {}

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

func (x *KubernetesApiCF) GetListen() *ListenKubernetesApiCF {
	if x != nil {
		return x.Listen
	}
	return nil
}

func (x *KubernetesApiCF) GetUrlPathPrefix() string {
	if x != nil {
		return x.UrlPathPrefix
	}
	return ""
}

func (x *KubernetesApiCF) GetAllowedAgentCacheTtl() *durationpb.Duration {
	if x != nil {
		return x.AllowedAgentCacheTtl
	}
	return nil
}

func (x *KubernetesApiCF) GetAllowedAgentCacheErrorTtl() *durationpb.Duration {
	if x != nil {
		return x.AllowedAgentCacheErrorTtl
	}
	return nil
}

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

	Listen               *ListenAgentCF        `protobuf:"bytes,1,opt,name=listen,proto3" json:"listen,omitempty"`
	Configuration        *AgentConfigurationCF `protobuf:"bytes,2,opt,name=configuration,proto3" json:"configuration,omitempty"`
	Gitops               *GitopsCF             `protobuf:"bytes,3,opt,name=gitops,proto3" json:"gitops,omitempty"`
	InfoCacheTtl         *durationpb.Duration  `protobuf:"bytes,4,opt,name=info_cache_ttl,proto3" json:"info_cache_ttl,omitempty"`
	InfoCacheErrorTtl    *durationpb.Duration  `protobuf:"bytes,5,opt,name=info_cache_error_ttl,proto3" json:"info_cache_error_ttl,omitempty"`
	RedisConnInfoTtl     *durationpb.Duration  `protobuf:"bytes,7,opt,name=redis_conn_info_ttl,proto3" json:"redis_conn_info_ttl,omitempty"`
	RedisConnInfoRefresh *durationpb.Duration  `protobuf:"bytes,8,opt,name=redis_conn_info_refresh,proto3" json:"redis_conn_info_refresh,omitempty"`
	RedisConnInfoGc      *durationpb.Duration  `protobuf:"bytes,9,opt,name=redis_conn_info_gc,proto3" json:"redis_conn_info_gc,omitempty"`
	KubernetesApi        *KubernetesApiCF      `protobuf:"bytes,10,opt,name=kubernetes_api,proto3" json:"kubernetes_api,omitempty"`
	RemoteDevelopment    *RemoteDevelopmentCF  `protobuf:"bytes,11,opt,name=remote_development,proto3" json:"remote_development,omitempty"`
}

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

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

func (*AgentCF) ProtoMessage() {}

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

func (x *AgentCF) GetListen() *ListenAgentCF {
	if x != nil {
		return x.Listen
	}
	return nil
}

func (x *AgentCF) GetConfiguration() *AgentConfigurationCF {
	if x != nil {
		return x.Configuration
	}
	return nil
}

func (x *AgentCF) GetGitops() *GitopsCF {
	if x != nil {
		return x.Gitops
	}
	return nil
}

func (x *AgentCF) GetInfoCacheTtl() *durationpb.Duration {
	if x != nil {
		return x.InfoCacheTtl
	}
	return nil
}

func (x *AgentCF) GetInfoCacheErrorTtl() *durationpb.Duration {
	if x != nil {
		return x.InfoCacheErrorTtl
	}
	return nil
}

func (x *AgentCF) GetRedisConnInfoTtl() *durationpb.Duration {
	if x != nil {
		return x.RedisConnInfoTtl
	}
	return nil
}

func (x *AgentCF) GetRedisConnInfoRefresh() *durationpb.Duration {
	if x != nil {
		return x.RedisConnInfoRefresh
	}
	return nil
}

func (x *AgentCF) GetRedisConnInfoGc() *durationpb.Duration {
	if x != nil {
		return x.RedisConnInfoGc
	}
	return nil
}

func (x *AgentCF) GetKubernetesApi() *KubernetesApiCF {
	if x != nil {
		return x.KubernetesApi
	}
	return nil
}

func (x *AgentCF) GetRemoteDevelopment() *RemoteDevelopmentCF {
	if x != nil {
		return x.RemoteDevelopment
	}
	return nil
}

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

	PollPeriod               *durationpb.Duration `protobuf:"bytes,1,opt,name=poll_period,proto3" json:"poll_period,omitempty"`
	MaxConfigurationFileSize uint32               `protobuf:"varint,2,opt,name=max_configuration_file_size,proto3" json:"max_configuration_file_size,omitempty"`
}

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

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

func (*AgentConfigurationCF) ProtoMessage() {}

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

func (x *AgentConfigurationCF) GetPollPeriod() *durationpb.Duration {
	if x != nil {
		return x.PollPeriod
	}
	return nil
}

func (x *AgentConfigurationCF) GetMaxConfigurationFileSize() uint32 {
	if x != nil {
		return x.MaxConfigurationFileSize
	}
	return 0
}

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

	Enabled         bool   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ProjectId       string `protobuf:"bytes,2,opt,name=project_id,proto3" json:"project_id,omitempty"`
	CredentialsFile string `protobuf:"bytes,3,opt,name=credentials_file,proto3" json:"credentials_file,omitempty"`
	DebugLogging    bool   `protobuf:"varint,4,opt,name=debug_logging,proto3" json:"debug_logging,omitempty"`
}

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

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

func (*GoogleProfilerCF) ProtoMessage() {}

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

func (x *GoogleProfilerCF) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *GoogleProfilerCF) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GoogleProfilerCF) GetCredentialsFile() string {
	if x != nil {
		return x.CredentialsFile
	}
	return ""
}

func (x *GoogleProfilerCF) GetDebugLogging() bool {
	if x != nil {
		return x.DebugLogging
	}
	return false
}

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

	UrlPath string `protobuf:"bytes,1,opt,name=url_path,proto3" json:"url_path,omitempty"`
}

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

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

func (*LivenessProbeCF) ProtoMessage() {}

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

func (x *LivenessProbeCF) GetUrlPath() string {
	if x != nil {
		return x.UrlPath
	}
	return ""
}

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

	UrlPath string `protobuf:"bytes,1,opt,name=url_path,proto3" json:"url_path,omitempty"`
}

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

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

func (*ReadinessProbeCF) ProtoMessage() {}

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

func (x *ReadinessProbeCF) GetUrlPath() string {
	if x != nil {
		return x.UrlPath
	}
	return ""
}

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

	UsageReportingPeriod *durationpb.Duration   `protobuf:"bytes,1,opt,name=usage_reporting_period,proto3" json:"usage_reporting_period,omitempty"`
	Listen               *ObservabilityListenCF `protobuf:"bytes,2,opt,name=listen,proto3" json:"listen,omitempty"`
	Prometheus           *PrometheusCF          `protobuf:"bytes,3,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	Tracing              *TracingCF             `protobuf:"bytes,4,opt,name=tracing,proto3" json:"tracing,omitempty"`
	Sentry               *SentryCF              `protobuf:"bytes,5,opt,name=sentry,proto3" json:"sentry,omitempty"`
	Logging              *LoggingCF             `protobuf:"bytes,6,opt,name=logging,proto3" json:"logging,omitempty"`
	GoogleProfiler       *GoogleProfilerCF      `protobuf:"bytes,7,opt,name=google_profiler,proto3" json:"google_profiler,omitempty"`
	LivenessProbe        *LivenessProbeCF       `protobuf:"bytes,8,opt,name=liveness_probe,proto3" json:"liveness_probe,omitempty"`
	ReadinessProbe       *ReadinessProbeCF      `protobuf:"bytes,9,opt,name=readiness_probe,proto3" json:"readiness_probe,omitempty"`
}

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

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

func (*ObservabilityCF) ProtoMessage() {}

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

func (x *ObservabilityCF) GetUsageReportingPeriod() *durationpb.Duration {
	if x != nil {
		return x.UsageReportingPeriod
	}
	return nil
}

func (x *ObservabilityCF) GetListen() *ObservabilityListenCF {
	if x != nil {
		return x.Listen
	}
	return nil
}

func (x *ObservabilityCF) GetPrometheus() *PrometheusCF {
	if x != nil {
		return x.Prometheus
	}
	return nil
}

func (x *ObservabilityCF) GetTracing() *TracingCF {
	if x != nil {
		return x.Tracing
	}
	return nil
}

func (x *ObservabilityCF) GetSentry() *SentryCF {
	if x != nil {
		return x.Sentry
	}
	return nil
}

func (x *ObservabilityCF) GetLogging() *LoggingCF {
	if x != nil {
		return x.Logging
	}
	return nil
}

func (x *ObservabilityCF) GetGoogleProfiler() *GoogleProfilerCF {
	if x != nil {
		return x.GoogleProfiler
	}
	return nil
}

func (x *ObservabilityCF) GetLivenessProbe() *LivenessProbeCF {
	if x != nil {
		return x.LivenessProbe
	}
	return nil
}

func (x *ObservabilityCF) GetReadinessProbe() *ReadinessProbeCF {
	if x != nil {
		return x.ReadinessProbe
	}
	return nil
}

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

	RefillRatePerSecond float64 `protobuf:"fixed64,1,opt,name=refill_rate_per_second,proto3" json:"refill_rate_per_second,omitempty"`
	BucketSize          uint32  `protobuf:"varint,2,opt,name=bucket_size,proto3" json:"bucket_size,omitempty"`
}

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

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

func (*TokenBucketRateLimitCF) ProtoMessage() {}

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

func (x *TokenBucketRateLimitCF) GetRefillRatePerSecond() float64 {
	if x != nil {
		return x.RefillRatePerSecond
	}
	return 0
}

func (x *TokenBucketRateLimitCF) GetBucketSize() uint32 {
	if x != nil {
		return x.BucketSize
	}
	return 0
}

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

	GlobalApiRateLimit    *TokenBucketRateLimitCF `protobuf:"bytes,1,opt,name=global_api_rate_limit,proto3" json:"global_api_rate_limit,omitempty"`
	PerServerApiRateLimit *TokenBucketRateLimitCF `protobuf:"bytes,2,opt,name=per_server_api_rate_limit,proto3" json:"per_server_api_rate_limit,omitempty"`
}

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

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

func (*GitalyCF) ProtoMessage() {}

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

func (x *GitalyCF) GetGlobalApiRateLimit() *TokenBucketRateLimitCF {
	if x != nil {
		return x.GlobalApiRateLimit
	}
	return nil
}

func (x *GitalyCF) GetPerServerApiRateLimit() *TokenBucketRateLimitCF {
	if x != nil {
		return x.PerServerApiRateLimit
	}
	return nil
}

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

	// Types that are assignable to RedisConfig:
	//
	//	*RedisCF_Server
	//	*RedisCF_Sentinel
	RedisConfig  isRedisCF_RedisConfig `protobuf_oneof:"redis_config"`
	PoolSize     uint32                `protobuf:"varint,4,opt,name=pool_size,proto3" json:"pool_size,omitempty"`
	DialTimeout  *durationpb.Duration  `protobuf:"bytes,5,opt,name=dial_timeout,proto3" json:"dial_timeout,omitempty"`
	ReadTimeout  *durationpb.Duration  `protobuf:"bytes,6,opt,name=read_timeout,proto3" json:"read_timeout,omitempty"`
	WriteTimeout *durationpb.Duration  `protobuf:"bytes,7,opt,name=write_timeout,proto3" json:"write_timeout,omitempty"`
	IdleTimeout  *durationpb.Duration  `protobuf:"bytes,8,opt,name=idle_timeout,proto3" json:"idle_timeout,omitempty"`
	KeyPrefix    string                `protobuf:"bytes,9,opt,name=key_prefix,proto3" json:"key_prefix,omitempty"`
	Username     string                `protobuf:"bytes,10,opt,name=username,proto3" json:"username,omitempty"`
	PasswordFile string                `protobuf:"bytes,11,opt,name=password_file,proto3" json:"password_file,omitempty"`
	Network      string                `protobuf:"bytes,12,opt,name=network,proto3" json:"network,omitempty"`
	Tls          *RedisTLSCF           `protobuf:"bytes,13,opt,name=tls,proto3" json:"tls,omitempty"`
}

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

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

func (*RedisCF) ProtoMessage() {}

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

func (m *RedisCF) GetRedisConfig() isRedisCF_RedisConfig {
	if m != nil {
		return m.RedisConfig
	}
	return nil
}

func (x *RedisCF) GetServer() *RedisServerCF {
	if x, ok := x.GetRedisConfig().(*RedisCF_Server); ok {
		return x.Server
	}
	return nil
}

func (x *RedisCF) GetSentinel() *RedisSentinelCF {
	if x, ok := x.GetRedisConfig().(*RedisCF_Sentinel); ok {
		return x.Sentinel
	}
	return nil
}

func (x *RedisCF) GetPoolSize() uint32 {
	if x != nil {
		return x.PoolSize
	}
	return 0
}

func (x *RedisCF) GetDialTimeout() *durationpb.Duration {
	if x != nil {
		return x.DialTimeout
	}
	return nil
}

func (x *RedisCF) GetReadTimeout() *durationpb.Duration {
	if x != nil {
		return x.ReadTimeout
	}
	return nil
}

func (x *RedisCF) GetWriteTimeout() *durationpb.Duration {
	if x != nil {
		return x.WriteTimeout
	}
	return nil
}

func (x *RedisCF) GetIdleTimeout() *durationpb.Duration {
	if x != nil {
		return x.IdleTimeout
	}
	return nil
}

func (x *RedisCF) GetKeyPrefix() string {
	if x != nil {
		return x.KeyPrefix
	}
	return ""
}

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

func (x *RedisCF) GetPasswordFile() string {
	if x != nil {
		return x.PasswordFile
	}
	return ""
}

func (x *RedisCF) GetNetwork() string {
	if x != nil {
		return x.Network
	}
	return ""
}

func (x *RedisCF) GetTls() *RedisTLSCF {
	if x != nil {
		return x.Tls
	}
	return nil
}

type isRedisCF_RedisConfig interface {
	isRedisCF_RedisConfig()
}

type RedisCF_Server struct {
	Server *RedisServerCF `protobuf:"bytes,1,opt,name=server,proto3,oneof"`
}

type RedisCF_Sentinel struct {
	Sentinel *RedisSentinelCF `protobuf:"bytes,2,opt,name=sentinel,proto3,oneof"`
}

func (*RedisCF_Server) isRedisCF_RedisConfig() {}

func (*RedisCF_Sentinel) isRedisCF_RedisConfig() {}

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

	Enabled           bool   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	CertificateFile   string `protobuf:"bytes,2,opt,name=certificate_file,proto3" json:"certificate_file,omitempty"`
	KeyFile           string `protobuf:"bytes,3,opt,name=key_file,proto3" json:"key_file,omitempty"`
	CaCertificateFile string `protobuf:"bytes,4,opt,name=ca_certificate_file,proto3" json:"ca_certificate_file,omitempty"`
}

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

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

func (*RedisTLSCF) ProtoMessage() {}

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

func (x *RedisTLSCF) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *RedisTLSCF) GetCertificateFile() string {
	if x != nil {
		return x.CertificateFile
	}
	return ""
}

func (x *RedisTLSCF) GetKeyFile() string {
	if x != nil {
		return x.KeyFile
	}
	return ""
}

func (x *RedisTLSCF) GetCaCertificateFile() string {
	if x != nil {
		return x.CaCertificateFile
	}
	return ""
}

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

	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

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

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

func (*RedisServerCF) ProtoMessage() {}

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

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

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

	MasterName           string   `protobuf:"bytes,1,opt,name=master_name,proto3" json:"master_name,omitempty"`
	Addresses            []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"`
	SentinelPasswordFile string   `protobuf:"bytes,3,opt,name=sentinel_password_file,proto3" json:"sentinel_password_file,omitempty"`
}

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

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

func (*RedisSentinelCF) ProtoMessage() {}

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

func (x *RedisSentinelCF) GetMasterName() string {
	if x != nil {
		return x.MasterName
	}
	return ""
}

func (x *RedisSentinelCF) GetAddresses() []string {
	if x != nil {
		return x.Addresses
	}
	return nil
}

func (x *RedisSentinelCF) GetSentinelPasswordFile() string {
	if x != nil {
		return x.SentinelPasswordFile
	}
	return ""
}

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

	Network                  *string              `protobuf:"bytes,1,opt,name=network,proto3,oneof" json:"network,omitempty"`
	Address                  string               `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	AuthenticationSecretFile string               `protobuf:"bytes,3,opt,name=authentication_secret_file,proto3" json:"authentication_secret_file,omitempty"`
	CertificateFile          string               `protobuf:"bytes,4,opt,name=certificate_file,proto3" json:"certificate_file,omitempty"`
	KeyFile                  string               `protobuf:"bytes,5,opt,name=key_file,proto3" json:"key_file,omitempty"`
	MaxConnectionAge         *durationpb.Duration `protobuf:"bytes,6,opt,name=max_connection_age,proto3" json:"max_connection_age,omitempty"`
	ListenGracePeriod        *durationpb.Duration `protobuf:"bytes,7,opt,name=listen_grace_period,proto3" json:"listen_grace_period,omitempty"`
}

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

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

func (*ListenApiCF) ProtoMessage() {}

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

func (x *ListenApiCF) GetNetwork() string {
	if x != nil && x.Network != nil {
		return *x.Network
	}
	return ""
}

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

func (x *ListenApiCF) GetAuthenticationSecretFile() string {
	if x != nil {
		return x.AuthenticationSecretFile
	}
	return ""
}

func (x *ListenApiCF) GetCertificateFile() string {
	if x != nil {
		return x.CertificateFile
	}
	return ""
}

func (x *ListenApiCF) GetKeyFile() string {
	if x != nil {
		return x.KeyFile
	}
	return ""
}

func (x *ListenApiCF) GetMaxConnectionAge() *durationpb.Duration {
	if x != nil {
		return x.MaxConnectionAge
	}
	return nil
}

func (x *ListenApiCF) GetListenGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.ListenGracePeriod
	}
	return nil
}

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

	Network                  *string              `protobuf:"bytes,1,opt,name=network,proto3,oneof" json:"network,omitempty"`
	Address                  string               `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	AuthenticationSecretFile string               `protobuf:"bytes,3,opt,name=authentication_secret_file,proto3" json:"authentication_secret_file,omitempty"`
	CertificateFile          string               `protobuf:"bytes,4,opt,name=certificate_file,proto3" json:"certificate_file,omitempty"`
	KeyFile                  string               `protobuf:"bytes,5,opt,name=key_file,proto3" json:"key_file,omitempty"`
	MaxConnectionAge         *durationpb.Duration `protobuf:"bytes,6,opt,name=max_connection_age,proto3" json:"max_connection_age,omitempty"`
	CaCertificateFile        string               `protobuf:"bytes,7,opt,name=ca_certificate_file,proto3" json:"ca_certificate_file,omitempty"`
	ListenGracePeriod        *durationpb.Duration `protobuf:"bytes,8,opt,name=listen_grace_period,proto3" json:"listen_grace_period,omitempty"`
}

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

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

func (*ListenPrivateApiCF) ProtoMessage() {}

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

func (x *ListenPrivateApiCF) GetNetwork() string {
	if x != nil && x.Network != nil {
		return *x.Network
	}
	return ""
}

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

func (x *ListenPrivateApiCF) GetAuthenticationSecretFile() string {
	if x != nil {
		return x.AuthenticationSecretFile
	}
	return ""
}

func (x *ListenPrivateApiCF) GetCertificateFile() string {
	if x != nil {
		return x.CertificateFile
	}
	return ""
}

func (x *ListenPrivateApiCF) GetKeyFile() string {
	if x != nil {
		return x.KeyFile
	}
	return ""
}

func (x *ListenPrivateApiCF) GetMaxConnectionAge() *durationpb.Duration {
	if x != nil {
		return x.MaxConnectionAge
	}
	return nil
}

func (x *ListenPrivateApiCF) GetCaCertificateFile() string {
	if x != nil {
		return x.CaCertificateFile
	}
	return ""
}

func (x *ListenPrivateApiCF) GetListenGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.ListenGracePeriod
	}
	return nil
}

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

	Listen *ListenApiCF `protobuf:"bytes,1,opt,name=listen,proto3" json:"listen,omitempty"`
}

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

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

func (*ApiCF) ProtoMessage() {}

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

func (x *ApiCF) GetListen() *ListenApiCF {
	if x != nil {
		return x.Listen
	}
	return nil
}

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

	Listen *ListenPrivateApiCF `protobuf:"bytes,1,opt,name=listen,proto3" json:"listen,omitempty"`
}

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

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

func (*PrivateApiCF) ProtoMessage() {}

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

func (x *PrivateApiCF) GetListen() *ListenPrivateApiCF {
	if x != nil {
		return x.Listen
	}
	return nil
}

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

	Gitlab        *GitLabCF        `protobuf:"bytes,1,opt,name=gitlab,proto3" json:"gitlab,omitempty"`
	Agent         *AgentCF         `protobuf:"bytes,2,opt,name=agent,proto3" json:"agent,omitempty"`
	Observability *ObservabilityCF `protobuf:"bytes,3,opt,name=observability,proto3" json:"observability,omitempty"`
	Gitaly        *GitalyCF        `protobuf:"bytes,4,opt,name=gitaly,proto3" json:"gitaly,omitempty"`
	Redis         *RedisCF         `protobuf:"bytes,5,opt,name=redis,proto3" json:"redis,omitempty"`
	Api           *ApiCF           `protobuf:"bytes,6,opt,name=api,proto3" json:"api,omitempty"`
	PrivateApi    *PrivateApiCF    `protobuf:"bytes,7,opt,name=private_api,proto3" json:"private_api,omitempty"`
}

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

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

func (*ConfigurationFile) ProtoMessage() {}

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

func (x *ConfigurationFile) GetGitlab() *GitLabCF {
	if x != nil {
		return x.Gitlab
	}
	return nil
}

func (x *ConfigurationFile) GetAgent() *AgentCF {
	if x != nil {
		return x.Agent
	}
	return nil
}

func (x *ConfigurationFile) GetObservability() *ObservabilityCF {
	if x != nil {
		return x.Observability
	}
	return nil
}

func (x *ConfigurationFile) GetGitaly() *GitalyCF {
	if x != nil {
		return x.Gitaly
	}
	return nil
}

func (x *ConfigurationFile) GetRedis() *RedisCF {
	if x != nil {
		return x.Redis
	}
	return nil
}

func (x *ConfigurationFile) GetApi() *ApiCF {
	if x != nil {
		return x.Api
	}
	return nil
}

func (x *ConfigurationFile) GetPrivateApi() *PrivateApiCF {
	if x != nil {
		return x.PrivateApi
	}
	return nil
}

var File_pkg_kascfg_kascfg_proto protoreflect.FileDescriptor

var file_pkg_kascfg_kascfg_proto_rawDesc = []byte{
	0x0a, 0x17, 0x70, 0x6b, 0x67, 0x2f, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2f, 0x6b, 0x61, 0x73,
	0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x69, 0x74, 0x6c, 0x61,
	0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x1a, 0x1e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x03, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x46, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xfa, 0x42, 0x19, 0x72,
	0x17, 0x52, 0x03, 0x74, 0x63, 0x70, 0x52, 0x04, 0x74, 0x63, 0x70, 0x34, 0x52, 0x04, 0x74, 0x63,
	0x70, 0x36, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x78, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x12, 0x1c, 0x0a, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a,
	0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69,
	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
	0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
	0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x4a, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
	0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65,
	0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x2a, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0x0a,
	0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x2a, 0x0a, 0x0c, 0x50, 0x72,
	0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, 0x46, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x72,
	0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x72,
	0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x80, 0x02, 0x0a, 0x15, 0x4f, 0x62, 0x73, 0x65, 0x72,
	0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x43, 0x46,
	0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x1c, 0xfa, 0x42, 0x19, 0x72, 0x17, 0x52, 0x03, 0x74, 0x63, 0x70, 0x52, 0x04, 0x74,
	0x63, 0x70, 0x34, 0x52, 0x04, 0x74, 0x63, 0x70, 0x36, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x78, 0x48,
	0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a,
	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x01, 0x52, 0x10, 0x63, 0x65,
	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01,
	0x01, 0x12, 0x28, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x02, 0x52, 0x08,
	0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x65, 0x72, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x09, 0x54, 0x72,
	0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x46, 0x12, 0x2d, 0x0a, 0x0d, 0x6f, 0x74, 0x6c, 0x70, 0x5f,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
	0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x0d, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x65, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x16, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48,
	0x00, 0x52, 0x16, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x18,
	0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
	0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x48, 0x01, 0x52, 0x18, 0x6f, 0x74, 0x6c, 0x70, 0x5f,
	0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6f, 0x74, 0x6c, 0x70, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c,
	0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6f, 0x74, 0x6c, 0x70, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65,
	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x4a, 0x04,
	0x08, 0x01, 0x10, 0x02, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x9f, 0x01, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x67,
	0x69, 0x6e, 0x67, 0x43, 0x46, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x6c, 0x6f, 0x67, 0x5f, 0x6c,
	0x65, 0x76, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
	0x12, 0x48, 0x0a, 0x0a, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x6c, 0x6f, 0x67, 0x5f, 0x6c,
	0x65, 0x76, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x70,
	0x63, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67,
	0x72, 0x70, 0x63, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xc6, 0x02, 0x0a, 0x08, 0x47, 0x69,
	0x74, 0x4c, 0x61, 0x62, 0x43, 0x46, 0x12, 0x24, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01,
	0x88, 0x01, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0c,
	0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x88, 0x01, 0x01, 0x48, 0x00,
	0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x88, 0x01,
	0x01, 0x12, 0x47, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x1a,
	0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
	0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x61,
	0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x53, 0x0a, 0x0e,
	0x61, 0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43,
	0x46, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75,
	0x72, 0x6c, 0x22, 0xf7, 0x03, 0x0a, 0x08, 0x47, 0x69, 0x74, 0x6f, 0x70, 0x73, 0x43, 0x46, 0x12,
	0x45, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x6c, 0x5f,
	0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x5b, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x16, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
	0x74, 0x74, 0x6c, 0x12, 0x67, 0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x1c,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63,
	0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x74, 0x6c, 0x12, 0x36, 0x0a, 0x16,
	0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c,
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6d, 0x61,
	0x78, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x12, 0x42, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x6d, 0x61, 0x78, 0x5f,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x61,
	0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65,
	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x13,
	0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e,
	0x74, 0x43, 0x46, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69,
	0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x70,
	0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x3e, 0x0a, 0x08, 0x53, 0x65,
	0x6e, 0x74, 0x72, 0x79, 0x43, 0x46, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,
	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xf4, 0x02, 0x0a, 0x15, 0x4c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41,
	0x70, 0x69, 0x43, 0x46, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xfa, 0x42, 0x19, 0x72, 0x17, 0x52, 0x03, 0x74, 0x63,
	0x70, 0x52, 0x04, 0x74, 0x63, 0x70, 0x34, 0x52, 0x04, 0x74, 0x63, 0x70, 0x36, 0x52, 0x04, 0x75,
	0x6e, 0x69, 0x78, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01,
	0x01, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63,
	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67, 0x72,
	0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67, 0x72,
	0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x59, 0x0a, 0x15, 0x73, 0x68,
	0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72,
	0x69, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x15,
	0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70,
	0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x22, 0xc9, 0x02, 0x0a, 0x0f, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73,
	0x41, 0x70, 0x69, 0x43, 0x46, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x70, 0x69, 0x43,
	0x46, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x72, 0x6c,
	0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0f, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x12, 0x5d, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
	0x65, 0x64, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74,
	0x74, 0x6c, 0x12, 0x69, 0x0a, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x1d,
	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x74, 0x6c, 0x22, 0x88, 0x06,
	0x0a, 0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x46, 0x12, 0x3a, 0x0a, 0x06, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x6c,
	0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x46, 0x52, 0x06, 0x6c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x4f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
	0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63,
	0x66, 0x67, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x46, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x6f, 0x70, 0x73,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e,
	0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x47, 0x69, 0x74,
	0x6f, 0x70, 0x73, 0x43, 0x46, 0x52, 0x06, 0x67, 0x69, 0x74, 0x6f, 0x70, 0x73, 0x12, 0x4b, 0x0a,
	0x0e, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x66, 0x6f,
	0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x12, 0x57, 0x0a, 0x14, 0x69, 0x6e,
	0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74,
	0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x14, 0x69,
	0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x74, 0x74, 0x6c, 0x12, 0x4b, 0x0a, 0x13, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
	0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x72, 0x65, 0x64,
	0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x74, 0x6c,
	0x12, 0x53, 0x0a, 0x17, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x69,
	0x6e, 0x66, 0x6f, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x72, 0x65,
	0x64, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x72, 0x65,
	0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x49, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x63,
	0x6f, 0x6e, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x67, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65,
	0x64, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x67, 0x63,
	0x12, 0x4c, 0x0a, 0x0e, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x61,
	0x70, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61,
	0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x4b,
	0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x70, 0x69, 0x43, 0x46, 0x52, 0x0e,
	0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x12, 0x58,
	0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70,
	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x69, 0x74,
	0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67,
	0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65,
	0x6e, 0x74, 0x43, 0x46, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x76,
	0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x41, 0x67, 0x65,
	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
	0x46, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x6c,
	0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69,
	0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6d,
	0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x47,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x43, 0x46, 0x12,
	0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
	0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6c,
	0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x65,
	0x62, 0x75, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x0f, 0x4c,
	0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x43, 0x46, 0x12, 0x1a,
	0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x2e, 0x0a, 0x10, 0x52, 0x65,
	0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x43, 0x46, 0x12, 0x1a,
	0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x90, 0x05, 0x0a, 0x0f, 0x4f,
	0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x46, 0x12, 0x5b,
	0x0a, 0x16, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x32, 0x00, 0x52, 0x16, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72,
	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x42, 0x0a, 0x06, 0x6c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x69,
	0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66,
	0x67, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x43, 0x46, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12,
	0x41, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65,
	0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74,
	0x68, 0x65, 0x75, 0x73, 0x43, 0x46, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65,
	0x75, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65,
	0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e,
	0x67, 0x43, 0x46, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x06,
	0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67,
	0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63,
	0x66, 0x67, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x46, 0x52, 0x06, 0x73, 0x65, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69,
	0x6e, 0x67, 0x43, 0x46, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a,
	0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e,
	0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x47, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x43, 0x46, 0x52, 0x0f, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x4c,
	0x0a, 0x0e, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e,
	0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x4c, 0x69, 0x76,
	0x65, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x43, 0x46, 0x52, 0x0e, 0x6c, 0x69,
	0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x4f, 0x0a, 0x0f,
	0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x52, 0x65, 0x61, 0x64,
	0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x43, 0x46, 0x52, 0x0f, 0x72, 0x65,
	0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x22, 0x82, 0x01,
	0x0a, 0x16, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74,
	0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x46, 0x12, 0x46, 0x0a, 0x16, 0x72, 0x65, 0x66, 0x69,
	0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x16, 0x72, 0x65, 0x66, 0x69, 0x6c, 0x6c,
	0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x12, 0x20, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69,
	0x7a, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x08, 0x47, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x43, 0x46, 0x12,
	0x61, 0x0a, 0x15, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x61,
	0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
	0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61,
	0x73, 0x63, 0x66, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x46, 0x52, 0x15, 0x67, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x69, 0x0a, 0x19, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x5f, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x43, 0x46, 0x52, 0x19, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61,
	0x70, 0x69, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbb, 0x05,
	0x0a, 0x07, 0x52, 0x65, 0x64, 0x69, 0x73, 0x43, 0x46, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x6c,
	0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e,
	0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x46, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65,
	0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53,
	0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x43, 0x46, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
	0x02, 0x10, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x12,
	0x1c, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x47, 0x0a,
	0x0c, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08,
	0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0c, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a,
	0x00, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
	0x49, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0d, 0x77, 0x72, 0x69,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x69, 0x64,
	0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69,
	0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
	0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x0f, 0x72, 0x0d, 0x52, 0x00, 0x52,
	0x03, 0x74, 0x63, 0x70, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x78, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e,
	0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x54, 0x4c, 0x53, 0x43,
	0x46, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x42, 0x13, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xa0, 0x01, 0x0a, 0x0a,
	0x52, 0x65, 0x64, 0x69, 0x73, 0x54, 0x4c, 0x53, 0x43, 0x46, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x13,
	0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65,
	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x32,
	0x0a, 0x0d, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x46, 0x12,
	0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74,
	0x69, 0x6e, 0x65, 0x6c, 0x43, 0x46, 0x12, 0x29, 0x0a, 0x0b, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x20, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x92, 0x01, 0x08, 0x08, 0x01, 0x22, 0x04,
	0x72, 0x02, 0x20, 0x01, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12,
	0x36, 0x0a, 0x16, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x73, 0x73,
	0x77, 0x6f, 0x72, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x16, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
	0x72, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x41, 0x70, 0x69, 0x43, 0x46, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xfa, 0x42, 0x19, 0x72, 0x17, 0x52,
	0x03, 0x74, 0x63, 0x70, 0x52, 0x04, 0x74, 0x63, 0x70, 0x34, 0x52, 0x04, 0x74, 0x63, 0x70, 0x36,
	0x52, 0x04, 0x75, 0x6e, 0x69, 0x78, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47,
	0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x20, 0x01, 0x52, 0x1a, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12,
	0x53, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00,
	0x52, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67,
	0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67,
	0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xe6, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x43, 0x46, 0x12, 0x3b,
	0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x1c, 0xfa, 0x42, 0x19, 0x72, 0x17, 0x52, 0x03, 0x74, 0x63, 0x70, 0x52, 0x04, 0x74, 0x63, 0x70,
	0x34, 0x52, 0x04, 0x74, 0x63, 0x70, 0x36, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x78, 0x48, 0x00, 0x52,
	0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x20, 0x01, 0x52, 0x1a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a,
	0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69,
	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
	0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
	0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x63,
	0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69,
	0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72,
	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x55, 0x0a,
	0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65,
	0x72, 0x69, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52,
	0x13, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65,
	0x72, 0x69, 0x6f, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x22, 0x4b, 0x0a, 0x05, 0x41, 0x70, 0x69, 0x43, 0x46, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x6c,
	0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x43, 0x46, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x22, 0x59, 0x0a,
	0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x43, 0x46, 0x12, 0x49, 0x0a,
	0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73,
	0x63, 0x66, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
	0x65, 0x41, 0x70, 0x69, 0x43, 0x46, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
	0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x22, 0xd0, 0x03, 0x0a, 0x11, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f,
	0x0a, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
	0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61,
	0x73, 0x63, 0x66, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x43, 0x46, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x12,
	0x32, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61,
	0x73, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x46, 0x52, 0x05, 0x61, 0x67,
	0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69,
	0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74,
	0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67,
	0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x46,
	0x52, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12,
	0x35, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b,
	0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x43, 0x46, 0x52, 0x06,
	0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x52, 0x65, 0x64, 0x69,
	0x73, 0x43, 0x46, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x72,
	0x65, 0x64, 0x69, 0x73, 0x12, 0x36, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74,
	0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x46, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x4d, 0x0a, 0x0b,
	0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74,
	0x2e, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41,
	0x70, 0x69, 0x43, 0x46, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b,
	0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2a, 0x3a, 0x0a, 0x0e, 0x6c,
	0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x08, 0x0a,
	0x04, 0x69, 0x6e, 0x66, 0x6f, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67,
	0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x77, 0x61, 0x72, 0x6e, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x42, 0x47, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x6c, 0x61,
	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67,
	0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x61, 0x67, 0x65, 0x6e,
	0x74, 0x2f, 0x76, 0x31, 0x36, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6b, 0x61, 0x73, 0x63, 0x66, 0x67,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_pkg_kascfg_kascfg_proto_rawDescOnce sync.Once
	file_pkg_kascfg_kascfg_proto_rawDescData = file_pkg_kascfg_kascfg_proto_rawDesc
)

func file_pkg_kascfg_kascfg_proto_rawDescGZIP() []byte {
	file_pkg_kascfg_kascfg_proto_rawDescOnce.Do(func() {
		file_pkg_kascfg_kascfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_kascfg_kascfg_proto_rawDescData)
	})
	return file_pkg_kascfg_kascfg_proto_rawDescData
}

var file_pkg_kascfg_kascfg_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_pkg_kascfg_kascfg_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
var file_pkg_kascfg_kascfg_proto_goTypes = []interface{}{
	(LogLevelEnum)(0),              // 0: gitlab.agent.kascfg.log_level_enum
	(*ListenAgentCF)(nil),          // 1: gitlab.agent.kascfg.ListenAgentCF
	(*PrometheusCF)(nil),           // 2: gitlab.agent.kascfg.PrometheusCF
	(*ObservabilityListenCF)(nil),  // 3: gitlab.agent.kascfg.ObservabilityListenCF
	(*TracingCF)(nil),              // 4: gitlab.agent.kascfg.TracingCF
	(*LoggingCF)(nil),              // 5: gitlab.agent.kascfg.LoggingCF
	(*GitLabCF)(nil),               // 6: gitlab.agent.kascfg.GitLabCF
	(*GitopsCF)(nil),               // 7: gitlab.agent.kascfg.GitopsCF
	(*RemoteDevelopmentCF)(nil),    // 8: gitlab.agent.kascfg.RemoteDevelopmentCF
	(*SentryCF)(nil),               // 9: gitlab.agent.kascfg.SentryCF
	(*ListenKubernetesApiCF)(nil),  // 10: gitlab.agent.kascfg.ListenKubernetesApiCF
	(*KubernetesApiCF)(nil),        // 11: gitlab.agent.kascfg.KubernetesApiCF
	(*AgentCF)(nil),                // 12: gitlab.agent.kascfg.AgentCF
	(*AgentConfigurationCF)(nil),   // 13: gitlab.agent.kascfg.AgentConfigurationCF
	(*GoogleProfilerCF)(nil),       // 14: gitlab.agent.kascfg.GoogleProfilerCF
	(*LivenessProbeCF)(nil),        // 15: gitlab.agent.kascfg.LivenessProbeCF
	(*ReadinessProbeCF)(nil),       // 16: gitlab.agent.kascfg.ReadinessProbeCF
	(*ObservabilityCF)(nil),        // 17: gitlab.agent.kascfg.ObservabilityCF
	(*TokenBucketRateLimitCF)(nil), // 18: gitlab.agent.kascfg.TokenBucketRateLimitCF
	(*GitalyCF)(nil),               // 19: gitlab.agent.kascfg.GitalyCF
	(*RedisCF)(nil),                // 20: gitlab.agent.kascfg.RedisCF
	(*RedisTLSCF)(nil),             // 21: gitlab.agent.kascfg.RedisTLSCF
	(*RedisServerCF)(nil),          // 22: gitlab.agent.kascfg.RedisServerCF
	(*RedisSentinelCF)(nil),        // 23: gitlab.agent.kascfg.RedisSentinelCF
	(*ListenApiCF)(nil),            // 24: gitlab.agent.kascfg.ListenApiCF
	(*ListenPrivateApiCF)(nil),     // 25: gitlab.agent.kascfg.ListenPrivateApiCF
	(*ApiCF)(nil),                  // 26: gitlab.agent.kascfg.ApiCF
	(*PrivateApiCF)(nil),           // 27: gitlab.agent.kascfg.PrivateApiCF
	(*ConfigurationFile)(nil),      // 28: gitlab.agent.kascfg.ConfigurationFile
	(*durationpb.Duration)(nil),    // 29: google.protobuf.Duration
}
var file_pkg_kascfg_kascfg_proto_depIdxs = []int32{
	29, // 0: gitlab.agent.kascfg.ListenAgentCF.max_connection_age:type_name -> google.protobuf.Duration
	29, // 1: gitlab.agent.kascfg.ListenAgentCF.listen_grace_period:type_name -> google.protobuf.Duration
	0,  // 2: gitlab.agent.kascfg.LoggingCF.level:type_name -> gitlab.agent.kascfg.log_level_enum
	0,  // 3: gitlab.agent.kascfg.LoggingCF.grpc_level:type_name -> gitlab.agent.kascfg.log_level_enum
	18, // 4: gitlab.agent.kascfg.GitLabCF.api_rate_limit:type_name -> gitlab.agent.kascfg.TokenBucketRateLimitCF
	29, // 5: gitlab.agent.kascfg.GitopsCF.poll_period:type_name -> google.protobuf.Duration
	29, // 6: gitlab.agent.kascfg.GitopsCF.project_info_cache_ttl:type_name -> google.protobuf.Duration
	29, // 7: gitlab.agent.kascfg.GitopsCF.project_info_cache_error_ttl:type_name -> google.protobuf.Duration
	29, // 8: gitlab.agent.kascfg.RemoteDevelopmentCF.poll_period:type_name -> google.protobuf.Duration
	29, // 9: gitlab.agent.kascfg.ListenKubernetesApiCF.listen_grace_period:type_name -> google.protobuf.Duration
	29, // 10: gitlab.agent.kascfg.ListenKubernetesApiCF.shutdown_grace_period:type_name -> google.protobuf.Duration
	10, // 11: gitlab.agent.kascfg.KubernetesApiCF.listen:type_name -> gitlab.agent.kascfg.ListenKubernetesApiCF
	29, // 12: gitlab.agent.kascfg.KubernetesApiCF.allowed_agent_cache_ttl:type_name -> google.protobuf.Duration
	29, // 13: gitlab.agent.kascfg.KubernetesApiCF.allowed_agent_cache_error_ttl:type_name -> google.protobuf.Duration
	1,  // 14: gitlab.agent.kascfg.AgentCF.listen:type_name -> gitlab.agent.kascfg.ListenAgentCF
	13, // 15: gitlab.agent.kascfg.AgentCF.configuration:type_name -> gitlab.agent.kascfg.AgentConfigurationCF
	7,  // 16: gitlab.agent.kascfg.AgentCF.gitops:type_name -> gitlab.agent.kascfg.GitopsCF
	29, // 17: gitlab.agent.kascfg.AgentCF.info_cache_ttl:type_name -> google.protobuf.Duration
	29, // 18: gitlab.agent.kascfg.AgentCF.info_cache_error_ttl:type_name -> google.protobuf.Duration
	29, // 19: gitlab.agent.kascfg.AgentCF.redis_conn_info_ttl:type_name -> google.protobuf.Duration
	29, // 20: gitlab.agent.kascfg.AgentCF.redis_conn_info_refresh:type_name -> google.protobuf.Duration
	29, // 21: gitlab.agent.kascfg.AgentCF.redis_conn_info_gc:type_name -> google.protobuf.Duration
	11, // 22: gitlab.agent.kascfg.AgentCF.kubernetes_api:type_name -> gitlab.agent.kascfg.KubernetesApiCF
	8,  // 23: gitlab.agent.kascfg.AgentCF.remote_development:type_name -> gitlab.agent.kascfg.RemoteDevelopmentCF
	29, // 24: gitlab.agent.kascfg.AgentConfigurationCF.poll_period:type_name -> google.protobuf.Duration
	29, // 25: gitlab.agent.kascfg.ObservabilityCF.usage_reporting_period:type_name -> google.protobuf.Duration
	3,  // 26: gitlab.agent.kascfg.ObservabilityCF.listen:type_name -> gitlab.agent.kascfg.ObservabilityListenCF
	2,  // 27: gitlab.agent.kascfg.ObservabilityCF.prometheus:type_name -> gitlab.agent.kascfg.PrometheusCF
	4,  // 28: gitlab.agent.kascfg.ObservabilityCF.tracing:type_name -> gitlab.agent.kascfg.TracingCF
	9,  // 29: gitlab.agent.kascfg.ObservabilityCF.sentry:type_name -> gitlab.agent.kascfg.SentryCF
	5,  // 30: gitlab.agent.kascfg.ObservabilityCF.logging:type_name -> gitlab.agent.kascfg.LoggingCF
	14, // 31: gitlab.agent.kascfg.ObservabilityCF.google_profiler:type_name -> gitlab.agent.kascfg.GoogleProfilerCF
	15, // 32: gitlab.agent.kascfg.ObservabilityCF.liveness_probe:type_name -> gitlab.agent.kascfg.LivenessProbeCF
	16, // 33: gitlab.agent.kascfg.ObservabilityCF.readiness_probe:type_name -> gitlab.agent.kascfg.ReadinessProbeCF
	18, // 34: gitlab.agent.kascfg.GitalyCF.global_api_rate_limit:type_name -> gitlab.agent.kascfg.TokenBucketRateLimitCF
	18, // 35: gitlab.agent.kascfg.GitalyCF.per_server_api_rate_limit:type_name -> gitlab.agent.kascfg.TokenBucketRateLimitCF
	22, // 36: gitlab.agent.kascfg.RedisCF.server:type_name -> gitlab.agent.kascfg.RedisServerCF
	23, // 37: gitlab.agent.kascfg.RedisCF.sentinel:type_name -> gitlab.agent.kascfg.RedisSentinelCF
	29, // 38: gitlab.agent.kascfg.RedisCF.dial_timeout:type_name -> google.protobuf.Duration
	29, // 39: gitlab.agent.kascfg.RedisCF.read_timeout:type_name -> google.protobuf.Duration
	29, // 40: gitlab.agent.kascfg.RedisCF.write_timeout:type_name -> google.protobuf.Duration
	29, // 41: gitlab.agent.kascfg.RedisCF.idle_timeout:type_name -> google.protobuf.Duration
	21, // 42: gitlab.agent.kascfg.RedisCF.tls:type_name -> gitlab.agent.kascfg.RedisTLSCF
	29, // 43: gitlab.agent.kascfg.ListenApiCF.max_connection_age:type_name -> google.protobuf.Duration
	29, // 44: gitlab.agent.kascfg.ListenApiCF.listen_grace_period:type_name -> google.protobuf.Duration
	29, // 45: gitlab.agent.kascfg.ListenPrivateApiCF.max_connection_age:type_name -> google.protobuf.Duration
	29, // 46: gitlab.agent.kascfg.ListenPrivateApiCF.listen_grace_period:type_name -> google.protobuf.Duration
	24, // 47: gitlab.agent.kascfg.ApiCF.listen:type_name -> gitlab.agent.kascfg.ListenApiCF
	25, // 48: gitlab.agent.kascfg.PrivateApiCF.listen:type_name -> gitlab.agent.kascfg.ListenPrivateApiCF
	6,  // 49: gitlab.agent.kascfg.ConfigurationFile.gitlab:type_name -> gitlab.agent.kascfg.GitLabCF
	12, // 50: gitlab.agent.kascfg.ConfigurationFile.agent:type_name -> gitlab.agent.kascfg.AgentCF
	17, // 51: gitlab.agent.kascfg.ConfigurationFile.observability:type_name -> gitlab.agent.kascfg.ObservabilityCF
	19, // 52: gitlab.agent.kascfg.ConfigurationFile.gitaly:type_name -> gitlab.agent.kascfg.GitalyCF
	20, // 53: gitlab.agent.kascfg.ConfigurationFile.redis:type_name -> gitlab.agent.kascfg.RedisCF
	26, // 54: gitlab.agent.kascfg.ConfigurationFile.api:type_name -> gitlab.agent.kascfg.ApiCF
	27, // 55: gitlab.agent.kascfg.ConfigurationFile.private_api:type_name -> gitlab.agent.kascfg.PrivateApiCF
	56, // [56:56] is the sub-list for method output_type
	56, // [56:56] is the sub-list for method input_type
	56, // [56:56] is the sub-list for extension type_name
	56, // [56:56] is the sub-list for extension extendee
	0,  // [0:56] is the sub-list for field type_name
}

func init() { file_pkg_kascfg_kascfg_proto_init() }
func file_pkg_kascfg_kascfg_proto_init() {
	if File_pkg_kascfg_kascfg_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_pkg_kascfg_kascfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListenAgentCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrometheusCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ObservabilityListenCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TracingCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoggingCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitLabCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitopsCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoteDevelopmentCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SentryCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListenKubernetesApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KubernetesApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AgentCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AgentConfigurationCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GoogleProfilerCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LivenessProbeCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadinessProbeCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ObservabilityCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TokenBucketRateLimitCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitalyCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RedisCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RedisTLSCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RedisServerCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RedisSentinelCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListenApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListenPrivateApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivateApiCF); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_kascfg_kascfg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigurationFile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_pkg_kascfg_kascfg_proto_msgTypes[0].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[2].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[3].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[4].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[5].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[9].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[19].OneofWrappers = []interface{}{
		(*RedisCF_Server)(nil),
		(*RedisCF_Sentinel)(nil),
	}
	file_pkg_kascfg_kascfg_proto_msgTypes[23].OneofWrappers = []interface{}{}
	file_pkg_kascfg_kascfg_proto_msgTypes[24].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_pkg_kascfg_kascfg_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   28,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_pkg_kascfg_kascfg_proto_goTypes,
		DependencyIndexes: file_pkg_kascfg_kascfg_proto_depIdxs,
		EnumInfos:         file_pkg_kascfg_kascfg_proto_enumTypes,
		MessageInfos:      file_pkg_kascfg_kascfg_proto_msgTypes,
	}.Build()
	File_pkg_kascfg_kascfg_proto = out.File
	file_pkg_kascfg_kascfg_proto_rawDesc = nil
	file_pkg_kascfg_kascfg_proto_goTypes = nil
	file_pkg_kascfg_kascfg_proto_depIdxs = nil
}
