// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.33.0
// 	protoc        v4.25.3
// source: sources.proto

package sourcespb

import (
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	credentialspb "github.com/trufflesecurity/trufflehog/v3/pkg/pb/credentialspb"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

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

type SourceType int32

const (
	SourceType_SOURCE_TYPE_AZURE_STORAGE              SourceType = 0
	SourceType_SOURCE_TYPE_BITBUCKET                  SourceType = 1
	SourceType_SOURCE_TYPE_CIRCLECI                   SourceType = 2
	SourceType_SOURCE_TYPE_CONFLUENCE                 SourceType = 3
	SourceType_SOURCE_TYPE_DOCKER                     SourceType = 4
	SourceType_SOURCE_TYPE_ECR                        SourceType = 5
	SourceType_SOURCE_TYPE_GCS                        SourceType = 6
	SourceType_SOURCE_TYPE_GITHUB                     SourceType = 7
	SourceType_SOURCE_TYPE_PUBLIC_GIT                 SourceType = 8
	SourceType_SOURCE_TYPE_GITLAB                     SourceType = 9
	SourceType_SOURCE_TYPE_JIRA                       SourceType = 10
	SourceType_SOURCE_TYPE_NPM_UNAUTHD_PACKAGES       SourceType = 11
	SourceType_SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES      SourceType = 12
	SourceType_SOURCE_TYPE_S3                         SourceType = 13
	SourceType_SOURCE_TYPE_SLACK                      SourceType = 14
	SourceType_SOURCE_TYPE_FILESYSTEM                 SourceType = 15
	SourceType_SOURCE_TYPE_GIT                        SourceType = 16
	SourceType_SOURCE_TYPE_TEST                       SourceType = 17
	SourceType_SOURCE_TYPE_S3_UNAUTHED                SourceType = 18
	SourceType_SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG SourceType = 19
	SourceType_SOURCE_TYPE_BUILDKITE                  SourceType = 20
	SourceType_SOURCE_TYPE_GERRIT                     SourceType = 21
	SourceType_SOURCE_TYPE_JENKINS                    SourceType = 22
	SourceType_SOURCE_TYPE_TEAMS                      SourceType = 23
	SourceType_SOURCE_TYPE_JFROG_ARTIFACTORY          SourceType = 24
	SourceType_SOURCE_TYPE_SYSLOG                     SourceType = 25
	SourceType_SOURCE_TYPE_PUBLIC_EVENT_MONITORING    SourceType = 26
	SourceType_SOURCE_TYPE_SLACK_REALTIME             SourceType = 27
	SourceType_SOURCE_TYPE_GOOGLE_DRIVE               SourceType = 28
	SourceType_SOURCE_TYPE_SHAREPOINT                 SourceType = 29
	SourceType_SOURCE_TYPE_GCS_UNAUTHED               SourceType = 30
	SourceType_SOURCE_TYPE_AZURE_REPOS                SourceType = 31
	SourceType_SOURCE_TYPE_TRAVISCI                   SourceType = 32
	SourceType_SOURCE_TYPE_POSTMAN                    SourceType = 33
	SourceType_SOURCE_TYPE_WEBHOOK                    SourceType = 34
	SourceType_SOURCE_TYPE_ELASTICSEARCH              SourceType = 35
	SourceType_SOURCE_TYPE_HUGGINGFACE                SourceType = 36
	SourceType_SOURCE_TYPE_GITHUB_EXPERIMENTAL        SourceType = 37
	SourceType_SOURCE_TYPE_SENTRY                     SourceType = 38
	SourceType_SOURCE_TYPE_GITHUB_REALTIME            SourceType = 39
	SourceType_SOURCE_TYPE_STDIN                      SourceType = 40
	SourceType_SOURCE_TYPE_SLACK_CONTINUOUS           SourceType = 41
	SourceType_SOURCE_TYPE_JSON_ENUMERATOR            SourceType = 42
)

// Enum value maps for SourceType.
var (
	SourceType_name = map[int32]string{
		0:  "SOURCE_TYPE_AZURE_STORAGE",
		1:  "SOURCE_TYPE_BITBUCKET",
		2:  "SOURCE_TYPE_CIRCLECI",
		3:  "SOURCE_TYPE_CONFLUENCE",
		4:  "SOURCE_TYPE_DOCKER",
		5:  "SOURCE_TYPE_ECR",
		6:  "SOURCE_TYPE_GCS",
		7:  "SOURCE_TYPE_GITHUB",
		8:  "SOURCE_TYPE_PUBLIC_GIT",
		9:  "SOURCE_TYPE_GITLAB",
		10: "SOURCE_TYPE_JIRA",
		11: "SOURCE_TYPE_NPM_UNAUTHD_PACKAGES",
		12: "SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES",
		13: "SOURCE_TYPE_S3",
		14: "SOURCE_TYPE_SLACK",
		15: "SOURCE_TYPE_FILESYSTEM",
		16: "SOURCE_TYPE_GIT",
		17: "SOURCE_TYPE_TEST",
		18: "SOURCE_TYPE_S3_UNAUTHED",
		19: "SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG",
		20: "SOURCE_TYPE_BUILDKITE",
		21: "SOURCE_TYPE_GERRIT",
		22: "SOURCE_TYPE_JENKINS",
		23: "SOURCE_TYPE_TEAMS",
		24: "SOURCE_TYPE_JFROG_ARTIFACTORY",
		25: "SOURCE_TYPE_SYSLOG",
		26: "SOURCE_TYPE_PUBLIC_EVENT_MONITORING",
		27: "SOURCE_TYPE_SLACK_REALTIME",
		28: "SOURCE_TYPE_GOOGLE_DRIVE",
		29: "SOURCE_TYPE_SHAREPOINT",
		30: "SOURCE_TYPE_GCS_UNAUTHED",
		31: "SOURCE_TYPE_AZURE_REPOS",
		32: "SOURCE_TYPE_TRAVISCI",
		33: "SOURCE_TYPE_POSTMAN",
		34: "SOURCE_TYPE_WEBHOOK",
		35: "SOURCE_TYPE_ELASTICSEARCH",
		36: "SOURCE_TYPE_HUGGINGFACE",
		37: "SOURCE_TYPE_GITHUB_EXPERIMENTAL",
		38: "SOURCE_TYPE_SENTRY",
		39: "SOURCE_TYPE_GITHUB_REALTIME",
		40: "SOURCE_TYPE_STDIN",
		41: "SOURCE_TYPE_SLACK_CONTINUOUS",
		42: "SOURCE_TYPE_JSON_ENUMERATOR",
	}
	SourceType_value = map[string]int32{
		"SOURCE_TYPE_AZURE_STORAGE":              0,
		"SOURCE_TYPE_BITBUCKET":                  1,
		"SOURCE_TYPE_CIRCLECI":                   2,
		"SOURCE_TYPE_CONFLUENCE":                 3,
		"SOURCE_TYPE_DOCKER":                     4,
		"SOURCE_TYPE_ECR":                        5,
		"SOURCE_TYPE_GCS":                        6,
		"SOURCE_TYPE_GITHUB":                     7,
		"SOURCE_TYPE_PUBLIC_GIT":                 8,
		"SOURCE_TYPE_GITLAB":                     9,
		"SOURCE_TYPE_JIRA":                       10,
		"SOURCE_TYPE_NPM_UNAUTHD_PACKAGES":       11,
		"SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES":      12,
		"SOURCE_TYPE_S3":                         13,
		"SOURCE_TYPE_SLACK":                      14,
		"SOURCE_TYPE_FILESYSTEM":                 15,
		"SOURCE_TYPE_GIT":                        16,
		"SOURCE_TYPE_TEST":                       17,
		"SOURCE_TYPE_S3_UNAUTHED":                18,
		"SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG": 19,
		"SOURCE_TYPE_BUILDKITE":                  20,
		"SOURCE_TYPE_GERRIT":                     21,
		"SOURCE_TYPE_JENKINS":                    22,
		"SOURCE_TYPE_TEAMS":                      23,
		"SOURCE_TYPE_JFROG_ARTIFACTORY":          24,
		"SOURCE_TYPE_SYSLOG":                     25,
		"SOURCE_TYPE_PUBLIC_EVENT_MONITORING":    26,
		"SOURCE_TYPE_SLACK_REALTIME":             27,
		"SOURCE_TYPE_GOOGLE_DRIVE":               28,
		"SOURCE_TYPE_SHAREPOINT":                 29,
		"SOURCE_TYPE_GCS_UNAUTHED":               30,
		"SOURCE_TYPE_AZURE_REPOS":                31,
		"SOURCE_TYPE_TRAVISCI":                   32,
		"SOURCE_TYPE_POSTMAN":                    33,
		"SOURCE_TYPE_WEBHOOK":                    34,
		"SOURCE_TYPE_ELASTICSEARCH":              35,
		"SOURCE_TYPE_HUGGINGFACE":                36,
		"SOURCE_TYPE_GITHUB_EXPERIMENTAL":        37,
		"SOURCE_TYPE_SENTRY":                     38,
		"SOURCE_TYPE_GITHUB_REALTIME":            39,
		"SOURCE_TYPE_STDIN":                      40,
		"SOURCE_TYPE_SLACK_CONTINUOUS":           41,
		"SOURCE_TYPE_JSON_ENUMERATOR":            42,
	}
)

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

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

func (SourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_sources_proto_enumTypes[0].Descriptor()
}

func (SourceType) Type() protoreflect.EnumType {
	return &file_sources_proto_enumTypes[0]
}

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

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

type BitbucketInstallationType int32

const (
	BitbucketInstallationType_AUTODETECT  BitbucketInstallationType = 0
	BitbucketInstallationType_CLOUD       BitbucketInstallationType = 1
	BitbucketInstallationType_DATA_CENTER BitbucketInstallationType = 2
)

// Enum value maps for BitbucketInstallationType.
var (
	BitbucketInstallationType_name = map[int32]string{
		0: "AUTODETECT",
		1: "CLOUD",
		2: "DATA_CENTER",
	}
	BitbucketInstallationType_value = map[string]int32{
		"AUTODETECT":  0,
		"CLOUD":       1,
		"DATA_CENTER": 2,
	}
)

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

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

func (BitbucketInstallationType) Descriptor() protoreflect.EnumDescriptor {
	return file_sources_proto_enumTypes[1].Descriptor()
}

func (BitbucketInstallationType) Type() protoreflect.EnumType {
	return &file_sources_proto_enumTypes[1]
}

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

// Deprecated: Use BitbucketInstallationType.Descriptor instead.
func (BitbucketInstallationType) EnumDescriptor() ([]byte, []int) {
	return file_sources_proto_rawDescGZIP(), []int{1}
}

type JiraInstallationType int32

const (
	JiraInstallationType_JIRA_INSTALLATION_TYPE_AUTODETECT  JiraInstallationType = 0
	JiraInstallationType_JIRA_INSTALLATION_TYPE_CLOUD       JiraInstallationType = 1
	JiraInstallationType_JIRA_INSTALLATION_TYPE_DATA_CENTER JiraInstallationType = 2
)

// Enum value maps for JiraInstallationType.
var (
	JiraInstallationType_name = map[int32]string{
		0: "JIRA_INSTALLATION_TYPE_AUTODETECT",
		1: "JIRA_INSTALLATION_TYPE_CLOUD",
		2: "JIRA_INSTALLATION_TYPE_DATA_CENTER",
	}
	JiraInstallationType_value = map[string]int32{
		"JIRA_INSTALLATION_TYPE_AUTODETECT":  0,
		"JIRA_INSTALLATION_TYPE_CLOUD":       1,
		"JIRA_INSTALLATION_TYPE_DATA_CENTER": 2,
	}
)

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

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

func (JiraInstallationType) Descriptor() protoreflect.EnumDescriptor {
	return file_sources_proto_enumTypes[2].Descriptor()
}

func (JiraInstallationType) Type() protoreflect.EnumType {
	return &file_sources_proto_enumTypes[2]
}

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

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

type Confluence_GetAllSpacesScope int32

const (
	Confluence_ALL      Confluence_GetAllSpacesScope = 0
	Confluence_GLOBAL   Confluence_GetAllSpacesScope = 1
	Confluence_PERSONAL Confluence_GetAllSpacesScope = 2
)

// Enum value maps for Confluence_GetAllSpacesScope.
var (
	Confluence_GetAllSpacesScope_name = map[int32]string{
		0: "ALL",
		1: "GLOBAL",
		2: "PERSONAL",
	}
	Confluence_GetAllSpacesScope_value = map[string]int32{
		"ALL":      0,
		"GLOBAL":   1,
		"PERSONAL": 2,
	}
)

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

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

func (Confluence_GetAllSpacesScope) Descriptor() protoreflect.EnumDescriptor {
	return file_sources_proto_enumTypes[3].Descriptor()
}

func (Confluence_GetAllSpacesScope) Type() protoreflect.EnumType {
	return &file_sources_proto_enumTypes[3]
}

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

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

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

	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// DEPRECATED: scan_interval is deprecated and can be removed when we no longer depend on the name.
	// Deprecating in favor of scan_period due to the fact that scan_interval is a duration
	// which is a fixed-length span of time represented as a count of seconds and fractions of seconds
	// at nanosecond resolution. Most of the time, we want to be able to specify a scan interval in
	// human-readable format (e.g. 45s, 30m, 12h, etc.) which is not possible with a duration.
	// https://protobuf.dev/reference/protobuf/google.protobuf/#duration
	//
	// Deprecated: Marked as deprecated in sources.proto.
	ScanInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=scan_interval,json=scanInterval,proto3" json:"scan_interval,omitempty"`
	Verify       bool                 `protobuf:"varint,4,opt,name=verify,proto3" json:"verify,omitempty"`
	Connection   *anypb.Any           `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"`
	ScanPeriod   string               `protobuf:"bytes,6,opt,name=scan_period,json=scanPeriod,proto3" json:"scan_period,omitempty"`
}

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

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

func (*LocalSource) ProtoMessage() {}

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

func (x *LocalSource) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

// Deprecated: Marked as deprecated in sources.proto.
func (x *LocalSource) GetScanInterval() *durationpb.Duration {
	if x != nil {
		return x.ScanInterval
	}
	return nil
}

func (x *LocalSource) GetVerify() bool {
	if x != nil {
		return x.Verify
	}
	return false
}

func (x *LocalSource) GetConnection() *anypb.Any {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *LocalSource) GetScanPeriod() string {
	if x != nil {
		return x.ScanPeriod
	}
	return ""
}

// https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-RetrieveFolderorRepositoryArchive
type Artifactory struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Artifactory_BasicAuth
	//	*Artifactory_AccessToken
	//	*Artifactory_Unauthenticated
	Credential   isArtifactory_Credential `protobuf_oneof:"credential"`
	Repositories []string                 `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
	IncludePaths []string                 `protobuf:"bytes,5,rep,name=include_paths,json=includePaths,proto3" json:"include_paths,omitempty"`
	IgnorePaths  []string                 `protobuf:"bytes,6,rep,name=ignore_paths,json=ignorePaths,proto3" json:"ignore_paths,omitempty"`
}

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

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

func (*Artifactory) ProtoMessage() {}

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

func (x *Artifactory) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Artifactory) GetCredential() isArtifactory_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Artifactory) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Artifactory_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Artifactory) GetAccessToken() string {
	if x, ok := x.GetCredential().(*Artifactory_AccessToken); ok {
		return x.AccessToken
	}
	return ""
}

func (x *Artifactory) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Artifactory_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Artifactory) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *Artifactory) GetIncludePaths() []string {
	if x != nil {
		return x.IncludePaths
	}
	return nil
}

func (x *Artifactory) GetIgnorePaths() []string {
	if x != nil {
		return x.IgnorePaths
	}
	return nil
}

type isArtifactory_Credential interface {
	isArtifactory_Credential()
}

type Artifactory_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Artifactory_AccessToken struct {
	AccessToken string `protobuf:"bytes,3,opt,name=access_token,json=accessToken,proto3,oneof"`
}

type Artifactory_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,7,opt,name=unauthenticated,proto3,oneof"`
}

func (*Artifactory_BasicAuth) isArtifactory_Credential() {}

func (*Artifactory_AccessToken) isArtifactory_Credential() {}

func (*Artifactory_Unauthenticated) isArtifactory_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*AzureStorage_ConnectionString
	//	*AzureStorage_BasicAuth
	//	*AzureStorage_ClientCertificate
	//	*AzureStorage_Unauthenticated
	Credential        isAzureStorage_Credential `protobuf_oneof:"credential"`
	StorageContainers []string                  `protobuf:"bytes,5,rep,name=storage_containers,json=storageContainers,proto3" json:"storage_containers,omitempty"`
}

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

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

func (*AzureStorage) ProtoMessage() {}

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

func (m *AzureStorage) GetCredential() isAzureStorage_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *AzureStorage) GetConnectionString() string {
	if x, ok := x.GetCredential().(*AzureStorage_ConnectionString); ok {
		return x.ConnectionString
	}
	return ""
}

func (x *AzureStorage) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*AzureStorage_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *AzureStorage) GetClientCertificate() string {
	if x, ok := x.GetCredential().(*AzureStorage_ClientCertificate); ok {
		return x.ClientCertificate
	}
	return ""
}

func (x *AzureStorage) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*AzureStorage_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *AzureStorage) GetStorageContainers() []string {
	if x != nil {
		return x.StorageContainers
	}
	return nil
}

type isAzureStorage_Credential interface {
	isAzureStorage_Credential()
}

type AzureStorage_ConnectionString struct {
	ConnectionString string `protobuf:"bytes,1,opt,name=connection_string,json=connectionString,proto3,oneof"`
}

type AzureStorage_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type AzureStorage_ClientCertificate struct {
	ClientCertificate string `protobuf:"bytes,3,opt,name=client_certificate,json=clientCertificate,proto3,oneof"`
}

type AzureStorage_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,4,opt,name=unauthenticated,proto3,oneof"`
}

func (*AzureStorage_ConnectionString) isAzureStorage_Credential() {}

func (*AzureStorage_BasicAuth) isAzureStorage_Credential() {}

func (*AzureStorage_ClientCertificate) isAzureStorage_Credential() {}

func (*AzureStorage_Unauthenticated) isAzureStorage_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Bitbucket_Token
	//	*Bitbucket_Oauth
	//	*Bitbucket_BasicAuth
	Credential                 isBitbucket_Credential    `protobuf_oneof:"credential"`
	Repositories               []string                  `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
	IgnoreRepos                []string                  `protobuf:"bytes,6,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
	SkipBinaries               bool                      `protobuf:"varint,7,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives               bool                      `protobuf:"varint,8,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
	InstallationType           BitbucketInstallationType `protobuf:"varint,9,opt,name=installation_type,json=installationType,proto3,enum=sources.BitbucketInstallationType" json:"installation_type,omitempty"`
	OauthAuthorizationEndpoint string                    `protobuf:"bytes,10,opt,name=oauth_authorization_endpoint,json=oauthAuthorizationEndpoint,proto3" json:"oauth_authorization_endpoint,omitempty"` // endpoint for OAuth authorization flow in Bitbucket Data Center application links
	OauthTokenEndpoint         string                    `protobuf:"bytes,11,opt,name=oauth_token_endpoint,json=oauthTokenEndpoint,proto3" json:"oauth_token_endpoint,omitempty"`                         // endpoint for getting OAuth access/refresh tokens in Bitbucket Data Center application links
	OauthScopes                []string                  `protobuf:"bytes,12,rep,name=oauth_scopes,json=oauthScopes,proto3" json:"oauth_scopes,omitempty"`                                                // list of OAuth scopes that the access token is provided
	AllowSecretsManagerWrite   bool                      `protobuf:"varint,13,opt,name=allow_secrets_manager_write,json=allowSecretsManagerWrite,proto3" json:"allow_secrets_manager_write,omitempty"`    // flag to explicitly allow TruffleHog to write to the user's secrets manager
}

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

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

func (*Bitbucket) ProtoMessage() {}

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

func (x *Bitbucket) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Bitbucket) GetCredential() isBitbucket_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Bitbucket) GetToken() string {
	if x, ok := x.GetCredential().(*Bitbucket_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Bitbucket) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*Bitbucket_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *Bitbucket) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Bitbucket_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Bitbucket) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *Bitbucket) GetIgnoreRepos() []string {
	if x != nil {
		return x.IgnoreRepos
	}
	return nil
}

func (x *Bitbucket) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *Bitbucket) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

func (x *Bitbucket) GetInstallationType() BitbucketInstallationType {
	if x != nil {
		return x.InstallationType
	}
	return BitbucketInstallationType_AUTODETECT
}

func (x *Bitbucket) GetOauthAuthorizationEndpoint() string {
	if x != nil {
		return x.OauthAuthorizationEndpoint
	}
	return ""
}

func (x *Bitbucket) GetOauthTokenEndpoint() string {
	if x != nil {
		return x.OauthTokenEndpoint
	}
	return ""
}

func (x *Bitbucket) GetOauthScopes() []string {
	if x != nil {
		return x.OauthScopes
	}
	return nil
}

func (x *Bitbucket) GetAllowSecretsManagerWrite() bool {
	if x != nil {
		return x.AllowSecretsManagerWrite
	}
	return false
}

type isBitbucket_Credential interface {
	isBitbucket_Credential()
}

type Bitbucket_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type Bitbucket_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}

type Bitbucket_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,4,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

func (*Bitbucket_Token) isBitbucket_Credential() {}

func (*Bitbucket_Oauth) isBitbucket_Credential() {}

func (*Bitbucket_BasicAuth) isBitbucket_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*CircleCI_Token
	Credential isCircleCI_Credential `protobuf_oneof:"credential"`
}

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

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

func (*CircleCI) ProtoMessage() {}

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

func (x *CircleCI) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *CircleCI) GetCredential() isCircleCI_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *CircleCI) GetToken() string {
	if x, ok := x.GetCredential().(*CircleCI_Token); ok {
		return x.Token
	}
	return ""
}

type isCircleCI_Credential interface {
	isCircleCI_Credential()
}

type CircleCI_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

func (*CircleCI_Token) isCircleCI_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*TravisCI_Token
	Credential isTravisCI_Credential `protobuf_oneof:"credential"`
}

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

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

func (*TravisCI) ProtoMessage() {}

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

func (x *TravisCI) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *TravisCI) GetCredential() isTravisCI_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *TravisCI) GetToken() string {
	if x, ok := x.GetCredential().(*TravisCI_Token); ok {
		return x.Token
	}
	return ""
}

type isTravisCI_Credential interface {
	isTravisCI_Credential()
}

type TravisCI_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

func (*TravisCI_Token) isTravisCI_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Confluence_Unauthenticated
	//	*Confluence_BasicAuth
	//	*Confluence_Token
	Credential            isConfluence_Credential      `protobuf_oneof:"credential"`
	SpacesScope           Confluence_GetAllSpacesScope `protobuf:"varint,5,opt,name=spaces_scope,json=spacesScope,proto3,enum=sources.Confluence_GetAllSpacesScope" json:"spaces_scope,omitempty"`
	InsecureSkipVerifyTls bool                         `protobuf:"varint,6,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
	Spaces                []string                     `protobuf:"bytes,7,rep,name=spaces,proto3" json:"spaces,omitempty"`
	IgnoreSpaces          []string                     `protobuf:"bytes,8,rep,name=ignore_spaces,json=ignoreSpaces,proto3" json:"ignore_spaces,omitempty"`
	IncludeAttachments    bool                         `protobuf:"varint,9,opt,name=include_attachments,json=includeAttachments,proto3" json:"include_attachments,omitempty"`
	SkipHistory           bool                         `protobuf:"varint,10,opt,name=skip_history,json=skipHistory,proto3" json:"skip_history,omitempty"`
	IncludeComments       bool                         `protobuf:"varint,11,opt,name=include_comments,json=includeComments,proto3" json:"include_comments,omitempty"`
}

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

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

func (*Confluence) ProtoMessage() {}

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

func (x *Confluence) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Confluence) GetCredential() isConfluence_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Confluence) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Confluence_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Confluence) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Confluence_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Confluence) GetToken() string {
	if x, ok := x.GetCredential().(*Confluence_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Confluence) GetSpacesScope() Confluence_GetAllSpacesScope {
	if x != nil {
		return x.SpacesScope
	}
	return Confluence_ALL
}

func (x *Confluence) GetInsecureSkipVerifyTls() bool {
	if x != nil {
		return x.InsecureSkipVerifyTls
	}
	return false
}

func (x *Confluence) GetSpaces() []string {
	if x != nil {
		return x.Spaces
	}
	return nil
}

func (x *Confluence) GetIgnoreSpaces() []string {
	if x != nil {
		return x.IgnoreSpaces
	}
	return nil
}

func (x *Confluence) GetIncludeAttachments() bool {
	if x != nil {
		return x.IncludeAttachments
	}
	return false
}

func (x *Confluence) GetSkipHistory() bool {
	if x != nil {
		return x.SkipHistory
	}
	return false
}

func (x *Confluence) GetIncludeComments() bool {
	if x != nil {
		return x.IncludeComments
	}
	return false
}

type isConfluence_Credential interface {
	isConfluence_Credential()
}

type Confluence_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}

type Confluence_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,3,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Confluence_Token struct {
	Token string `protobuf:"bytes,4,opt,name=token,proto3,oneof"`
}

func (*Confluence_Unauthenticated) isConfluence_Credential() {}

func (*Confluence_BasicAuth) isConfluence_Credential() {}

func (*Confluence_Token) isConfluence_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*Docker_Unauthenticated
	//	*Docker_BasicAuth
	//	*Docker_BearerToken
	//	*Docker_DockerKeychain
	Credential    isDocker_Credential `protobuf_oneof:"credential"`
	Images        []string            `protobuf:"bytes,5,rep,name=images,proto3" json:"images,omitempty"`
	ExcludePaths  []string            `protobuf:"bytes,6,rep,name=exclude_paths,json=excludePaths,proto3" json:"exclude_paths,omitempty"`
	Namespace     string              `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
	RegistryToken string              `protobuf:"bytes,8,opt,name=registry_token,json=registryToken,proto3" json:"registry_token,omitempty"`
}

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

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

func (*Docker) ProtoMessage() {}

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

func (m *Docker) GetCredential() isDocker_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Docker) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Docker_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Docker) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Docker_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Docker) GetBearerToken() string {
	if x, ok := x.GetCredential().(*Docker_BearerToken); ok {
		return x.BearerToken
	}
	return ""
}

func (x *Docker) GetDockerKeychain() bool {
	if x, ok := x.GetCredential().(*Docker_DockerKeychain); ok {
		return x.DockerKeychain
	}
	return false
}

func (x *Docker) GetImages() []string {
	if x != nil {
		return x.Images
	}
	return nil
}

func (x *Docker) GetExcludePaths() []string {
	if x != nil {
		return x.ExcludePaths
	}
	return nil
}

func (x *Docker) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *Docker) GetRegistryToken() string {
	if x != nil {
		return x.RegistryToken
	}
	return ""
}

type isDocker_Credential interface {
	isDocker_Credential()
}

type Docker_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}

type Docker_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Docker_BearerToken struct {
	BearerToken string `protobuf:"bytes,3,opt,name=bearer_token,json=bearerToken,proto3,oneof"`
}

type Docker_DockerKeychain struct {
	DockerKeychain bool `protobuf:"varint,4,opt,name=docker_keychain,json=dockerKeychain,proto3,oneof"`
}

func (*Docker_Unauthenticated) isDocker_Credential() {}

func (*Docker_BasicAuth) isDocker_Credential() {}

func (*Docker_BearerToken) isDocker_Credential() {}

func (*Docker_DockerKeychain) isDocker_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*ECR_AccessKey
	Credential isECR_Credential `protobuf_oneof:"credential"`
	Registries []string         `protobuf:"bytes,2,rep,name=registries,proto3" json:"registries,omitempty"`
}

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

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

func (*ECR) ProtoMessage() {}

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

func (m *ECR) GetCredential() isECR_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *ECR) GetAccessKey() *credentialspb.KeySecret {
	if x, ok := x.GetCredential().(*ECR_AccessKey); ok {
		return x.AccessKey
	}
	return nil
}

func (x *ECR) GetRegistries() []string {
	if x != nil {
		return x.Registries
	}
	return nil
}

type isECR_Credential interface {
	isECR_Credential()
}

type ECR_AccessKey struct {
	AccessKey *credentialspb.KeySecret `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3,oneof"`
}

func (*ECR_AccessKey) isECR_Credential() {}

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

	// DEPRECATED: directories is deprecated and can be removed / renamed to
	// paths when we no longer depend on the name in enterprise configs.
	Directories      []string `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"`
	Paths            []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"`
	IncludePathsFile string   `protobuf:"bytes,3,opt,name=include_paths_file,json=includePathsFile,proto3" json:"include_paths_file,omitempty"` // path to file containing newline separated list of paths
	ExcludePathsFile string   `protobuf:"bytes,4,opt,name=exclude_paths_file,json=excludePathsFile,proto3" json:"exclude_paths_file,omitempty"` // path to file containing newline separated list of paths
	SkipBinaries     bool     `protobuf:"varint,5,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`              // allows skipping binary files from the scan
	MaxSymlinkDepth  int32    `protobuf:"varint,6,opt,name=max_symlink_depth,json=maxSymlinkDepth,proto3" json:"max_symlink_depth,omitempty"`   // allows following symlinks upto specified max depth
}

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

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

func (*Filesystem) ProtoMessage() {}

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

func (x *Filesystem) GetDirectories() []string {
	if x != nil {
		return x.Directories
	}
	return nil
}

func (x *Filesystem) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

func (x *Filesystem) GetIncludePathsFile() string {
	if x != nil {
		return x.IncludePathsFile
	}
	return ""
}

func (x *Filesystem) GetExcludePathsFile() string {
	if x != nil {
		return x.ExcludePathsFile
	}
	return ""
}

func (x *Filesystem) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *Filesystem) GetMaxSymlinkDepth() int32 {
	if x != nil {
		return x.MaxSymlinkDepth
	}
	return 0
}

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

	// Types that are assignable to Credential:
	//
	//	*GCS_JsonServiceAccount
	//	*GCS_ApiKey
	//	*GCS_Unauthenticated
	//	*GCS_Adc
	//	*GCS_ServiceAccountFile
	//	*GCS_Oauth
	Credential     isGCS_Credential `protobuf_oneof:"credential"`
	ProjectId      string           `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	IncludeBuckets []string         `protobuf:"bytes,6,rep,name=include_buckets,json=includeBuckets,proto3" json:"include_buckets,omitempty"`
	ExcludeBuckets []string         `protobuf:"bytes,7,rep,name=exclude_buckets,json=excludeBuckets,proto3" json:"exclude_buckets,omitempty"`
	IncludeObjects []string         `protobuf:"bytes,8,rep,name=include_objects,json=includeObjects,proto3" json:"include_objects,omitempty"`
	ExcludeObjects []string         `protobuf:"bytes,9,rep,name=exclude_objects,json=excludeObjects,proto3" json:"exclude_objects,omitempty"`
	MaxObjectSize  int64            `protobuf:"varint,10,opt,name=max_object_size,json=maxObjectSize,proto3" json:"max_object_size,omitempty"`
}

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

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

func (*GCS) ProtoMessage() {}

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

func (m *GCS) GetCredential() isGCS_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GCS) GetJsonServiceAccount() string {
	if x, ok := x.GetCredential().(*GCS_JsonServiceAccount); ok {
		return x.JsonServiceAccount
	}
	return ""
}

func (x *GCS) GetApiKey() string {
	if x, ok := x.GetCredential().(*GCS_ApiKey); ok {
		return x.ApiKey
	}
	return ""
}

func (x *GCS) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*GCS_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *GCS) GetAdc() *credentialspb.CloudEnvironment {
	if x, ok := x.GetCredential().(*GCS_Adc); ok {
		return x.Adc
	}
	return nil
}

func (x *GCS) GetServiceAccountFile() string {
	if x, ok := x.GetCredential().(*GCS_ServiceAccountFile); ok {
		return x.ServiceAccountFile
	}
	return ""
}

func (x *GCS) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*GCS_Oauth); ok {
		return x.Oauth
	}
	return nil
}

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

func (x *GCS) GetIncludeBuckets() []string {
	if x != nil {
		return x.IncludeBuckets
	}
	return nil
}

func (x *GCS) GetExcludeBuckets() []string {
	if x != nil {
		return x.ExcludeBuckets
	}
	return nil
}

func (x *GCS) GetIncludeObjects() []string {
	if x != nil {
		return x.IncludeObjects
	}
	return nil
}

func (x *GCS) GetExcludeObjects() []string {
	if x != nil {
		return x.ExcludeObjects
	}
	return nil
}

func (x *GCS) GetMaxObjectSize() int64 {
	if x != nil {
		return x.MaxObjectSize
	}
	return 0
}

type isGCS_Credential interface {
	isGCS_Credential()
}

type GCS_JsonServiceAccount struct {
	JsonServiceAccount string `protobuf:"bytes,1,opt,name=json_service_account,json=jsonServiceAccount,proto3,oneof"`
}

type GCS_ApiKey struct {
	ApiKey string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3,oneof"`
}

type GCS_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}

type GCS_Adc struct {
	Adc *credentialspb.CloudEnvironment `protobuf:"bytes,4,opt,name=adc,proto3,oneof"`
}

type GCS_ServiceAccountFile struct {
	ServiceAccountFile string `protobuf:"bytes,11,opt,name=service_account_file,json=serviceAccountFile,proto3,oneof"`
}

type GCS_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,12,opt,name=oauth,proto3,oneof"`
}

func (*GCS_JsonServiceAccount) isGCS_Credential() {}

func (*GCS_ApiKey) isGCS_Credential() {}

func (*GCS_Unauthenticated) isGCS_Credential() {}

func (*GCS_Adc) isGCS_Credential() {}

func (*GCS_ServiceAccountFile) isGCS_Credential() {}

func (*GCS_Oauth) isGCS_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*Git_BasicAuth
	//	*Git_Unauthenticated
	//	*Git_SshAuth
	Credential       isGit_Credential `protobuf_oneof:"credential"`
	Directories      []string         `protobuf:"bytes,3,rep,name=directories,proto3" json:"directories,omitempty"`
	Repositories     []string         `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
	Head             string           `protobuf:"bytes,6,opt,name=head,proto3" json:"head,omitempty"`
	Base             string           `protobuf:"bytes,7,opt,name=base,proto3" json:"base,omitempty"`
	Bare             bool             `protobuf:"varint,8,opt,name=bare,proto3" json:"bare,omitempty"`
	IncludePathsFile string           `protobuf:"bytes,9,opt,name=include_paths_file,json=includePathsFile,proto3" json:"include_paths_file,omitempty"`  // path to file containing newline separated list of paths
	ExcludePathsFile string           `protobuf:"bytes,10,opt,name=exclude_paths_file,json=excludePathsFile,proto3" json:"exclude_paths_file,omitempty"` // path to file containing newline separated list of paths
	ExcludeGlobs     string           `protobuf:"bytes,11,opt,name=exclude_globs,json=excludeGlobs,proto3" json:"exclude_globs,omitempty"`               // comma separated list of globs
	MaxDepth         int64            `protobuf:"varint,12,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
	// This field is generally used by the CLI or within CI/CD systems to specify a single repository,
	// whereas the repositories field is used by the enterprise config to specify multiple repositories.
	// Passing a single repository via the uri field also allows for additional options to be specified
	// like head, base, bare, etc.
	Uri                 string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"` // repository URL. https://, file://, or ssh://
	SkipBinaries        bool   `protobuf:"varint,14,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives        bool   `protobuf:"varint,15,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
	ClonePath           string `protobuf:"bytes,16,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
	NoCleanup           bool   `protobuf:"varint,17,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
	PrintLegacyJson     bool   `protobuf:"varint,18,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
	TrustLocalGitConfig bool   `protobuf:"varint,19,opt,name=trust_local_git_config,json=trustLocalGitConfig,proto3" json:"trust_local_git_config,omitempty"` // Trust local git configurations
}

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

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

func (*Git) ProtoMessage() {}

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

func (m *Git) GetCredential() isGit_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Git) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Git_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Git) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Git_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Git) GetSshAuth() *credentialspb.SSHAuth {
	if x, ok := x.GetCredential().(*Git_SshAuth); ok {
		return x.SshAuth
	}
	return nil
}

func (x *Git) GetDirectories() []string {
	if x != nil {
		return x.Directories
	}
	return nil
}

func (x *Git) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *Git) GetHead() string {
	if x != nil {
		return x.Head
	}
	return ""
}

func (x *Git) GetBase() string {
	if x != nil {
		return x.Base
	}
	return ""
}

func (x *Git) GetBare() bool {
	if x != nil {
		return x.Bare
	}
	return false
}

func (x *Git) GetIncludePathsFile() string {
	if x != nil {
		return x.IncludePathsFile
	}
	return ""
}

func (x *Git) GetExcludePathsFile() string {
	if x != nil {
		return x.ExcludePathsFile
	}
	return ""
}

func (x *Git) GetExcludeGlobs() string {
	if x != nil {
		return x.ExcludeGlobs
	}
	return ""
}

func (x *Git) GetMaxDepth() int64 {
	if x != nil {
		return x.MaxDepth
	}
	return 0
}

func (x *Git) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *Git) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *Git) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

func (x *Git) GetClonePath() string {
	if x != nil {
		return x.ClonePath
	}
	return ""
}

func (x *Git) GetNoCleanup() bool {
	if x != nil {
		return x.NoCleanup
	}
	return false
}

func (x *Git) GetPrintLegacyJson() bool {
	if x != nil {
		return x.PrintLegacyJson
	}
	return false
}

func (x *Git) GetTrustLocalGitConfig() bool {
	if x != nil {
		return x.TrustLocalGitConfig
	}
	return false
}

type isGit_Credential interface {
	isGit_Credential()
}

type Git_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,1,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Git_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}

type Git_SshAuth struct {
	SshAuth *credentialspb.SSHAuth `protobuf:"bytes,5,opt,name=ssh_auth,json=sshAuth,proto3,oneof"`
}

func (*Git_BasicAuth) isGit_Credential() {}

func (*Git_Unauthenticated) isGit_Credential() {}

func (*Git_SshAuth) isGit_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*GitLab_Token
	//	*GitLab_Oauth
	//	*GitLab_BasicAuth
	Credential                      isGitLab_Credential `protobuf_oneof:"credential"`
	Repositories                    []string            `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
	IgnoreRepos                     []string            `protobuf:"bytes,6,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
	SkipBinaries                    bool                `protobuf:"varint,7,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives                    bool                `protobuf:"varint,8,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
	IncludeRepos                    []string            `protobuf:"bytes,9,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
	ExcludeProjectsSharedIntoGroups bool                `protobuf:"varint,10,opt,name=exclude_projects_shared_into_groups,json=excludeProjectsSharedIntoGroups,proto3" json:"exclude_projects_shared_into_groups,omitempty"`
	RemoveAuthInUrl                 bool                `protobuf:"varint,11,opt,name=remove_auth_in_url,json=removeAuthInUrl,proto3" json:"remove_auth_in_url,omitempty"`
	GroupIds                        []string            `protobuf:"bytes,12,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"`
	ClonePath                       string              `protobuf:"bytes,13,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
	NoCleanup                       bool                `protobuf:"varint,14,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
	PrintLegacyJson                 bool                `protobuf:"varint,15,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
}

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

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

func (*GitLab) ProtoMessage() {}

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

func (x *GitLab) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *GitLab) GetCredential() isGitLab_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GitLab) GetToken() string {
	if x, ok := x.GetCredential().(*GitLab_Token); ok {
		return x.Token
	}
	return ""
}

func (x *GitLab) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*GitLab_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *GitLab) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*GitLab_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *GitLab) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *GitLab) GetIgnoreRepos() []string {
	if x != nil {
		return x.IgnoreRepos
	}
	return nil
}

func (x *GitLab) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *GitLab) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

func (x *GitLab) GetIncludeRepos() []string {
	if x != nil {
		return x.IncludeRepos
	}
	return nil
}

func (x *GitLab) GetExcludeProjectsSharedIntoGroups() bool {
	if x != nil {
		return x.ExcludeProjectsSharedIntoGroups
	}
	return false
}

func (x *GitLab) GetRemoveAuthInUrl() bool {
	if x != nil {
		return x.RemoveAuthInUrl
	}
	return false
}

func (x *GitLab) GetGroupIds() []string {
	if x != nil {
		return x.GroupIds
	}
	return nil
}

func (x *GitLab) GetClonePath() string {
	if x != nil {
		return x.ClonePath
	}
	return ""
}

func (x *GitLab) GetNoCleanup() bool {
	if x != nil {
		return x.NoCleanup
	}
	return false
}

func (x *GitLab) GetPrintLegacyJson() bool {
	if x != nil {
		return x.PrintLegacyJson
	}
	return false
}

type isGitLab_Credential interface {
	isGitLab_Credential()
}

type GitLab_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type GitLab_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}

type GitLab_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,4,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

func (*GitLab_Token) isGitLab_Credential() {}

func (*GitLab_Oauth) isGitLab_Credential() {}

func (*GitLab_BasicAuth) isGitLab_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*GitHub_GithubApp
	//	*GitHub_Token
	//	*GitHub_Unauthenticated
	//	*GitHub_BasicAuth
	Credential                 isGitHub_Credential `protobuf_oneof:"credential"`
	Repositories               []string            `protobuf:"bytes,5,rep,name=repositories,proto3" json:"repositories,omitempty"`
	Organizations              []string            `protobuf:"bytes,6,rep,name=organizations,proto3" json:"organizations,omitempty"`
	ScanUsers                  bool                `protobuf:"varint,7,opt,name=scanUsers,proto3" json:"scanUsers,omitempty"`
	IncludeForks               bool                `protobuf:"varint,8,opt,name=includeForks,proto3" json:"includeForks,omitempty"`
	Head                       string              `protobuf:"bytes,9,opt,name=head,proto3" json:"head,omitempty"`
	Base                       string              `protobuf:"bytes,10,opt,name=base,proto3" json:"base,omitempty"`
	IgnoreRepos                []string            `protobuf:"bytes,11,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
	IncludeRepos               []string            `protobuf:"bytes,12,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
	IncludePullRequestComments bool                `protobuf:"varint,14,opt,name=include_pull_request_comments,json=includePullRequestComments,proto3" json:"include_pull_request_comments,omitempty"`
	IncludeIssueComments       bool                `protobuf:"varint,15,opt,name=include_issue_comments,json=includeIssueComments,proto3" json:"include_issue_comments,omitempty"`
	IncludeGistComments        bool                `protobuf:"varint,16,opt,name=include_gist_comments,json=includeGistComments,proto3" json:"include_gist_comments,omitempty"`
	SkipBinaries               bool                `protobuf:"varint,17,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives               bool                `protobuf:"varint,18,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
	IncludeWikis               bool                `protobuf:"varint,19,opt,name=include_wikis,json=includeWikis,proto3" json:"include_wikis,omitempty"`
	CommentsTimeframeDays      uint32              `protobuf:"varint,20,opt,name=comments_timeframe_days,json=commentsTimeframeDays,proto3" json:"comments_timeframe_days,omitempty"`
	RemoveAuthInUrl            bool                `protobuf:"varint,21,opt,name=remove_auth_in_url,json=removeAuthInUrl,proto3" json:"remove_auth_in_url,omitempty"`
	ClonePath                  string              `protobuf:"bytes,22,opt,name=clone_path,json=clonePath,proto3" json:"clone_path,omitempty"`
	NoCleanup                  bool                `protobuf:"varint,23,opt,name=no_cleanup,json=noCleanup,proto3" json:"no_cleanup,omitempty"`
	IgnoreGists                bool                `protobuf:"varint,24,opt,name=ignore_gists,json=ignoreGists,proto3" json:"ignore_gists,omitempty"`
	PrintLegacyJson            bool                `protobuf:"varint,25,opt,name=print_legacy_json,json=printLegacyJson,proto3" json:"print_legacy_json,omitempty"`
}

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

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

func (*GitHub) ProtoMessage() {}

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

func (x *GitHub) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *GitHub) GetCredential() isGitHub_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GitHub) GetGithubApp() *credentialspb.GitHubApp {
	if x, ok := x.GetCredential().(*GitHub_GithubApp); ok {
		return x.GithubApp
	}
	return nil
}

func (x *GitHub) GetToken() string {
	if x, ok := x.GetCredential().(*GitHub_Token); ok {
		return x.Token
	}
	return ""
}

func (x *GitHub) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*GitHub_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *GitHub) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*GitHub_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *GitHub) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *GitHub) GetOrganizations() []string {
	if x != nil {
		return x.Organizations
	}
	return nil
}

func (x *GitHub) GetScanUsers() bool {
	if x != nil {
		return x.ScanUsers
	}
	return false
}

func (x *GitHub) GetIncludeForks() bool {
	if x != nil {
		return x.IncludeForks
	}
	return false
}

func (x *GitHub) GetHead() string {
	if x != nil {
		return x.Head
	}
	return ""
}

func (x *GitHub) GetBase() string {
	if x != nil {
		return x.Base
	}
	return ""
}

func (x *GitHub) GetIgnoreRepos() []string {
	if x != nil {
		return x.IgnoreRepos
	}
	return nil
}

func (x *GitHub) GetIncludeRepos() []string {
	if x != nil {
		return x.IncludeRepos
	}
	return nil
}

func (x *GitHub) GetIncludePullRequestComments() bool {
	if x != nil {
		return x.IncludePullRequestComments
	}
	return false
}

func (x *GitHub) GetIncludeIssueComments() bool {
	if x != nil {
		return x.IncludeIssueComments
	}
	return false
}

func (x *GitHub) GetIncludeGistComments() bool {
	if x != nil {
		return x.IncludeGistComments
	}
	return false
}

func (x *GitHub) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *GitHub) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

func (x *GitHub) GetIncludeWikis() bool {
	if x != nil {
		return x.IncludeWikis
	}
	return false
}

func (x *GitHub) GetCommentsTimeframeDays() uint32 {
	if x != nil {
		return x.CommentsTimeframeDays
	}
	return 0
}

func (x *GitHub) GetRemoveAuthInUrl() bool {
	if x != nil {
		return x.RemoveAuthInUrl
	}
	return false
}

func (x *GitHub) GetClonePath() string {
	if x != nil {
		return x.ClonePath
	}
	return ""
}

func (x *GitHub) GetNoCleanup() bool {
	if x != nil {
		return x.NoCleanup
	}
	return false
}

func (x *GitHub) GetIgnoreGists() bool {
	if x != nil {
		return x.IgnoreGists
	}
	return false
}

func (x *GitHub) GetPrintLegacyJson() bool {
	if x != nil {
		return x.PrintLegacyJson
	}
	return false
}

type isGitHub_Credential interface {
	isGitHub_Credential()
}

type GitHub_GithubApp struct {
	GithubApp *credentialspb.GitHubApp `protobuf:"bytes,2,opt,name=github_app,json=githubApp,proto3,oneof"`
}

type GitHub_Token struct {
	Token string `protobuf:"bytes,3,opt,name=token,proto3,oneof"`
}

type GitHub_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,4,opt,name=unauthenticated,proto3,oneof"`
}

type GitHub_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,13,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

func (*GitHub_GithubApp) isGitHub_Credential() {}

func (*GitHub_Token) isGitHub_Credential() {}

func (*GitHub_Unauthenticated) isGitHub_Credential() {}

func (*GitHub_BasicAuth) isGitHub_Credential() {}

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

	Repository string `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*GitHubExperimental_Token
	Credential         isGitHubExperimental_Credential `protobuf_oneof:"credential"`
	ObjectDiscovery    bool                            `protobuf:"varint,3,opt,name=object_discovery,json=objectDiscovery,proto3" json:"object_discovery,omitempty"`
	CollisionThreshold int64                           `protobuf:"varint,4,opt,name=collision_threshold,json=collisionThreshold,proto3" json:"collision_threshold,omitempty"`
	DeleteCachedData   bool                            `protobuf:"varint,5,opt,name=delete_cached_data,json=deleteCachedData,proto3" json:"delete_cached_data,omitempty"`
}

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

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

func (*GitHubExperimental) ProtoMessage() {}

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

func (x *GitHubExperimental) GetRepository() string {
	if x != nil {
		return x.Repository
	}
	return ""
}

func (m *GitHubExperimental) GetCredential() isGitHubExperimental_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GitHubExperimental) GetToken() string {
	if x, ok := x.GetCredential().(*GitHubExperimental_Token); ok {
		return x.Token
	}
	return ""
}

func (x *GitHubExperimental) GetObjectDiscovery() bool {
	if x != nil {
		return x.ObjectDiscovery
	}
	return false
}

func (x *GitHubExperimental) GetCollisionThreshold() int64 {
	if x != nil {
		return x.CollisionThreshold
	}
	return 0
}

func (x *GitHubExperimental) GetDeleteCachedData() bool {
	if x != nil {
		return x.DeleteCachedData
	}
	return false
}

type isGitHubExperimental_Credential interface {
	isGitHubExperimental_Credential()
}

type GitHubExperimental_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

func (*GitHubExperimental_Token) isGitHubExperimental_Credential() {}

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

	ListenerPort  uint32 `protobuf:"varint,1,opt,name=listener_port,json=listenerPort,proto3" json:"listener_port,omitempty"`
	WebhookSecret string `protobuf:"bytes,2,opt,name=webhook_secret,json=webhookSecret,proto3" json:"webhook_secret,omitempty"`
	Endpoint      string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*GitHubRealtime_GithubApp
	//	*GitHubRealtime_Token
	//	*GitHubRealtime_Unauthenticated
	//	*GitHubRealtime_BasicAuth
	Credential isGitHubRealtime_Credential `protobuf_oneof:"credential"`
}

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

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

func (*GitHubRealtime) ProtoMessage() {}

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

func (x *GitHubRealtime) GetListenerPort() uint32 {
	if x != nil {
		return x.ListenerPort
	}
	return 0
}

func (x *GitHubRealtime) GetWebhookSecret() string {
	if x != nil {
		return x.WebhookSecret
	}
	return ""
}

func (x *GitHubRealtime) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *GitHubRealtime) GetCredential() isGitHubRealtime_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GitHubRealtime) GetGithubApp() *credentialspb.GitHubApp {
	if x, ok := x.GetCredential().(*GitHubRealtime_GithubApp); ok {
		return x.GithubApp
	}
	return nil
}

func (x *GitHubRealtime) GetToken() string {
	if x, ok := x.GetCredential().(*GitHubRealtime_Token); ok {
		return x.Token
	}
	return ""
}

func (x *GitHubRealtime) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*GitHubRealtime_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *GitHubRealtime) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*GitHubRealtime_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

type isGitHubRealtime_Credential interface {
	isGitHubRealtime_Credential()
}

type GitHubRealtime_GithubApp struct {
	GithubApp *credentialspb.GitHubApp `protobuf:"bytes,4,opt,name=github_app,json=githubApp,proto3,oneof"`
}

type GitHubRealtime_Token struct {
	Token string `protobuf:"bytes,5,opt,name=token,proto3,oneof"`
}

type GitHubRealtime_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,6,opt,name=unauthenticated,proto3,oneof"`
}

type GitHubRealtime_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,7,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

func (*GitHubRealtime_GithubApp) isGitHubRealtime_Credential() {}

func (*GitHubRealtime_Token) isGitHubRealtime_Credential() {}

func (*GitHubRealtime_Unauthenticated) isGitHubRealtime_Credential() {}

func (*GitHubRealtime_BasicAuth) isGitHubRealtime_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*GoogleDrive_RefreshToken
	//	*GoogleDrive_UseTokenService
	//	*GoogleDrive_Oauth
	//	*GoogleDrive_Dwd
	Credential isGoogleDrive_Credential `protobuf_oneof:"credential"`
}

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

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

func (*GoogleDrive) ProtoMessage() {}

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

func (m *GoogleDrive) GetCredential() isGoogleDrive_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *GoogleDrive) GetRefreshToken() string {
	if x, ok := x.GetCredential().(*GoogleDrive_RefreshToken); ok {
		return x.RefreshToken
	}
	return ""
}

func (x *GoogleDrive) GetUseTokenService() bool {
	if x, ok := x.GetCredential().(*GoogleDrive_UseTokenService); ok {
		return x.UseTokenService
	}
	return false
}

func (x *GoogleDrive) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*GoogleDrive_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *GoogleDrive) GetDwd() *credentialspb.GoogleDriveDWD {
	if x, ok := x.GetCredential().(*GoogleDrive_Dwd); ok {
		return x.Dwd
	}
	return nil
}

type isGoogleDrive_Credential interface {
	isGoogleDrive_Credential()
}

type GoogleDrive_RefreshToken struct {
	RefreshToken string `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3,oneof"`
}

type GoogleDrive_UseTokenService struct {
	UseTokenService bool `protobuf:"varint,2,opt,name=use_token_service,json=useTokenService,proto3,oneof"`
}

type GoogleDrive_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"` // on-prem scanning
}

type GoogleDrive_Dwd struct {
	Dwd *credentialspb.GoogleDriveDWD `protobuf:"bytes,4,opt,name=dwd,proto3,oneof"` // Domain-Wide Delegation
}

func (*GoogleDrive_RefreshToken) isGoogleDrive_Credential() {}

func (*GoogleDrive_UseTokenService) isGoogleDrive_Credential() {}

func (*GoogleDrive_Oauth) isGoogleDrive_Credential() {}

func (*GoogleDrive_Dwd) isGoogleDrive_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Huggingface_Token
	//	*Huggingface_Unauthenticated
	Credential         isHuggingface_Credential `protobuf_oneof:"credential"`
	Models             []string                 `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty"`
	Spaces             []string                 `protobuf:"bytes,5,rep,name=spaces,proto3" json:"spaces,omitempty"`
	Datasets           []string                 `protobuf:"bytes,12,rep,name=datasets,proto3" json:"datasets,omitempty"`
	Organizations      []string                 `protobuf:"bytes,6,rep,name=organizations,proto3" json:"organizations,omitempty"`
	Users              []string                 `protobuf:"bytes,15,rep,name=users,proto3" json:"users,omitempty"`
	IgnoreModels       []string                 `protobuf:"bytes,7,rep,name=ignore_models,json=ignoreModels,proto3" json:"ignore_models,omitempty"`
	IncludeModels      []string                 `protobuf:"bytes,8,rep,name=include_models,json=includeModels,proto3" json:"include_models,omitempty"`
	IgnoreSpaces       []string                 `protobuf:"bytes,9,rep,name=ignore_spaces,json=ignoreSpaces,proto3" json:"ignore_spaces,omitempty"`
	IncludeSpaces      []string                 `protobuf:"bytes,10,rep,name=include_spaces,json=includeSpaces,proto3" json:"include_spaces,omitempty"`
	IgnoreDatasets     []string                 `protobuf:"bytes,13,rep,name=ignore_datasets,json=ignoreDatasets,proto3" json:"ignore_datasets,omitempty"`
	IncludeDatasets    []string                 `protobuf:"bytes,14,rep,name=include_datasets,json=includeDatasets,proto3" json:"include_datasets,omitempty"`
	SkipAllModels      bool                     `protobuf:"varint,16,opt,name=skip_all_models,json=skipAllModels,proto3" json:"skip_all_models,omitempty"`
	SkipAllSpaces      bool                     `protobuf:"varint,17,opt,name=skip_all_spaces,json=skipAllSpaces,proto3" json:"skip_all_spaces,omitempty"`
	SkipAllDatasets    bool                     `protobuf:"varint,18,opt,name=skip_all_datasets,json=skipAllDatasets,proto3" json:"skip_all_datasets,omitempty"`
	IncludeDiscussions bool                     `protobuf:"varint,11,opt,name=include_discussions,json=includeDiscussions,proto3" json:"include_discussions,omitempty"`
	IncludePrs         bool                     `protobuf:"varint,19,opt,name=include_prs,json=includePrs,proto3" json:"include_prs,omitempty"`
}

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

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

func (*Huggingface) ProtoMessage() {}

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

func (x *Huggingface) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Huggingface) GetCredential() isHuggingface_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Huggingface) GetToken() string {
	if x, ok := x.GetCredential().(*Huggingface_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Huggingface) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Huggingface_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Huggingface) GetModels() []string {
	if x != nil {
		return x.Models
	}
	return nil
}

func (x *Huggingface) GetSpaces() []string {
	if x != nil {
		return x.Spaces
	}
	return nil
}

func (x *Huggingface) GetDatasets() []string {
	if x != nil {
		return x.Datasets
	}
	return nil
}

func (x *Huggingface) GetOrganizations() []string {
	if x != nil {
		return x.Organizations
	}
	return nil
}

func (x *Huggingface) GetUsers() []string {
	if x != nil {
		return x.Users
	}
	return nil
}

func (x *Huggingface) GetIgnoreModels() []string {
	if x != nil {
		return x.IgnoreModels
	}
	return nil
}

func (x *Huggingface) GetIncludeModels() []string {
	if x != nil {
		return x.IncludeModels
	}
	return nil
}

func (x *Huggingface) GetIgnoreSpaces() []string {
	if x != nil {
		return x.IgnoreSpaces
	}
	return nil
}

func (x *Huggingface) GetIncludeSpaces() []string {
	if x != nil {
		return x.IncludeSpaces
	}
	return nil
}

func (x *Huggingface) GetIgnoreDatasets() []string {
	if x != nil {
		return x.IgnoreDatasets
	}
	return nil
}

func (x *Huggingface) GetIncludeDatasets() []string {
	if x != nil {
		return x.IncludeDatasets
	}
	return nil
}

func (x *Huggingface) GetSkipAllModels() bool {
	if x != nil {
		return x.SkipAllModels
	}
	return false
}

func (x *Huggingface) GetSkipAllSpaces() bool {
	if x != nil {
		return x.SkipAllSpaces
	}
	return false
}

func (x *Huggingface) GetSkipAllDatasets() bool {
	if x != nil {
		return x.SkipAllDatasets
	}
	return false
}

func (x *Huggingface) GetIncludeDiscussions() bool {
	if x != nil {
		return x.IncludeDiscussions
	}
	return false
}

func (x *Huggingface) GetIncludePrs() bool {
	if x != nil {
		return x.IncludePrs
	}
	return false
}

type isHuggingface_Credential interface {
	isHuggingface_Credential()
}

type Huggingface_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type Huggingface_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}

func (*Huggingface_Token) isHuggingface_Credential() {}

func (*Huggingface_Unauthenticated) isHuggingface_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*JIRA_BasicAuth
	//	*JIRA_Unauthenticated
	//	*JIRA_Oauth
	//	*JIRA_Token
	Credential            isJIRA_Credential `protobuf_oneof:"credential"`
	Projects              []string          `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty"`
	IgnoreProjects        []string          `protobuf:"bytes,7,rep,name=ignore_projects,json=ignoreProjects,proto3" json:"ignore_projects,omitempty"`
	InsecureSkipVerifyTls bool              `protobuf:"varint,8,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
	// Override autodetection of Jira installation type.
	// Defaults to AUTODETECT which checks for cloud-only endpoints.
	InstallationType JiraInstallationType `protobuf:"varint,9,opt,name=installation_type,json=installationType,proto3,enum=sources.JiraInstallationType" json:"installation_type,omitempty"`
}

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

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

func (*JIRA) ProtoMessage() {}

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

func (x *JIRA) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *JIRA) GetCredential() isJIRA_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *JIRA) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*JIRA_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *JIRA) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*JIRA_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *JIRA) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*JIRA_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *JIRA) GetToken() string {
	if x, ok := x.GetCredential().(*JIRA_Token); ok {
		return x.Token
	}
	return ""
}

func (x *JIRA) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

func (x *JIRA) GetIgnoreProjects() []string {
	if x != nil {
		return x.IgnoreProjects
	}
	return nil
}

func (x *JIRA) GetInsecureSkipVerifyTls() bool {
	if x != nil {
		return x.InsecureSkipVerifyTls
	}
	return false
}

func (x *JIRA) GetInstallationType() JiraInstallationType {
	if x != nil {
		return x.InstallationType
	}
	return JiraInstallationType_JIRA_INSTALLATION_TYPE_AUTODETECT
}

type isJIRA_Credential interface {
	isJIRA_Credential()
}

type JIRA_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type JIRA_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}

type JIRA_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,4,opt,name=oauth,proto3,oneof"`
}

type JIRA_Token struct {
	Token string `protobuf:"bytes,6,opt,name=token,proto3,oneof"`
}

func (*JIRA_BasicAuth) isJIRA_Credential() {}

func (*JIRA_Unauthenticated) isJIRA_Credential() {}

func (*JIRA_Oauth) isJIRA_Credential() {}

func (*JIRA_Token) isJIRA_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*NPMUnauthenticatedPackage_Unauthenticated
	Credential isNPMUnauthenticatedPackage_Credential `protobuf_oneof:"credential"`
}

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

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

func (*NPMUnauthenticatedPackage) ProtoMessage() {}

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

func (m *NPMUnauthenticatedPackage) GetCredential() isNPMUnauthenticatedPackage_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *NPMUnauthenticatedPackage) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*NPMUnauthenticatedPackage_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

type isNPMUnauthenticatedPackage_Credential interface {
	isNPMUnauthenticatedPackage_Credential()
}

type NPMUnauthenticatedPackage_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}

func (*NPMUnauthenticatedPackage_Unauthenticated) isNPMUnauthenticatedPackage_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*PyPIUnauthenticatedPackage_Unauthenticated
	Credential isPyPIUnauthenticatedPackage_Credential `protobuf_oneof:"credential"`
}

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

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

func (*PyPIUnauthenticatedPackage) ProtoMessage() {}

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

func (m *PyPIUnauthenticatedPackage) GetCredential() isPyPIUnauthenticatedPackage_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *PyPIUnauthenticatedPackage) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*PyPIUnauthenticatedPackage_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

type isPyPIUnauthenticatedPackage_Credential interface {
	isPyPIUnauthenticatedPackage_Credential()
}

type PyPIUnauthenticatedPackage_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}

func (*PyPIUnauthenticatedPackage_Unauthenticated) isPyPIUnauthenticatedPackage_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*S3_AccessKey
	//	*S3_Unauthenticated
	//	*S3_CloudEnvironment
	//	*S3_SessionToken
	Credential    isS3_Credential `protobuf_oneof:"credential"`
	Buckets       []string        `protobuf:"bytes,3,rep,name=buckets,proto3" json:"buckets,omitempty"`
	MaxObjectSize int64           `protobuf:"varint,6,opt,name=max_object_size,json=maxObjectSize,proto3" json:"max_object_size,omitempty"`
	Roles         []string        `protobuf:"bytes,7,rep,name=roles,proto3" json:"roles,omitempty"`
	IgnoreBuckets []string        `protobuf:"bytes,8,rep,name=ignore_buckets,json=ignoreBuckets,proto3" json:"ignore_buckets,omitempty"`
	// Deprecated: Marked as deprecated in sources.proto.
	EnableResumption bool `protobuf:"varint,9,opt,name=enable_resumption,json=enableResumption,proto3" json:"enable_resumption,omitempty"`
}

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

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

func (*S3) ProtoMessage() {}

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

func (m *S3) GetCredential() isS3_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *S3) GetAccessKey() *credentialspb.KeySecret {
	if x, ok := x.GetCredential().(*S3_AccessKey); ok {
		return x.AccessKey
	}
	return nil
}

func (x *S3) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*S3_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *S3) GetCloudEnvironment() *credentialspb.CloudEnvironment {
	if x, ok := x.GetCredential().(*S3_CloudEnvironment); ok {
		return x.CloudEnvironment
	}
	return nil
}

func (x *S3) GetSessionToken() *credentialspb.AWSSessionTokenSecret {
	if x, ok := x.GetCredential().(*S3_SessionToken); ok {
		return x.SessionToken
	}
	return nil
}

func (x *S3) GetBuckets() []string {
	if x != nil {
		return x.Buckets
	}
	return nil
}

func (x *S3) GetMaxObjectSize() int64 {
	if x != nil {
		return x.MaxObjectSize
	}
	return 0
}

func (x *S3) GetRoles() []string {
	if x != nil {
		return x.Roles
	}
	return nil
}

func (x *S3) GetIgnoreBuckets() []string {
	if x != nil {
		return x.IgnoreBuckets
	}
	return nil
}

// Deprecated: Marked as deprecated in sources.proto.
func (x *S3) GetEnableResumption() bool {
	if x != nil {
		return x.EnableResumption
	}
	return false
}

type isS3_Credential interface {
	isS3_Credential()
}

type S3_AccessKey struct {
	AccessKey *credentialspb.KeySecret `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3,oneof"`
}

type S3_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,2,opt,name=unauthenticated,proto3,oneof"`
}

type S3_CloudEnvironment struct {
	CloudEnvironment *credentialspb.CloudEnvironment `protobuf:"bytes,4,opt,name=cloud_environment,json=cloudEnvironment,proto3,oneof"`
}

type S3_SessionToken struct {
	SessionToken *credentialspb.AWSSessionTokenSecret `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3,oneof"`
}

func (*S3_AccessKey) isS3_Credential() {}

func (*S3_Unauthenticated) isS3_Credential() {}

func (*S3_CloudEnvironment) isS3_Credential() {}

func (*S3_SessionToken) isS3_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Slack_Token
	//	*Slack_Tokens
	Credential isSlack_Credential `protobuf_oneof:"credential"`
	Channels   []string           `protobuf:"bytes,3,rep,name=channels,proto3" json:"channels,omitempty"`
	IgnoreList []string           `protobuf:"bytes,4,rep,name=ignore_list,json=ignoreList,proto3" json:"ignore_list,omitempty"`
}

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

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

func (*Slack) ProtoMessage() {}

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

func (x *Slack) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Slack) GetCredential() isSlack_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Slack) GetToken() string {
	if x, ok := x.GetCredential().(*Slack_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Slack) GetTokens() *credentialspb.SlackTokens {
	if x, ok := x.GetCredential().(*Slack_Tokens); ok {
		return x.Tokens
	}
	return nil
}

func (x *Slack) GetChannels() []string {
	if x != nil {
		return x.Channels
	}
	return nil
}

func (x *Slack) GetIgnoreList() []string {
	if x != nil {
		return x.IgnoreList
	}
	return nil
}

type isSlack_Credential interface {
	isSlack_Credential()
}

type Slack_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type Slack_Tokens struct {
	Tokens *credentialspb.SlackTokens `protobuf:"bytes,5,opt,name=tokens,proto3,oneof"`
}

func (*Slack_Token) isSlack_Credential() {}

func (*Slack_Tokens) isSlack_Credential() {}

type Test struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Test) ProtoMessage() {}

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

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

	// Types that are assignable to Credential:
	//
	//	*Buildkite_Token
	Credential isBuildkite_Credential `protobuf_oneof:"credential"`
}

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

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

func (*Buildkite) ProtoMessage() {}

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

func (m *Buildkite) GetCredential() isBuildkite_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Buildkite) GetToken() string {
	if x, ok := x.GetCredential().(*Buildkite_Token); ok {
		return x.Token
	}
	return ""
}

type isBuildkite_Credential interface {
	isBuildkite_Credential()
}

type Buildkite_Token struct {
	Token string `protobuf:"bytes,1,opt,name=token,proto3,oneof"`
}

func (*Buildkite_Token) isBuildkite_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Gerrit_BasicAuth
	//	*Gerrit_Unauthenticated
	Credential   isGerrit_Credential `protobuf_oneof:"credential"`
	Projects     []string            `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"`
	SkipBinaries bool                `protobuf:"varint,5,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives bool                `protobuf:"varint,6,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
}

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

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

func (*Gerrit) ProtoMessage() {}

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

func (x *Gerrit) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Gerrit) GetCredential() isGerrit_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Gerrit) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Gerrit_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Gerrit) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Gerrit_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Gerrit) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

func (x *Gerrit) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *Gerrit) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

type isGerrit_Credential interface {
	isGerrit_Credential()
}

type Gerrit_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Gerrit_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,3,opt,name=unauthenticated,proto3,oneof"`
}

func (*Gerrit_BasicAuth) isGerrit_Credential() {}

func (*Gerrit_Unauthenticated) isGerrit_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Jenkins_BasicAuth
	//	*Jenkins_Header
	//	*Jenkins_Unauthenticated
	Credential            isJenkins_Credential `protobuf_oneof:"credential"`
	InsecureSkipVerifyTls bool                 `protobuf:"varint,4,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
}

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

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

func (*Jenkins) ProtoMessage() {}

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

func (x *Jenkins) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Jenkins) GetCredential() isJenkins_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Jenkins) GetBasicAuth() *credentialspb.BasicAuth {
	if x, ok := x.GetCredential().(*Jenkins_BasicAuth); ok {
		return x.BasicAuth
	}
	return nil
}

func (x *Jenkins) GetHeader() *credentialspb.Header {
	if x, ok := x.GetCredential().(*Jenkins_Header); ok {
		return x.Header
	}
	return nil
}

func (x *Jenkins) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Jenkins_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Jenkins) GetInsecureSkipVerifyTls() bool {
	if x != nil {
		return x.InsecureSkipVerifyTls
	}
	return false
}

type isJenkins_Credential interface {
	isJenkins_Credential()
}

type Jenkins_BasicAuth struct {
	BasicAuth *credentialspb.BasicAuth `protobuf:"bytes,2,opt,name=basic_auth,json=basicAuth,proto3,oneof"`
}

type Jenkins_Header struct {
	Header *credentialspb.Header `protobuf:"bytes,3,opt,name=header,proto3,oneof"`
}

type Jenkins_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,5,opt,name=unauthenticated,proto3,oneof"`
}

func (*Jenkins_BasicAuth) isJenkins_Credential() {}

func (*Jenkins_Header) isJenkins_Credential() {}

func (*Jenkins_Unauthenticated) isJenkins_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Teams_Token
	//	*Teams_Authenticated
	//	*Teams_Oauth
	Credential isTeams_Credential `protobuf_oneof:"credential"`
	Channels   []string           `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"`
	IgnoreList []string           `protobuf:"bytes,5,rep,name=ignore_list,json=ignoreList,proto3" json:"ignore_list,omitempty"`
	TeamIds    []string           `protobuf:"bytes,6,rep,name=team_ids,json=teamIds,proto3" json:"team_ids,omitempty"`
	TenantId   string             `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
}

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

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

func (*Teams) ProtoMessage() {}

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

func (x *Teams) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Teams) GetCredential() isTeams_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Teams) GetToken() string {
	if x, ok := x.GetCredential().(*Teams_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Teams) GetAuthenticated() *credentialspb.ClientCredentials {
	if x, ok := x.GetCredential().(*Teams_Authenticated); ok {
		return x.Authenticated
	}
	return nil
}

func (x *Teams) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*Teams_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *Teams) GetChannels() []string {
	if x != nil {
		return x.Channels
	}
	return nil
}

func (x *Teams) GetIgnoreList() []string {
	if x != nil {
		return x.IgnoreList
	}
	return nil
}

func (x *Teams) GetTeamIds() []string {
	if x != nil {
		return x.TeamIds
	}
	return nil
}

func (x *Teams) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type isTeams_Credential interface {
	isTeams_Credential()
}

type Teams_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type Teams_Authenticated struct {
	Authenticated *credentialspb.ClientCredentials `protobuf:"bytes,3,opt,name=authenticated,proto3,oneof"`
}

type Teams_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,7,opt,name=oauth,proto3,oneof"`
}

func (*Teams_Token) isTeams_Credential() {}

func (*Teams_Authenticated) isTeams_Credential() {}

func (*Teams_Oauth) isTeams_Credential() {}

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

	Protocol      string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
	ListenAddress string `protobuf:"bytes,2,opt,name=listen_address,json=listenAddress,proto3" json:"listen_address,omitempty"`
	TlsCert       string `protobuf:"bytes,3,opt,name=tlsCert,proto3" json:"tlsCert,omitempty"`
	TlsKey        string `protobuf:"bytes,4,opt,name=tlsKey,proto3" json:"tlsKey,omitempty"`
	Format        string `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"`
}

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

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

func (*Syslog) ProtoMessage() {}

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

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

func (x *Syslog) GetProtocol() string {
	if x != nil {
		return x.Protocol
	}
	return ""
}

func (x *Syslog) GetListenAddress() string {
	if x != nil {
		return x.ListenAddress
	}
	return ""
}

func (x *Syslog) GetTlsCert() string {
	if x != nil {
		return x.TlsCert
	}
	return ""
}

func (x *Syslog) GetTlsKey() string {
	if x != nil {
		return x.TlsKey
	}
	return ""
}

func (x *Syslog) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

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

	// Types that are assignable to Credential:
	//
	//	*Forager_Unauthenticated
	Credential isForager_Credential   `protobuf_oneof:"credential"`
	Domains    []string               `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"`
	MaxDepth   int64                  `protobuf:"varint,3,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
	Since      *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=since,proto3" json:"since,omitempty"`
}

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

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

func (*Forager) ProtoMessage() {}

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

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

func (m *Forager) GetCredential() isForager_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Forager) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Forager_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Forager) GetDomains() []string {
	if x != nil {
		return x.Domains
	}
	return nil
}

func (x *Forager) GetMaxDepth() int64 {
	if x != nil {
		return x.MaxDepth
	}
	return 0
}

func (x *Forager) GetSince() *timestamppb.Timestamp {
	if x != nil {
		return x.Since
	}
	return nil
}

type isForager_Credential interface {
	isForager_Credential()
}

type Forager_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}

func (*Forager_Unauthenticated) isForager_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*SlackRealtime_Tokens
	Credential isSlackRealtime_Credential `protobuf_oneof:"credential"`
}

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

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

func (*SlackRealtime) ProtoMessage() {}

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

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

func (m *SlackRealtime) GetCredential() isSlackRealtime_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *SlackRealtime) GetTokens() *credentialspb.SlackTokens {
	if x, ok := x.GetCredential().(*SlackRealtime_Tokens); ok {
		return x.Tokens
	}
	return nil
}

type isSlackRealtime_Credential interface {
	isSlackRealtime_Credential()
}

type SlackRealtime_Tokens struct {
	Tokens *credentialspb.SlackTokens `protobuf:"bytes,1,opt,name=tokens,proto3,oneof"`
}

func (*SlackRealtime_Tokens) isSlackRealtime_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*Sharepoint_Oauth
	Credential         isSharepoint_Credential `protobuf_oneof:"credential"`
	SiteUrl            string                  `protobuf:"bytes,2,opt,name=site_url,json=siteUrl,proto3" json:"site_url,omitempty"`
	IncludeVersions    bool                    `protobuf:"varint,3,opt,name=include_versions,json=includeVersions,proto3" json:"include_versions,omitempty"`
	IncludeComments    bool                    `protobuf:"varint,4,opt,name=include_comments,json=includeComments,proto3" json:"include_comments,omitempty"`
	IncludeAttachments bool                    `protobuf:"varint,5,opt,name=include_attachments,json=includeAttachments,proto3" json:"include_attachments,omitempty"`
}

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

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

func (*Sharepoint) ProtoMessage() {}

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

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

func (m *Sharepoint) GetCredential() isSharepoint_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Sharepoint) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*Sharepoint_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *Sharepoint) GetSiteUrl() string {
	if x != nil {
		return x.SiteUrl
	}
	return ""
}

func (x *Sharepoint) GetIncludeVersions() bool {
	if x != nil {
		return x.IncludeVersions
	}
	return false
}

func (x *Sharepoint) GetIncludeComments() bool {
	if x != nil {
		return x.IncludeComments
	}
	return false
}

func (x *Sharepoint) GetIncludeAttachments() bool {
	if x != nil {
		return x.IncludeAttachments
	}
	return false
}

type isSharepoint_Credential interface {
	isSharepoint_Credential()
}

type Sharepoint_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,1,opt,name=oauth,proto3,oneof"`
}

func (*Sharepoint_Oauth) isSharepoint_Credential() {}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*AzureRepos_Token
	//	*AzureRepos_Oauth
	Credential      isAzureRepos_Credential `protobuf_oneof:"credential"`
	Repositories    []string                `protobuf:"bytes,4,rep,name=repositories,proto3" json:"repositories,omitempty"`
	Organizations   []string                `protobuf:"bytes,5,rep,name=organizations,proto3" json:"organizations,omitempty"`
	Projects        []string                `protobuf:"bytes,6,rep,name=projects,proto3" json:"projects,omitempty"`
	IncludeForks    bool                    `protobuf:"varint,7,opt,name=include_forks,json=includeForks,proto3" json:"include_forks,omitempty"`
	IgnoreRepos     []string                `protobuf:"bytes,8,rep,name=ignore_repos,json=ignoreRepos,proto3" json:"ignore_repos,omitempty"`
	IncludeRepos    []string                `protobuf:"bytes,9,rep,name=include_repos,json=includeRepos,proto3" json:"include_repos,omitempty"`
	IncludeProjects []string                `protobuf:"bytes,10,rep,name=include_projects,json=includeProjects,proto3" json:"include_projects,omitempty"`
	IgnoreProjects  []string                `protobuf:"bytes,11,rep,name=ignore_projects,json=ignoreProjects,proto3" json:"ignore_projects,omitempty"`
	SkipBinaries    bool                    `protobuf:"varint,12,opt,name=skip_binaries,json=skipBinaries,proto3" json:"skip_binaries,omitempty"`
	SkipArchives    bool                    `protobuf:"varint,13,opt,name=skip_archives,json=skipArchives,proto3" json:"skip_archives,omitempty"`
}

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

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

func (*AzureRepos) ProtoMessage() {}

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

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

func (x *AzureRepos) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *AzureRepos) GetCredential() isAzureRepos_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *AzureRepos) GetToken() string {
	if x, ok := x.GetCredential().(*AzureRepos_Token); ok {
		return x.Token
	}
	return ""
}

func (x *AzureRepos) GetOauth() *credentialspb.Oauth2 {
	if x, ok := x.GetCredential().(*AzureRepos_Oauth); ok {
		return x.Oauth
	}
	return nil
}

func (x *AzureRepos) GetRepositories() []string {
	if x != nil {
		return x.Repositories
	}
	return nil
}

func (x *AzureRepos) GetOrganizations() []string {
	if x != nil {
		return x.Organizations
	}
	return nil
}

func (x *AzureRepos) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

func (x *AzureRepos) GetIncludeForks() bool {
	if x != nil {
		return x.IncludeForks
	}
	return false
}

func (x *AzureRepos) GetIgnoreRepos() []string {
	if x != nil {
		return x.IgnoreRepos
	}
	return nil
}

func (x *AzureRepos) GetIncludeRepos() []string {
	if x != nil {
		return x.IncludeRepos
	}
	return nil
}

func (x *AzureRepos) GetIncludeProjects() []string {
	if x != nil {
		return x.IncludeProjects
	}
	return nil
}

func (x *AzureRepos) GetIgnoreProjects() []string {
	if x != nil {
		return x.IgnoreProjects
	}
	return nil
}

func (x *AzureRepos) GetSkipBinaries() bool {
	if x != nil {
		return x.SkipBinaries
	}
	return false
}

func (x *AzureRepos) GetSkipArchives() bool {
	if x != nil {
		return x.SkipArchives
	}
	return false
}

type isAzureRepos_Credential interface {
	isAzureRepos_Credential()
}

type AzureRepos_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

type AzureRepos_Oauth struct {
	Oauth *credentialspb.Oauth2 `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}

func (*AzureRepos_Token) isAzureRepos_Credential() {}

func (*AzureRepos_Oauth) isAzureRepos_Credential() {}

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

	// Types that are assignable to Credential:
	//
	//	*Postman_Unauthenticated
	//	*Postman_Token
	Credential          isPostman_Credential `protobuf_oneof:"credential"`
	Workspaces          []string             `protobuf:"bytes,3,rep,name=workspaces,proto3" json:"workspaces,omitempty"`
	Collections         []string             `protobuf:"bytes,4,rep,name=collections,proto3" json:"collections,omitempty"`
	Environments        []string             `protobuf:"bytes,5,rep,name=environments,proto3" json:"environments,omitempty"`
	ExcludeCollections  []string             `protobuf:"bytes,6,rep,name=exclude_collections,json=excludeCollections,proto3" json:"exclude_collections,omitempty"`
	ExcludeEnvironments []string             `protobuf:"bytes,7,rep,name=exclude_environments,json=excludeEnvironments,proto3" json:"exclude_environments,omitempty"`
	IncludeCollections  []string             `protobuf:"bytes,8,rep,name=include_collections,json=includeCollections,proto3" json:"include_collections,omitempty"`
	IncludeEnvironments []string             `protobuf:"bytes,9,rep,name=include_environments,json=includeEnvironments,proto3" json:"include_environments,omitempty"`
	DetectorKeywords    []string             `protobuf:"bytes,10,rep,name=detector_keywords,json=detectorKeywords,proto3" json:"detector_keywords,omitempty"`
	WorkspacePaths      []string             `protobuf:"bytes,11,rep,name=workspace_paths,json=workspacePaths,proto3" json:"workspace_paths,omitempty"`
	CollectionPaths     []string             `protobuf:"bytes,12,rep,name=collection_paths,json=collectionPaths,proto3" json:"collection_paths,omitempty"`
	EnvironmentPaths    []string             `protobuf:"bytes,13,rep,name=environment_paths,json=environmentPaths,proto3" json:"environment_paths,omitempty"`
}

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

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

func (*Postman) ProtoMessage() {}

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

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

func (m *Postman) GetCredential() isPostman_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Postman) GetUnauthenticated() *credentialspb.Unauthenticated {
	if x, ok := x.GetCredential().(*Postman_Unauthenticated); ok {
		return x.Unauthenticated
	}
	return nil
}

func (x *Postman) GetToken() string {
	if x, ok := x.GetCredential().(*Postman_Token); ok {
		return x.Token
	}
	return ""
}

func (x *Postman) GetWorkspaces() []string {
	if x != nil {
		return x.Workspaces
	}
	return nil
}

func (x *Postman) GetCollections() []string {
	if x != nil {
		return x.Collections
	}
	return nil
}

func (x *Postman) GetEnvironments() []string {
	if x != nil {
		return x.Environments
	}
	return nil
}

func (x *Postman) GetExcludeCollections() []string {
	if x != nil {
		return x.ExcludeCollections
	}
	return nil
}

func (x *Postman) GetExcludeEnvironments() []string {
	if x != nil {
		return x.ExcludeEnvironments
	}
	return nil
}

func (x *Postman) GetIncludeCollections() []string {
	if x != nil {
		return x.IncludeCollections
	}
	return nil
}

func (x *Postman) GetIncludeEnvironments() []string {
	if x != nil {
		return x.IncludeEnvironments
	}
	return nil
}

func (x *Postman) GetDetectorKeywords() []string {
	if x != nil {
		return x.DetectorKeywords
	}
	return nil
}

func (x *Postman) GetWorkspacePaths() []string {
	if x != nil {
		return x.WorkspacePaths
	}
	return nil
}

func (x *Postman) GetCollectionPaths() []string {
	if x != nil {
		return x.CollectionPaths
	}
	return nil
}

func (x *Postman) GetEnvironmentPaths() []string {
	if x != nil {
		return x.EnvironmentPaths
	}
	return nil
}

type isPostman_Credential interface {
	isPostman_Credential()
}

type Postman_Unauthenticated struct {
	Unauthenticated *credentialspb.Unauthenticated `protobuf:"bytes,1,opt,name=unauthenticated,proto3,oneof"`
}

type Postman_Token struct {
	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}

func (*Postman_Unauthenticated) isPostman_Credential() {}

func (*Postman_Token) isPostman_Credential() {}

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

	ListenAddress string `protobuf:"bytes,1,opt,name=listen_address,json=listenAddress,proto3" json:"listen_address,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Webhook_Header
	Credential isWebhook_Credential `protobuf_oneof:"credential"`
	// Types that are assignable to Variant:
	//
	//	*Webhook_Vector
	Variant isWebhook_Variant `protobuf_oneof:"variant"`
}

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

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

func (*Webhook) ProtoMessage() {}

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

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

func (x *Webhook) GetListenAddress() string {
	if x != nil {
		return x.ListenAddress
	}
	return ""
}

func (m *Webhook) GetCredential() isWebhook_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Webhook) GetHeader() *credentialspb.Header {
	if x, ok := x.GetCredential().(*Webhook_Header); ok {
		return x.Header
	}
	return nil
}

func (m *Webhook) GetVariant() isWebhook_Variant {
	if m != nil {
		return m.Variant
	}
	return nil
}

func (x *Webhook) GetVector() *Vector {
	if x, ok := x.GetVariant().(*Webhook_Vector); ok {
		return x.Vector
	}
	return nil
}

type isWebhook_Credential interface {
	isWebhook_Credential()
}

type Webhook_Header struct {
	Header *credentialspb.Header `protobuf:"bytes,2,opt,name=header,proto3,oneof"`
}

func (*Webhook_Header) isWebhook_Credential() {}

type isWebhook_Variant interface {
	isWebhook_Variant()
}

type Webhook_Vector struct {
	Vector *Vector `protobuf:"bytes,4,opt,name=vector,proto3,oneof"`
}

func (*Webhook_Vector) isWebhook_Variant() {}

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

	LocatorField string `protobuf:"bytes,1,opt,name=locator_field,json=locatorField,proto3" json:"locator_field,omitempty"`
	LinkFormat   string `protobuf:"bytes,2,opt,name=link_format,json=linkFormat,proto3" json:"link_format,omitempty"`
}

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

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

func (*Vector) ProtoMessage() {}

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

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

func (x *Vector) GetLocatorField() string {
	if x != nil {
		return x.LocatorField
	}
	return ""
}

func (x *Vector) GetLinkFormat() string {
	if x != nil {
		return x.LinkFormat
	}
	return ""
}

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

	Nodes          []string `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Username       string   `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Password       string   `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	CloudId        string   `protobuf:"bytes,4,opt,name=cloud_id,json=cloudId,proto3" json:"cloud_id,omitempty"`
	ApiKey         string   `protobuf:"bytes,5,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	ServiceToken   string   `protobuf:"bytes,6,opt,name=service_token,json=serviceToken,proto3" json:"service_token,omitempty"`
	IndexPattern   string   `protobuf:"bytes,7,opt,name=index_pattern,json=indexPattern,proto3" json:"index_pattern,omitempty"`
	QueryJson      string   `protobuf:"bytes,8,opt,name=query_json,json=queryJson,proto3" json:"query_json,omitempty"`
	SinceTimestamp string   `protobuf:"bytes,9,opt,name=since_timestamp,json=sinceTimestamp,proto3" json:"since_timestamp,omitempty"`
	BestEffortScan bool     `protobuf:"varint,10,opt,name=best_effort_scan,json=bestEffortScan,proto3" json:"best_effort_scan,omitempty"`
}

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

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

func (*Elasticsearch) ProtoMessage() {}

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

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

func (x *Elasticsearch) GetNodes() []string {
	if x != nil {
		return x.Nodes
	}
	return nil
}

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

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

func (x *Elasticsearch) GetCloudId() string {
	if x != nil {
		return x.CloudId
	}
	return ""
}

func (x *Elasticsearch) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

func (x *Elasticsearch) GetServiceToken() string {
	if x != nil {
		return x.ServiceToken
	}
	return ""
}

func (x *Elasticsearch) GetIndexPattern() string {
	if x != nil {
		return x.IndexPattern
	}
	return ""
}

func (x *Elasticsearch) GetQueryJson() string {
	if x != nil {
		return x.QueryJson
	}
	return ""
}

func (x *Elasticsearch) GetSinceTimestamp() string {
	if x != nil {
		return x.SinceTimestamp
	}
	return ""
}

func (x *Elasticsearch) GetBestEffortScan() bool {
	if x != nil {
		return x.BestEffortScan
	}
	return false
}

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

	Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Types that are assignable to Credential:
	//
	//	*Sentry_AuthToken
	//	*Sentry_DsnKey
	//	*Sentry_ApiKey
	Credential            isSentry_Credential `protobuf_oneof:"credential"`
	InsecureSkipVerifyTls bool                `protobuf:"varint,5,opt,name=insecure_skip_verify_tls,json=insecureSkipVerifyTls,proto3" json:"insecure_skip_verify_tls,omitempty"`
	Projects              string              `protobuf:"bytes,6,opt,name=projects,proto3" json:"projects,omitempty"`
}

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

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

func (*Sentry) ProtoMessage() {}

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

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

func (x *Sentry) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (m *Sentry) GetCredential() isSentry_Credential {
	if m != nil {
		return m.Credential
	}
	return nil
}

func (x *Sentry) GetAuthToken() string {
	if x, ok := x.GetCredential().(*Sentry_AuthToken); ok {
		return x.AuthToken
	}
	return ""
}

func (x *Sentry) GetDsnKey() string {
	if x, ok := x.GetCredential().(*Sentry_DsnKey); ok {
		return x.DsnKey
	}
	return ""
}

func (x *Sentry) GetApiKey() string {
	if x, ok := x.GetCredential().(*Sentry_ApiKey); ok {
		return x.ApiKey
	}
	return ""
}

func (x *Sentry) GetInsecureSkipVerifyTls() bool {
	if x != nil {
		return x.InsecureSkipVerifyTls
	}
	return false
}

func (x *Sentry) GetProjects() string {
	if x != nil {
		return x.Projects
	}
	return ""
}

type isSentry_Credential interface {
	isSentry_Credential()
}

type Sentry_AuthToken struct {
	AuthToken string `protobuf:"bytes,2,opt,name=auth_token,json=authToken,proto3,oneof"`
}

type Sentry_DsnKey struct {
	DsnKey string `protobuf:"bytes,3,opt,name=dsn_key,json=dsnKey,proto3,oneof"`
}

type Sentry_ApiKey struct {
	ApiKey string `protobuf:"bytes,4,opt,name=api_key,json=apiKey,proto3,oneof"`
}

func (*Sentry_AuthToken) isSentry_Credential() {}

func (*Sentry_DsnKey) isSentry_Credential() {}

func (*Sentry_ApiKey) isSentry_Credential() {}

type Stdin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Stdin) ProtoMessage() {}

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

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

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

	Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

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

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

func (*SlackContinuous) ProtoMessage() {}

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

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

func (x *SlackContinuous) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

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

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

	Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
}

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

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

func (*JSONEnumerator) ProtoMessage() {}

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

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

func (x *JSONEnumerator) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

var File_sources_proto protoreflect.FileDescriptor

var file_sources_proto_rawDesc = []byte{
	0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0x1a, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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,
	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x22, 0xe8, 0x01, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x63, 0x61, 0x6e,
	0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 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, 0x02, 0x18, 0x01, 0x52, 0x0c,
	0x73, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06,
	0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65,
	0x72, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a,
	0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
	0x61, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x73, 0x63, 0x61, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0b,
	0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52,
	0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
	0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a,
	0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74,
	0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74,
	0x68, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
	0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x22, 0xae, 0x02, 0x0a, 0x0c, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x74, 0x6f,
	0x72, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74,
	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48,
	0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x12,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a,
	0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0xf5, 0x04, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61,
	0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a,
	0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
	0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73,
	0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
	0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67,
	0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a,
	0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69,
	0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69,
	0x76, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41,
	0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61,
	0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x42, 0x69, 0x74,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x6f, 0x61, 0x75, 0x74,
	0x68, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a,
	0x6f, 0x61, 0x75, 0x74, 0x68, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x61,
	0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c,
	0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12,
	0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x0c,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x56, 0x0a, 0x08,
	0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x43, 0x49, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72,
	0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16,
	0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0x56, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x76, 0x69, 0x73, 0x43, 0x49,
	0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xd2, 0x04, 0x0a,
	0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x08, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa,
	0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62,
	0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61,
	0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63,
	0x41, 0x75, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0c,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e,
	0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75,
	0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74,
	0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75,
	0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72,
	0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a,
	0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
	0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x36, 0x0a, 0x11, 0x47,
	0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65,
	0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f,
	0x42, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41,
	0x4c, 0x10, 0x02, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x22, 0xeb, 0x02, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0f,
	0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f,
	0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75,
	0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12,
	0x23, 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6b,
	0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
	0x0e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12,
	0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1c, 0x0a, 0x09,
	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0x6c, 0x0a, 0x03, 0x45, 0x43, 0x52, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12,
	0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42,
	0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf1, 0x01,
	0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b,
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x14,
	0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70,
	0x61, 0x74, 0x68, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
	0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69,
	0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61,
	0x74, 0x68, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
	0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65,
	0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65,
	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e,
	0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6d,
	0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0f, 0x6d, 0x61, 0x78, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x70, 0x74,
	0x68, 0x22, 0xab, 0x04, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x12, 0x32, 0x0a, 0x14, 0x6a, 0x73, 0x6f,
	0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x6a, 0x73, 0x6f, 0x6e, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a,
	0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
	0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48,
	0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x64, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x43, 0x6c,
	0x6f, 0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00,
	0x52, 0x03, 0x61, 0x64, 0x63, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75,
	0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52,
	0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x27,
	0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78,
	0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a,
	0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0xe4, 0x05, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63,
	0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72,
	0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41,
	0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68,
	0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x73, 0x73,
	0x68, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x53, 0x53, 0x48, 0x41, 0x75,
	0x74, 0x68, 0x48, 0x00, 0x52, 0x07, 0x73, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x12, 0x20, 0x0a,
	0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12,
	0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62,
	0x61, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x61, 0x72, 0x65, 0x12,
	0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73,
	0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63,
	0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2c, 0x0a,
	0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x66,
	0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x73,
	0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x10, 0x0a,
	0x03, 0x75, 0x72, 0x69, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12,
	0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63,
	0x68, 0x69, 0x76, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69,
	0x70, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f,
	0x6e, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
	0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x63,
	0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f,
	0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x74,
	0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a,
	0x73, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63,
	0x61, 0x6c, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x13, 0x74, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47,
	0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xf2, 0x04, 0x0a, 0x06, 0x47, 0x69, 0x74, 0x4c, 0x61,
	0x62, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
	0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75,
	0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x0a,
	0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42,
	0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69,
	0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e,
	0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d,
	0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
	0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72,
	0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
	0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69,
	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x4c, 0x0a, 0x23, 0x65,
	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
	0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x49,
	0x6e, 0x74, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18,
	0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x75, 0x74,
	0x68, 0x49, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
	0x69, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70,
	0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x74,
	0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x61,
	0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75,
	0x70, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63,
	0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72,
	0x69, 0x6e, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x0c, 0x0a,
	0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x9a, 0x08, 0x0a, 0x06,
	0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90,
	0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a,
	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47,
	0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x09, 0x67, 0x69, 0x74, 0x68,
	0x75, 0x62, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a,
	0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63,
	0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72,
	0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41,
	0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68,
	0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67,
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x63,
	0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73,
	0x63, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x68, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x62, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72,
	0x65, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x1d,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x75, 0x6c, 0x6c,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
	0x34, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65,
	0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6d,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x5f, 0x67, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x10,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x69, 0x73,
	0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69,
	0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23,
	0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63, 0x68, 0x69,
	0x76, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77,
	0x69, 0x6b, 0x69, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x57, 0x69, 0x6b, 0x69, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x64,
	0x61, 0x79, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x79, 0x73,
	0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f,
	0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a,
	0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a,
	0x6e, 0x6f, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x6e, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x69,
	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x67, 0x69, 0x73, 0x74, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x47, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2a,
	0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a,
	0x73, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6e, 0x74,
	0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe4, 0x01, 0x0a, 0x12, 0x47, 0x69, 0x74,
	0x48, 0x75, 0x62, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12,
	0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12,
	0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
	0x72, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
	0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
	0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x61, 0x74,
	0x61, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0xe4, 0x02, 0x0a, 0x0e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69,
	0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70,
	0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f,
	0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x24,
	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61,
	0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x41, 0x70, 0x70,
	0x48, 0x00, 0x52, 0x09, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f,
	0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
	0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62,
	0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xce, 0x01, 0x0a, 0x0b, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
	0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x0a,
	0x11, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6f,
	0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48,
	0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x77, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x44,
	0x57, 0x44, 0x48, 0x00, 0x52, 0x03, 0x64, 0x77, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe5, 0x05, 0x0a, 0x0b, 0x48, 0x75, 0x67, 0x67,
	0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03,
	0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f,
	0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
	0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12,
	0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f,
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72,
	0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x08,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12,
	0x27, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
	0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
	0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b,
	0x69, 0x70, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73,
	0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x11,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
	0x73, 0x6b, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12,
	0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x75,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e,
	0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x73, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72,
	0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0xcc, 0x03, 0x0a, 0x04, 0x4a, 0x49, 0x52, 0x41, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72,
	0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37,
	0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
	0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61,
	0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55,
	0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00,
	0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
	0x64, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f,
	0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x16,
	0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x67, 0x6e,
	0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69,
	0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72,
	0x69, 0x66, 0x79, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69,
	0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66,
	0x79, 0x54, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x1d, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x4a, 0x69, 0x72, 0x61, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x73,
	0x0a, 0x19, 0x4e, 0x50, 0x4d, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x75,
	0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
	0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x22, 0x74, 0x0a, 0x1a, 0x50, 0x79, 0x50, 0x49, 0x55, 0x6e, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xde, 0x03, 0x0a, 0x02, 0x53, 0x33,
	0x12, 0x37, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
	0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x65, 0x6e, 0x76,
	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x43, 0x6c, 0x6f,
	0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
	0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0c,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14,
	0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72,
	0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67,
	0x6e, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a,
	0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xc4, 0x01, 0x0a, 0x05, 0x53,
	0x6c, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01,
	0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
	0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x06,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73,
	0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4c,
	0x69, 0x73, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
	0x6c, 0x22, 0x06, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x22, 0x31, 0x0a, 0x09, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x6b, 0x69, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xa5, 0x02, 0x0a,
	0x06, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03,
	0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a,
	0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
	0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73,
	0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e,
	0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52,
	0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d,
	0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
	0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72,
	0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0xa8, 0x02, 0x0a, 0x07, 0x4a, 0x65, 0x6e, 0x6b, 0x69, 0x6e, 0x73,
	0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f,
	0x61, 0x75, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75,
	0x74, 0x68, 0x48, 0x00, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12,
	0x2d, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x48,
	0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
	0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65,
	0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
	0x5f, 0x74, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65,
	0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c,
	0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0xbd, 0x02, 0x0a, 0x05, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12,
	0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x48, 0x00,
	0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12,
	0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75,
	0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69,
	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61,
	0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61,
	0x6d, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22,
	0x95, 0x01, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a,
	0x07, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6c, 0x73, 0x4b, 0x65,
	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12,
	0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x55, 0x6e, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e,
	0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a,
	0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
	0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x64,
	0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x44,
	0x65, 0x70, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
	0x05, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0x51, 0x0a, 0x0d, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x61,
	0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x48,
	0x00, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe9, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72,
	0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61,
	0x75, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x29,
	0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
	0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63,
	0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x6d, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
	0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x22, 0xf6, 0x03, 0x0a, 0x0a, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70,
	0x6f, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x90, 0x01, 0x01, 0x52, 0x08,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x2b, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x4f, 0x61,
	0x75, 0x74, 0x68, 0x32, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x22, 0x0a,
	0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66,
	0x6f, 0x72, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
	0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69,
	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73,
	0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69,
	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x0b,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x69, 0x6e,
	0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69,
	0x70, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69,
	0x70, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x42, 0x0c,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xd5, 0x04, 0x0a,
	0x07, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x75, 0x6e, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e,
	0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x48,
	0x00, 0x52, 0x0f, 0x75, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f,
	0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f,
	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x12, 0x2f, 0x0a, 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x65,
	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x76,
	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x6e, 0x76, 0x69,
	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x74, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4b, 0x65, 0x79,
	0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x29,
	0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74,
	0x68, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x76,
	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0d,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0xac, 0x01, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b,
	0x12, 0x2e, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68,
	0x01, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x12, 0x2d, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x29, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x48, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69,
	0x61, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a,
	0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x46, 0x69, 0x65,
	0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x46, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x22, 0xcd, 0x02, 0x0a, 0x0d, 0x45, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x73,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75,
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
	0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
	0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x64, 0x12, 0x17,
	0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72,
	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4a, 0x73, 0x6f, 0x6e,
	0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x63, 0x65,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x65, 0x73,
	0x74, 0x5f, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x53,
	0x63, 0x61, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a,
	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x61, 0x75,
	0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x64,
	0x73, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06,
	0x64, 0x73, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65,
	0x79, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b,
	0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69,
	0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x22, 0x07, 0x0a, 0x05, 0x53, 0x74, 0x64, 0x69, 0x6e, 0x22, 0x4e, 0x0a,
	0x0f, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
	0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x26, 0x0a,
	0x0e, 0x4a, 0x53, 0x4f, 0x4e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12,
	0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
	0x70, 0x61, 0x74, 0x68, 0x73, 0x2a, 0xc4, 0x09, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47,
	0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x01, 0x12, 0x18,
	0x0a, 0x14, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x49,
	0x52, 0x43, 0x4c, 0x45, 0x43, 0x49, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52,
	0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x55, 0x45, 0x4e,
	0x43, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f,
	0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x43, 0x52, 0x10,
	0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x47, 0x43, 0x53, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x07, 0x12, 0x1a,
	0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55,
	0x42, 0x4c, 0x49, 0x43, 0x5f, 0x47, 0x49, 0x54, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f,
	0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x4c, 0x41, 0x42,
	0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x4a, 0x49, 0x52, 0x41, 0x10, 0x0a, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x4f, 0x55, 0x52,
	0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x50, 0x4d, 0x5f, 0x55, 0x4e, 0x41, 0x55,
	0x54, 0x48, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x53, 0x10, 0x0b, 0x12, 0x25,
	0x0a, 0x21, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x59,
	0x50, 0x49, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41,
	0x47, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x33, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4f, 0x55,
	0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x0e,
	0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x46, 0x49, 0x4c, 0x45, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f,
	0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x10,
	0x10, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x11, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43,
	0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x33, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48,
	0x45, 0x44, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54,
	0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x10, 0x13,
	0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x42, 0x55, 0x49, 0x4c, 0x44, 0x4b, 0x49, 0x54, 0x45, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x53,
	0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x52, 0x52, 0x49,
	0x54, 0x10, 0x15, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x4a, 0x45, 0x4e, 0x4b, 0x49, 0x4e, 0x53, 0x10, 0x16, 0x12, 0x15, 0x0a, 0x11,
	0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d,
	0x53, 0x10, 0x17, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x4a, 0x46, 0x52, 0x4f, 0x47, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43,
	0x54, 0x4f, 0x52, 0x59, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x59, 0x53, 0x4c, 0x4f, 0x47, 0x10, 0x19, 0x12, 0x27,
	0x0a, 0x23, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55,
	0x42, 0x4c, 0x49, 0x43, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54,
	0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x1a, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4f, 0x55, 0x52, 0x43,
	0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41,
	0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x1b, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, 0x55, 0x52, 0x43,
	0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x44, 0x52,
	0x49, 0x56, 0x45, 0x10, 0x1c, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10,
	0x1d, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x47, 0x43, 0x53, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, 0x44, 0x10, 0x1e, 0x12,
	0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41,
	0x5a, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x10, 0x1f, 0x12, 0x18, 0x0a, 0x14,
	0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x56,
	0x49, 0x53, 0x43, 0x49, 0x10, 0x20, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x4d, 0x41, 0x4e, 0x10, 0x21, 0x12,
	0x17, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57,
	0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x10, 0x22, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x55, 0x52,
	0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4c, 0x41, 0x53, 0x54, 0x49, 0x43, 0x53,
	0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x23, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43,
	0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x55, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x46, 0x41,
	0x43, 0x45, 0x10, 0x24, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52,
	0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x25, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55,
	0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10,
	0x26, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45,
	0x10, 0x27, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x53, 0x54, 0x44, 0x49, 0x4e, 0x10, 0x28, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4f, 0x55,
	0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x41, 0x43, 0x4b, 0x5f, 0x43,
	0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, 0x29, 0x12, 0x1f, 0x0a, 0x1b, 0x53,
	0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f,
	0x45, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x2a, 0x2a, 0x47, 0x0a, 0x19,
	0x42, 0x69, 0x74, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54,
	0x4f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f,
	0x55, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4e,
	0x54, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x87, 0x01, 0x0a, 0x14, 0x4a, 0x69, 0x72, 0x61, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25,
	0x0a, 0x21, 0x4a, 0x49, 0x52, 0x41, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54,
	0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x45, 0x54,
	0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4a, 0x49, 0x52, 0x41, 0x5f, 0x49, 0x4e,
	0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x4a, 0x49, 0x52, 0x41, 0x5f,
	0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x02, 0x42,
	0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x72,
	0x75, 0x66, 0x66, 0x6c, 0x65, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72,
	0x75, 0x66, 0x66, 0x6c, 0x65, 0x68, 0x6f, 0x67, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f,
	0x70, 0x62, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_sources_proto_rawDescOnce sync.Once
	file_sources_proto_rawDescData = file_sources_proto_rawDesc
)

func file_sources_proto_rawDescGZIP() []byte {
	file_sources_proto_rawDescOnce.Do(func() {
		file_sources_proto_rawDescData = protoimpl.X.CompressGZIP(file_sources_proto_rawDescData)
	})
	return file_sources_proto_rawDescData
}

var file_sources_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_sources_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
var file_sources_proto_goTypes = []interface{}{
	(SourceType)(0),                             // 0: sources.SourceType
	(BitbucketInstallationType)(0),              // 1: sources.BitbucketInstallationType
	(JiraInstallationType)(0),                   // 2: sources.JiraInstallationType
	(Confluence_GetAllSpacesScope)(0),           // 3: sources.Confluence.GetAllSpacesScope
	(*LocalSource)(nil),                         // 4: sources.LocalSource
	(*Artifactory)(nil),                         // 5: sources.Artifactory
	(*AzureStorage)(nil),                        // 6: sources.AzureStorage
	(*Bitbucket)(nil),                           // 7: sources.Bitbucket
	(*CircleCI)(nil),                            // 8: sources.CircleCI
	(*TravisCI)(nil),                            // 9: sources.TravisCI
	(*Confluence)(nil),                          // 10: sources.Confluence
	(*Docker)(nil),                              // 11: sources.Docker
	(*ECR)(nil),                                 // 12: sources.ECR
	(*Filesystem)(nil),                          // 13: sources.Filesystem
	(*GCS)(nil),                                 // 14: sources.GCS
	(*Git)(nil),                                 // 15: sources.Git
	(*GitLab)(nil),                              // 16: sources.GitLab
	(*GitHub)(nil),                              // 17: sources.GitHub
	(*GitHubExperimental)(nil),                  // 18: sources.GitHubExperimental
	(*GitHubRealtime)(nil),                      // 19: sources.GitHubRealtime
	(*GoogleDrive)(nil),                         // 20: sources.GoogleDrive
	(*Huggingface)(nil),                         // 21: sources.Huggingface
	(*JIRA)(nil),                                // 22: sources.JIRA
	(*NPMUnauthenticatedPackage)(nil),           // 23: sources.NPMUnauthenticatedPackage
	(*PyPIUnauthenticatedPackage)(nil),          // 24: sources.PyPIUnauthenticatedPackage
	(*S3)(nil),                                  // 25: sources.S3
	(*Slack)(nil),                               // 26: sources.Slack
	(*Test)(nil),                                // 27: sources.Test
	(*Buildkite)(nil),                           // 28: sources.Buildkite
	(*Gerrit)(nil),                              // 29: sources.Gerrit
	(*Jenkins)(nil),                             // 30: sources.Jenkins
	(*Teams)(nil),                               // 31: sources.Teams
	(*Syslog)(nil),                              // 32: sources.Syslog
	(*Forager)(nil),                             // 33: sources.Forager
	(*SlackRealtime)(nil),                       // 34: sources.SlackRealtime
	(*Sharepoint)(nil),                          // 35: sources.Sharepoint
	(*AzureRepos)(nil),                          // 36: sources.AzureRepos
	(*Postman)(nil),                             // 37: sources.Postman
	(*Webhook)(nil),                             // 38: sources.Webhook
	(*Vector)(nil),                              // 39: sources.Vector
	(*Elasticsearch)(nil),                       // 40: sources.Elasticsearch
	(*Sentry)(nil),                              // 41: sources.Sentry
	(*Stdin)(nil),                               // 42: sources.Stdin
	(*SlackContinuous)(nil),                     // 43: sources.SlackContinuous
	(*JSONEnumerator)(nil),                      // 44: sources.JSONEnumerator
	(*durationpb.Duration)(nil),                 // 45: google.protobuf.Duration
	(*anypb.Any)(nil),                           // 46: google.protobuf.Any
	(*credentialspb.BasicAuth)(nil),             // 47: credentials.BasicAuth
	(*credentialspb.Unauthenticated)(nil),       // 48: credentials.Unauthenticated
	(*credentialspb.Oauth2)(nil),                // 49: credentials.Oauth2
	(*credentialspb.KeySecret)(nil),             // 50: credentials.KeySecret
	(*credentialspb.CloudEnvironment)(nil),      // 51: credentials.CloudEnvironment
	(*credentialspb.SSHAuth)(nil),               // 52: credentials.SSHAuth
	(*credentialspb.GitHubApp)(nil),             // 53: credentials.GitHubApp
	(*credentialspb.GoogleDriveDWD)(nil),        // 54: credentials.GoogleDriveDWD
	(*credentialspb.AWSSessionTokenSecret)(nil), // 55: credentials.AWSSessionTokenSecret
	(*credentialspb.SlackTokens)(nil),           // 56: credentials.SlackTokens
	(*credentialspb.Header)(nil),                // 57: credentials.Header
	(*credentialspb.ClientCredentials)(nil),     // 58: credentials.ClientCredentials
	(*timestamppb.Timestamp)(nil),               // 59: google.protobuf.Timestamp
}
var file_sources_proto_depIdxs = []int32{
	45, // 0: sources.LocalSource.scan_interval:type_name -> google.protobuf.Duration
	46, // 1: sources.LocalSource.connection:type_name -> google.protobuf.Any
	47, // 2: sources.Artifactory.basic_auth:type_name -> credentials.BasicAuth
	48, // 3: sources.Artifactory.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 4: sources.AzureStorage.basic_auth:type_name -> credentials.BasicAuth
	48, // 5: sources.AzureStorage.unauthenticated:type_name -> credentials.Unauthenticated
	49, // 6: sources.Bitbucket.oauth:type_name -> credentials.Oauth2
	47, // 7: sources.Bitbucket.basic_auth:type_name -> credentials.BasicAuth
	1,  // 8: sources.Bitbucket.installation_type:type_name -> sources.BitbucketInstallationType
	48, // 9: sources.Confluence.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 10: sources.Confluence.basic_auth:type_name -> credentials.BasicAuth
	3,  // 11: sources.Confluence.spaces_scope:type_name -> sources.Confluence.GetAllSpacesScope
	48, // 12: sources.Docker.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 13: sources.Docker.basic_auth:type_name -> credentials.BasicAuth
	50, // 14: sources.ECR.access_key:type_name -> credentials.KeySecret
	48, // 15: sources.GCS.unauthenticated:type_name -> credentials.Unauthenticated
	51, // 16: sources.GCS.adc:type_name -> credentials.CloudEnvironment
	49, // 17: sources.GCS.oauth:type_name -> credentials.Oauth2
	47, // 18: sources.Git.basic_auth:type_name -> credentials.BasicAuth
	48, // 19: sources.Git.unauthenticated:type_name -> credentials.Unauthenticated
	52, // 20: sources.Git.ssh_auth:type_name -> credentials.SSHAuth
	49, // 21: sources.GitLab.oauth:type_name -> credentials.Oauth2
	47, // 22: sources.GitLab.basic_auth:type_name -> credentials.BasicAuth
	53, // 23: sources.GitHub.github_app:type_name -> credentials.GitHubApp
	48, // 24: sources.GitHub.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 25: sources.GitHub.basic_auth:type_name -> credentials.BasicAuth
	53, // 26: sources.GitHubRealtime.github_app:type_name -> credentials.GitHubApp
	48, // 27: sources.GitHubRealtime.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 28: sources.GitHubRealtime.basic_auth:type_name -> credentials.BasicAuth
	49, // 29: sources.GoogleDrive.oauth:type_name -> credentials.Oauth2
	54, // 30: sources.GoogleDrive.dwd:type_name -> credentials.GoogleDriveDWD
	48, // 31: sources.Huggingface.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 32: sources.JIRA.basic_auth:type_name -> credentials.BasicAuth
	48, // 33: sources.JIRA.unauthenticated:type_name -> credentials.Unauthenticated
	49, // 34: sources.JIRA.oauth:type_name -> credentials.Oauth2
	2,  // 35: sources.JIRA.installation_type:type_name -> sources.JiraInstallationType
	48, // 36: sources.NPMUnauthenticatedPackage.unauthenticated:type_name -> credentials.Unauthenticated
	48, // 37: sources.PyPIUnauthenticatedPackage.unauthenticated:type_name -> credentials.Unauthenticated
	50, // 38: sources.S3.access_key:type_name -> credentials.KeySecret
	48, // 39: sources.S3.unauthenticated:type_name -> credentials.Unauthenticated
	51, // 40: sources.S3.cloud_environment:type_name -> credentials.CloudEnvironment
	55, // 41: sources.S3.session_token:type_name -> credentials.AWSSessionTokenSecret
	56, // 42: sources.Slack.tokens:type_name -> credentials.SlackTokens
	47, // 43: sources.Gerrit.basic_auth:type_name -> credentials.BasicAuth
	48, // 44: sources.Gerrit.unauthenticated:type_name -> credentials.Unauthenticated
	47, // 45: sources.Jenkins.basic_auth:type_name -> credentials.BasicAuth
	57, // 46: sources.Jenkins.header:type_name -> credentials.Header
	48, // 47: sources.Jenkins.unauthenticated:type_name -> credentials.Unauthenticated
	58, // 48: sources.Teams.authenticated:type_name -> credentials.ClientCredentials
	49, // 49: sources.Teams.oauth:type_name -> credentials.Oauth2
	48, // 50: sources.Forager.unauthenticated:type_name -> credentials.Unauthenticated
	59, // 51: sources.Forager.since:type_name -> google.protobuf.Timestamp
	56, // 52: sources.SlackRealtime.tokens:type_name -> credentials.SlackTokens
	49, // 53: sources.Sharepoint.oauth:type_name -> credentials.Oauth2
	49, // 54: sources.AzureRepos.oauth:type_name -> credentials.Oauth2
	48, // 55: sources.Postman.unauthenticated:type_name -> credentials.Unauthenticated
	57, // 56: sources.Webhook.header:type_name -> credentials.Header
	39, // 57: sources.Webhook.vector:type_name -> sources.Vector
	58, // [58:58] is the sub-list for method output_type
	58, // [58:58] is the sub-list for method input_type
	58, // [58:58] is the sub-list for extension type_name
	58, // [58:58] is the sub-list for extension extendee
	0,  // [0:58] is the sub-list for field type_name
}

func init() { file_sources_proto_init() }
func file_sources_proto_init() {
	if File_sources_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_sources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LocalSource); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Artifactory); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AzureStorage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Bitbucket); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CircleCI); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TravisCI); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Confluence); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Docker); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ECR); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Filesystem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GCS); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Git); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitLab); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitHub); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitHubExperimental); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitHubRealtime); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GoogleDrive); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Huggingface); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JIRA); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NPMUnauthenticatedPackage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PyPIUnauthenticatedPackage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*S3); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Slack); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Test); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Buildkite); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Gerrit); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Jenkins); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Teams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Syslog); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Forager); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SlackRealtime); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Sharepoint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AzureRepos); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Postman); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Webhook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Vector); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Elasticsearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Sentry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Stdin); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SlackContinuous); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_sources_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JSONEnumerator); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_sources_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*Artifactory_BasicAuth)(nil),
		(*Artifactory_AccessToken)(nil),
		(*Artifactory_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*AzureStorage_ConnectionString)(nil),
		(*AzureStorage_BasicAuth)(nil),
		(*AzureStorage_ClientCertificate)(nil),
		(*AzureStorage_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*Bitbucket_Token)(nil),
		(*Bitbucket_Oauth)(nil),
		(*Bitbucket_BasicAuth)(nil),
	}
	file_sources_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*CircleCI_Token)(nil),
	}
	file_sources_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*TravisCI_Token)(nil),
	}
	file_sources_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*Confluence_Unauthenticated)(nil),
		(*Confluence_BasicAuth)(nil),
		(*Confluence_Token)(nil),
	}
	file_sources_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*Docker_Unauthenticated)(nil),
		(*Docker_BasicAuth)(nil),
		(*Docker_BearerToken)(nil),
		(*Docker_DockerKeychain)(nil),
	}
	file_sources_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*ECR_AccessKey)(nil),
	}
	file_sources_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*GCS_JsonServiceAccount)(nil),
		(*GCS_ApiKey)(nil),
		(*GCS_Unauthenticated)(nil),
		(*GCS_Adc)(nil),
		(*GCS_ServiceAccountFile)(nil),
		(*GCS_Oauth)(nil),
	}
	file_sources_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*Git_BasicAuth)(nil),
		(*Git_Unauthenticated)(nil),
		(*Git_SshAuth)(nil),
	}
	file_sources_proto_msgTypes[12].OneofWrappers = []interface{}{
		(*GitLab_Token)(nil),
		(*GitLab_Oauth)(nil),
		(*GitLab_BasicAuth)(nil),
	}
	file_sources_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*GitHub_GithubApp)(nil),
		(*GitHub_Token)(nil),
		(*GitHub_Unauthenticated)(nil),
		(*GitHub_BasicAuth)(nil),
	}
	file_sources_proto_msgTypes[14].OneofWrappers = []interface{}{
		(*GitHubExperimental_Token)(nil),
	}
	file_sources_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*GitHubRealtime_GithubApp)(nil),
		(*GitHubRealtime_Token)(nil),
		(*GitHubRealtime_Unauthenticated)(nil),
		(*GitHubRealtime_BasicAuth)(nil),
	}
	file_sources_proto_msgTypes[16].OneofWrappers = []interface{}{
		(*GoogleDrive_RefreshToken)(nil),
		(*GoogleDrive_UseTokenService)(nil),
		(*GoogleDrive_Oauth)(nil),
		(*GoogleDrive_Dwd)(nil),
	}
	file_sources_proto_msgTypes[17].OneofWrappers = []interface{}{
		(*Huggingface_Token)(nil),
		(*Huggingface_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[18].OneofWrappers = []interface{}{
		(*JIRA_BasicAuth)(nil),
		(*JIRA_Unauthenticated)(nil),
		(*JIRA_Oauth)(nil),
		(*JIRA_Token)(nil),
	}
	file_sources_proto_msgTypes[19].OneofWrappers = []interface{}{
		(*NPMUnauthenticatedPackage_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[20].OneofWrappers = []interface{}{
		(*PyPIUnauthenticatedPackage_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[21].OneofWrappers = []interface{}{
		(*S3_AccessKey)(nil),
		(*S3_Unauthenticated)(nil),
		(*S3_CloudEnvironment)(nil),
		(*S3_SessionToken)(nil),
	}
	file_sources_proto_msgTypes[22].OneofWrappers = []interface{}{
		(*Slack_Token)(nil),
		(*Slack_Tokens)(nil),
	}
	file_sources_proto_msgTypes[24].OneofWrappers = []interface{}{
		(*Buildkite_Token)(nil),
	}
	file_sources_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*Gerrit_BasicAuth)(nil),
		(*Gerrit_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[26].OneofWrappers = []interface{}{
		(*Jenkins_BasicAuth)(nil),
		(*Jenkins_Header)(nil),
		(*Jenkins_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[27].OneofWrappers = []interface{}{
		(*Teams_Token)(nil),
		(*Teams_Authenticated)(nil),
		(*Teams_Oauth)(nil),
	}
	file_sources_proto_msgTypes[29].OneofWrappers = []interface{}{
		(*Forager_Unauthenticated)(nil),
	}
	file_sources_proto_msgTypes[30].OneofWrappers = []interface{}{
		(*SlackRealtime_Tokens)(nil),
	}
	file_sources_proto_msgTypes[31].OneofWrappers = []interface{}{
		(*Sharepoint_Oauth)(nil),
	}
	file_sources_proto_msgTypes[32].OneofWrappers = []interface{}{
		(*AzureRepos_Token)(nil),
		(*AzureRepos_Oauth)(nil),
	}
	file_sources_proto_msgTypes[33].OneofWrappers = []interface{}{
		(*Postman_Unauthenticated)(nil),
		(*Postman_Token)(nil),
	}
	file_sources_proto_msgTypes[34].OneofWrappers = []interface{}{
		(*Webhook_Header)(nil),
		(*Webhook_Vector)(nil),
	}
	file_sources_proto_msgTypes[37].OneofWrappers = []interface{}{
		(*Sentry_AuthToken)(nil),
		(*Sentry_DsnKey)(nil),
		(*Sentry_ApiKey)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_sources_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   41,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_sources_proto_goTypes,
		DependencyIndexes: file_sources_proto_depIdxs,
		EnumInfos:         file_sources_proto_enumTypes,
		MessageInfos:      file_sources_proto_msgTypes,
	}.Build()
	File_sources_proto = out.File
	file_sources_proto_rawDesc = nil
	file_sources_proto_goTypes = nil
	file_sources_proto_depIdxs = nil
}
