Files
trufflehog/pkg/pb/sourcespb/sources.pb.go
Dustin Decker 39a1435e80 Add scan_all_installations option for multi-org GitHub App scanning (#4775)
* Support scanning all GitHub App installations

Add scan_all_installations handling for GitHub App sources so multi-installation scans use the correct per-installation clients, token mapping, and fail-closed repo ownership checks.

* Cache per-installation GitHub App API clients

Avoid creating a new client and token negotiation on every repo operation by caching clients per installation ID, reusing the configured default client, and giving each cached client its own apps transport to avoid races on the shared transport's token-refresh path.

* Cache per-installation GraphQL clients and hoist URL scheme regex

Reuse GraphQL clients for non-default installations the same way REST clients are cached, and compile the URL scheme regex once at package level instead of on every call.

* Log per-installation mapping errors on early return

When all requested repos get mapped, failures from other installations no longer disappear silently; they're logged before the success return.

* Report per-installation enumeration failures without aborting scan-all

A transient failure in one installation no longer aborts the whole multi-org enumeration; it's reported via the unit reporter and remaining installations continue. Also avoid nested mutex acquisition in GraphQLClientForRepo with a double-check cache pattern.

* Report member enumeration failures and use nil-safe installation getters

Surface per-org member enumeration failures through the unit reporter instead of only logging them, and use GetAccount() getters for installation account access.

* Simplify GitHub App installation setup

* Address GitHub App connector review followups

Unify per-installation client state, centralize GitHub URL helpers, and tighten wiki/endpoint handling so multi-installation scans keep auth routing explicit and maintainable.

* Harden GitHub App multi-installation scans

Surface partial installation enumeration failures, tighten wiki URL disambiguation, and make rate-limit waits cancellation-aware so scan-all behavior is safer and easier to diagnose.

* Fix GitHub App ID parse error message

Report the original app ID string when parsing fails so invalid configuration errors are actionable.

* Avoid bogus wiki alias mappings

Only derive double-wiki installation aliases when repository metadata confirms the repo itself is named with a .wiki suffix.
2026-06-24 17:07:01 -07:00

6883 lines
248 KiB
Go

// 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"`
// When using GitHub App credentials, enumerate repositories from every app installation.
ScanAllInstallations bool `protobuf:"varint,26,opt,name=scan_all_installations,json=scanAllInstallations,proto3" json:"scan_all_installations,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
}
func (x *GitHub) GetScanAllInstallations() bool {
if x != nil {
return x.ScanAllInstallations
}
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"`
Buckets []string `protobuf:"bytes,20,rep,name=buckets,proto3" json:"buckets,omitempty"`
IgnoreBuckets []string `protobuf:"bytes,21,rep,name=ignore_buckets,json=ignoreBuckets,proto3" json:"ignore_buckets,omitempty"`
IncludeBuckets []string `protobuf:"bytes,22,rep,name=include_buckets,json=includeBuckets,proto3" json:"include_buckets,omitempty"`
SkipAllBuckets bool `protobuf:"varint,23,opt,name=skip_all_buckets,json=skipAllBuckets,proto3" json:"skip_all_buckets,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
}
func (x *Huggingface) GetBuckets() []string {
if x != nil {
return x.Buckets
}
return nil
}
func (x *Huggingface) GetIgnoreBuckets() []string {
if x != nil {
return x.IgnoreBuckets
}
return nil
}
func (x *Huggingface) GetIncludeBuckets() []string {
if x != nil {
return x.IncludeBuckets
}
return nil
}
func (x *Huggingface) GetSkipAllBuckets() bool {
if x != nil {
return x.SkipAllBuckets
}
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, 0xd0, 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, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x63,
0x61, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x63, 0x61, 0x6e,
0x41, 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
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, 0xf9, 0x06,
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, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b,
0x65, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72,
0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x62, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69,
0x70, 0x41, 0x6c, 0x6c, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 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
}