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

package source_metadatapb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 Visibility int32

const (
	Visibility_public  Visibility = 0
	Visibility_private Visibility = 1
	Visibility_shared  Visibility = 2
	Visibility_unknown Visibility = 3
)

// Enum value maps for Visibility.
var (
	Visibility_name = map[int32]string{
		0: "public",
		1: "private",
		2: "shared",
		3: "unknown",
	}
	Visibility_value = map[string]int32{
		"public":  0,
		"private": 1,
		"shared":  2,
		"unknown": 3,
	}
)

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

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

func (Visibility) Descriptor() protoreflect.EnumDescriptor {
	return file_source_metadata_proto_enumTypes[0].Descriptor()
}

func (Visibility) Type() protoreflect.EnumType {
	return &file_source_metadata_proto_enumTypes[0]
}

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

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

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

	Container string `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
	File      string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	Uploaded  string `protobuf:"bytes,3,opt,name=uploaded,proto3" json:"uploaded,omitempty"`
	Link      string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"`
	Email     string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
}

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

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

func (*Azure) ProtoMessage() {}

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

func (x *Azure) GetContainer() string {
	if x != nil {
		return x.Container
	}
	return ""
}

func (x *Azure) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *Azure) GetUploaded() string {
	if x != nil {
		return x.Uploaded
	}
	return ""
}

func (x *Azure) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *Azure) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	File       string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
	Workspace  string `protobuf:"bytes,3,opt,name=workspace,proto3" json:"workspace,omitempty"`
	SnippetId  string `protobuf:"bytes,4,opt,name=snippet_id,json=snippetId,proto3" json:"snippet_id,omitempty"`
	Title      string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	Commit     string `protobuf:"bytes,6,opt,name=commit,proto3" json:"commit,omitempty"`
	Email      string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
	Link       string `protobuf:"bytes,8,opt,name=link,proto3" json:"link,omitempty"`
	Timestamp  string `protobuf:"bytes,9,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line       int64  `protobuf:"varint,10,opt,name=line,proto3" json:"line,omitempty"`
}

func (x *Bitbucket) Reset() {
	*x = Bitbucket{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[1]
		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_source_metadata_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 Bitbucket.ProtoReflect.Descriptor instead.
func (*Bitbucket) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{1}
}

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

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

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

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

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

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

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

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

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

func (x *Bitbucket) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

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

	Org         string `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"`
	Pipeline    string `protobuf:"bytes,2,opt,name=pipeline,proto3" json:"pipeline,omitempty"`
	Link        string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Email       string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	BuildNumber int64  `protobuf:"varint,5,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	Timestamp   string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *Buildkite) Reset() {
	*x = Buildkite{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[2]
		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_source_metadata_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 Buildkite.ProtoReflect.Descriptor instead.
func (*Buildkite) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{2}
}

func (x *Buildkite) GetOrg() string {
	if x != nil {
		return x.Org
	}
	return ""
}

func (x *Buildkite) GetPipeline() string {
	if x != nil {
		return x.Pipeline
	}
	return ""
}

func (x *Buildkite) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *Buildkite) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Buildkite) GetBuildNumber() int64 {
	if x != nil {
		return x.BuildNumber
	}
	return 0
}

func (x *Buildkite) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

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

	VcsType     string `protobuf:"bytes,1,opt,name=vcs_type,json=vcsType,proto3" json:"vcs_type,omitempty"`
	Username    string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Repository  string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
	BuildNumber int64  `protobuf:"varint,4,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	BuildStep   string `protobuf:"bytes,5,opt,name=build_step,json=buildStep,proto3" json:"build_step,omitempty"`
	Link        string `protobuf:"bytes,6,opt,name=link,proto3" json:"link,omitempty"`
	Email       string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *CircleCI) Reset() {
	*x = CircleCI{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[3]
		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_source_metadata_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 CircleCI.ProtoReflect.Descriptor instead.
func (*CircleCI) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{3}
}

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

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

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

func (x *CircleCI) GetBuildNumber() int64 {
	if x != nil {
		return x.BuildNumber
	}
	return 0
}

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

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

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

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

	Username    string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Repository  string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
	BuildNumber string `protobuf:"bytes,4,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	JobNumber   string `protobuf:"bytes,5,opt,name=job_number,json=jobNumber,proto3" json:"job_number,omitempty"`
	Link        string `protobuf:"bytes,6,opt,name=link,proto3" json:"link,omitempty"`
	Public      bool   `protobuf:"varint,7,opt,name=public,proto3" json:"public,omitempty"`
}

func (x *TravisCI) Reset() {
	*x = TravisCI{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[4]
		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_source_metadata_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 TravisCI.ProtoReflect.Descriptor instead.
func (*TravisCI) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{4}
}

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

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

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

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

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

func (x *TravisCI) GetPublic() bool {
	if x != nil {
		return x.Public
	}
	return false
}

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

	Page      string `protobuf:"bytes,1,opt,name=page,proto3" json:"page,omitempty"`
	Space     string `protobuf:"bytes,2,opt,name=space,proto3" json:"space,omitempty"`
	Version   string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Link      string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"`
	Email     string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Location  string `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"`
	File      string `protobuf:"bytes,8,opt,name=file,proto3" json:"file,omitempty"`
}

func (x *Confluence) Reset() {
	*x = Confluence{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[5]
		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_source_metadata_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 Confluence.ProtoReflect.Descriptor instead.
func (*Confluence) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{5}
}

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

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

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

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

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

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

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

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

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

	File  string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	Layer string `protobuf:"bytes,3,opt,name=layer,proto3" json:"layer,omitempty"`
	Tag   string `protobuf:"bytes,4,opt,name=tag,proto3" json:"tag,omitempty"`
}

func (x *Docker) Reset() {
	*x = Docker{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[6]
		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_source_metadata_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 Docker.ProtoReflect.Descriptor instead.
func (*Docker) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{6}
}

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

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

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

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

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

	File     string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Layer    string `protobuf:"bytes,2,opt,name=layer,proto3" json:"layer,omitempty"`
	Image    string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
	Registry string `protobuf:"bytes,4,opt,name=registry,proto3" json:"registry,omitempty"`
	Region   string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
	Link     string `protobuf:"bytes,6,opt,name=link,proto3" json:"link,omitempty"`
	Email    string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *ECR) Reset() {
	*x = ECR{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[7]
		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_source_metadata_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 ECR.ProtoReflect.Descriptor instead.
func (*ECR) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{7}
}

func (x *ECR) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *ECR) GetLayer() string {
	if x != nil {
		return x.Layer
	}
	return ""
}

func (x *ECR) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

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

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

func (x *ECR) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *ECR) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	File  string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Link  string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"`
	Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Line  int64  `protobuf:"varint,4,opt,name=line,proto3" json:"line,omitempty"`
}

func (x *Filesystem) Reset() {
	*x = Filesystem{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[8]
		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_source_metadata_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 Filesystem.ProtoReflect.Descriptor instead.
func (*Filesystem) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{8}
}

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

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

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

func (x *Filesystem) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

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

	Commit     string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
	File       string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	Email      string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Repository string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
	Timestamp  string `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line       int64  `protobuf:"varint,6,opt,name=line,proto3" json:"line,omitempty"`
}

func (x *Git) Reset() {
	*x = Git{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[9]
		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_source_metadata_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 Git.ProtoReflect.Descriptor instead.
func (*Git) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{9}
}

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

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

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

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

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

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

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

	Link       string     `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	Username   string     `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Repository string     `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
	Commit     string     `protobuf:"bytes,4,opt,name=commit,proto3" json:"commit,omitempty"`
	Email      string     `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	File       string     `protobuf:"bytes,6,opt,name=file,proto3" json:"file,omitempty"`
	Timestamp  string     `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line       int64      `protobuf:"varint,8,opt,name=line,proto3" json:"line,omitempty"`
	Visibility Visibility `protobuf:"varint,9,opt,name=visibility,proto3,enum=source_metadata.Visibility" json:"visibility,omitempty"`
}

func (x *Github) Reset() {
	*x = Github{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[10]
		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_source_metadata_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 Github.ProtoReflect.Descriptor instead.
func (*Github) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{10}
}

func (x *Github) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

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

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

func (x *Github) GetCommit() string {
	if x != nil {
		return x.Commit
	}
	return ""
}

func (x *Github) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Github) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *Github) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

func (x *Github) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *Github) GetVisibility() Visibility {
	if x != nil {
		return x.Visibility
	}
	return Visibility_public
}

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

	Commit       string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
	File         string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	Link         string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Email        string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	Repository   string `protobuf:"bytes,5,opt,name=repository,proto3" json:"repository,omitempty"`
	Timestamp    string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line         int64  `protobuf:"varint,7,opt,name=line,proto3" json:"line,omitempty"`
	ProjectId    int64  `protobuf:"varint,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ProjectName  string `protobuf:"bytes,9,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
	ProjectOwner string `protobuf:"bytes,10,opt,name=project_owner,json=projectOwner,proto3" json:"project_owner,omitempty"`
}

func (x *Gitlab) Reset() {
	*x = Gitlab{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[11]
		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_source_metadata_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 Gitlab.ProtoReflect.Descriptor instead.
func (*Gitlab) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{11}
}

func (x *Gitlab) GetCommit() string {
	if x != nil {
		return x.Commit
	}
	return ""
}

func (x *Gitlab) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *Gitlab) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *Gitlab) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

func (x *Gitlab) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

func (x *Gitlab) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *Gitlab) GetProjectId() int64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *Gitlab) GetProjectName() string {
	if x != nil {
		return x.ProjectName
	}
	return ""
}

func (x *Gitlab) GetProjectOwner() string {
	if x != nil {
		return x.ProjectOwner
	}
	return ""
}

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

	Bucket      string   `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Filename    string   `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"`
	Link        string   `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Email       string   `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	CreatedAt   string   `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt   string   `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Acls        []string `protobuf:"bytes,7,rep,name=acls,proto3" json:"acls,omitempty"`
	ContentType string   `protobuf:"bytes,8,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
}

func (x *GCS) Reset() {
	*x = GCS{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[12]
		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_source_metadata_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 GCS.ProtoReflect.Descriptor instead.
func (*GCS) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{12}
}

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

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

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

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

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

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

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

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

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

	Link         string     `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	Username     string     `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Repository   string     `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
	Commit       string     `protobuf:"bytes,4,opt,name=commit,proto3" json:"commit,omitempty"`
	Email        string     `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	File         string     `protobuf:"bytes,6,opt,name=file,proto3" json:"file,omitempty"`
	Timestamp    string     `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line         int64      `protobuf:"varint,8,opt,name=line,proto3" json:"line,omitempty"`
	Visibility   Visibility `protobuf:"varint,9,opt,name=visibility,proto3,enum=source_metadata.Visibility" json:"visibility,omitempty"`
	ResourceType string     `protobuf:"bytes,10,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
}

func (x *Huggingface) Reset() {
	*x = Huggingface{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[13]
		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_source_metadata_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 Huggingface.ProtoReflect.Descriptor instead.
func (*Huggingface) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{13}
}

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

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

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

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

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

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

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

func (x *Huggingface) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *Huggingface) GetVisibility() Visibility {
	if x != nil {
		return x.Visibility
	}
	return Visibility_public
}

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

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

	Issue     string `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
	Author    string `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"`
	Link      string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Location  string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
	Email     string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *Jira) Reset() {
	*x = Jira{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[14]
		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_source_metadata_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 Jira.ProtoReflect.Descriptor instead.
func (*Jira) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{14}
}

func (x *Jira) GetIssue() string {
	if x != nil {
		return x.Issue
	}
	return ""
}

func (x *Jira) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *Jira) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *Jira) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *Jira) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Jira) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

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

	File    string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"`
	Release string `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
	Link    string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"`
	Email   string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
}

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

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

func (*NPM) ProtoMessage() {}

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

func (x *NPM) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *NPM) GetPackage() string {
	if x != nil {
		return x.Package
	}
	return ""
}

func (x *NPM) GetRelease() string {
	if x != nil {
		return x.Release
	}
	return ""
}

func (x *NPM) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *NPM) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	File    string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"`
	Release string `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
	Link    string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"`
	Email   string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
}

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

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

func (*PyPi) ProtoMessage() {}

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

func (x *PyPi) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *PyPi) GetPackage() string {
	if x != nil {
		return x.Package
	}
	return ""
}

func (x *PyPi) GetRelease() string {
	if x != nil {
		return x.Release
	}
	return ""
}

func (x *PyPi) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *PyPi) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	Bucket    string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	File      string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	Link      string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Email     string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *S3) Reset() {
	*x = S3{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[17]
		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_source_metadata_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 S3.ProtoReflect.Descriptor instead.
func (*S3) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{17}
}

func (x *S3) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *S3) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *S3) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *S3) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *S3) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

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

	ChannelId   string     `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	ChannelName string     `protobuf:"bytes,2,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"`
	Timestamp   string     `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	UserId      string     `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Link        string     `protobuf:"bytes,5,opt,name=link,proto3" json:"link,omitempty"`
	File        string     `protobuf:"bytes,6,opt,name=file,proto3" json:"file,omitempty"`
	Email       string     `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
	Visibility  Visibility `protobuf:"varint,8,opt,name=visibility,proto3,enum=source_metadata.Visibility" json:"visibility,omitempty"`
	Location    string     `protobuf:"bytes,9,opt,name=location,proto3" json:"location,omitempty"`
}

func (x *Slack) Reset() {
	*x = Slack{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[18]
		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_source_metadata_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 Slack.ProtoReflect.Descriptor instead.
func (*Slack) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{18}
}

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

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

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

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

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

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

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

func (x *Slack) GetVisibility() Visibility {
	if x != nil {
		return x.Visibility
	}
	return Visibility_public
}

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

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

	Commit    string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
	File      string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"`
	Email     string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Project   string `protobuf:"bytes,4,opt,name=project,proto3" json:"project,omitempty"` // projects are what Gerrit calls repositories
	Timestamp string `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line      int64  `protobuf:"varint,6,opt,name=line,proto3" json:"line,omitempty"`
}

func (x *Gerrit) Reset() {
	*x = Gerrit{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[19]
		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_source_metadata_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 Gerrit.ProtoReflect.Descriptor instead.
func (*Gerrit) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{19}
}

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

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

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

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

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

func (x *Gerrit) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

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

	File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
}

func (x *Test) Reset() {
	*x = Test{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[20]
		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_source_metadata_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 Test.ProtoReflect.Descriptor instead.
func (*Test) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{20}
}

func (x *Test) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

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

	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
	BuildNumber int64  `protobuf:"varint,2,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	Link        string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Timestamp   string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *Jenkins) Reset() {
	*x = Jenkins{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[21]
		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_source_metadata_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 Jenkins.ProtoReflect.Descriptor instead.
func (*Jenkins) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{21}
}

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

func (x *Jenkins) GetBuildNumber() int64 {
	if x != nil {
		return x.BuildNumber
	}
	return 0
}

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

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

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

	ChannelId   string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	ChannelName string `protobuf:"bytes,2,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"`
	Timestamp   string `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	UserId      string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Link        string `protobuf:"bytes,5,opt,name=link,proto3" json:"link,omitempty"`
	File        string `protobuf:"bytes,6,opt,name=file,proto3" json:"file,omitempty"`
	Email       string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
	Location    string `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
	TeamName    string `protobuf:"bytes,9,opt,name=team_name,json=teamName,proto3" json:"team_name,omitempty"`
	TeamId      string `protobuf:"bytes,10,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
}

func (x *Teams) Reset() {
	*x = Teams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[22]
		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_source_metadata_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 Teams.ProtoReflect.Descriptor instead.
func (*Teams) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{22}
}

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

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

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

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

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

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

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

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

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

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

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

	Repo      string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
	Path      string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Link      string `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
	Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Username  string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
	Email     string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *Artifactory) Reset() {
	*x = Artifactory{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[23]
		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_source_metadata_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 Artifactory.ProtoReflect.Descriptor instead.
func (*Artifactory) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{23}
}

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

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

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

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

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

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

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

	Hostname  string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Appname   string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty"`
	Procid    string `protobuf:"bytes,3,opt,name=procid,proto3" json:"procid,omitempty"`
	Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Client    string `protobuf:"bytes,5,opt,name=client,proto3" json:"client,omitempty"`
	Facility  string `protobuf:"bytes,6,opt,name=facility,proto3" json:"facility,omitempty"`
}

func (x *Syslog) Reset() {
	*x = Syslog{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[24]
		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_source_metadata_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 Syslog.ProtoReflect.Descriptor instead.
func (*Syslog) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{24}
}

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

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

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

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

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

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

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

	// Types that are assignable to Metadata:
	//
	//	*Forager_Github
	//	*Forager_Npm
	//	*Forager_Pypi
	Metadata isForager_Metadata `protobuf_oneof:"metadata"`
}

func (x *Forager) Reset() {
	*x = Forager{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[25]
		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_source_metadata_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 Forager.ProtoReflect.Descriptor instead.
func (*Forager) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{25}
}

func (m *Forager) GetMetadata() isForager_Metadata {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (x *Forager) GetGithub() *Github {
	if x, ok := x.GetMetadata().(*Forager_Github); ok {
		return x.Github
	}
	return nil
}

func (x *Forager) GetNpm() *NPM {
	if x, ok := x.GetMetadata().(*Forager_Npm); ok {
		return x.Npm
	}
	return nil
}

func (x *Forager) GetPypi() *PyPi {
	if x, ok := x.GetMetadata().(*Forager_Pypi); ok {
		return x.Pypi
	}
	return nil
}

type isForager_Metadata interface {
	isForager_Metadata()
}

type Forager_Github struct {
	Github *Github `protobuf:"bytes,1,opt,name=github,proto3,oneof"`
}

type Forager_Npm struct {
	Npm *NPM `protobuf:"bytes,2,opt,name=npm,proto3,oneof"`
}

type Forager_Pypi struct {
	Pypi *PyPi `protobuf:"bytes,3,opt,name=pypi,proto3,oneof"`
}

func (*Forager_Github) isForager_Metadata() {}

func (*Forager_Npm) isForager_Metadata() {}

func (*Forager_Pypi) isForager_Metadata() {}

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

	Link      string `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	Timestamp string `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Author    string `protobuf:"bytes,3,opt,name=author,proto3" json:"author,omitempty"`
	Title     string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	Views     int64  `protobuf:"varint,5,opt,name=views,proto3" json:"views,omitempty"`
	Docid     string `protobuf:"bytes,6,opt,name=docid,proto3" json:"docid,omitempty"`
	Email     string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *SharePoint) Reset() {
	*x = SharePoint{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[26]
		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_source_metadata_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 SharePoint.ProtoReflect.Descriptor instead.
func (*SharePoint) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{26}
}

func (x *SharePoint) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *SharePoint) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

func (x *SharePoint) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *SharePoint) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *SharePoint) GetViews() int64 {
	if x != nil {
		return x.Views
	}
	return 0
}

func (x *SharePoint) GetDocid() string {
	if x != nil {
		return x.Docid
	}
	return ""
}

func (x *SharePoint) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	File           string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Link           string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"`
	Email          string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Timestamp      string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Shared         bool   `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"`
	LastModifiedBy string `protobuf:"bytes,6,opt,name=last_modified_by,json=lastModifiedBy,proto3" json:"last_modified_by,omitempty"`
	Path           string `protobuf:"bytes,7,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *GoogleDrive) Reset() {
	*x = GoogleDrive{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[27]
		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_source_metadata_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 GoogleDrive.ProtoReflect.Descriptor instead.
func (*GoogleDrive) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{27}
}

func (x *GoogleDrive) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *GoogleDrive) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *GoogleDrive) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *GoogleDrive) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

func (x *GoogleDrive) GetShared() bool {
	if x != nil {
		return x.Shared
	}
	return false
}

func (x *GoogleDrive) GetLastModifiedBy() string {
	if x != nil {
		return x.LastModifiedBy
	}
	return ""
}

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

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

	Link         string     `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	Username     string     `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Repository   string     `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
	Commit       string     `protobuf:"bytes,4,opt,name=commit,proto3" json:"commit,omitempty"`
	Email        string     `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	File         string     `protobuf:"bytes,6,opt,name=file,proto3" json:"file,omitempty"`
	Timestamp    string     `protobuf:"bytes,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Line         int64      `protobuf:"varint,8,opt,name=line,proto3" json:"line,omitempty"`
	Visibility   Visibility `protobuf:"varint,9,opt,name=visibility,proto3,enum=source_metadata.Visibility" json:"visibility,omitempty"`
	Project      string     `protobuf:"bytes,10,opt,name=project,proto3" json:"project,omitempty"`
	Organization string     `protobuf:"bytes,11,opt,name=organization,proto3" json:"organization,omitempty"`
}

func (x *AzureRepos) Reset() {
	*x = AzureRepos{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[28]
		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_source_metadata_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 AzureRepos.ProtoReflect.Descriptor instead.
func (*AzureRepos) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{28}
}

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

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

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

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

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

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

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

func (x *AzureRepos) GetLine() int64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *AzureRepos) GetVisibility() Visibility {
	if x != nil {
		return x.Visibility
	}
	return Visibility_public
}

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

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

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

	Link            string `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	WorkspaceUuid   string `protobuf:"bytes,2,opt,name=workspace_uuid,json=workspaceUuid,proto3" json:"workspace_uuid,omitempty"`
	WorkspaceName   string `protobuf:"bytes,3,opt,name=workspace_name,json=workspaceName,proto3" json:"workspace_name,omitempty"`
	GlobalsId       string `protobuf:"bytes,4,opt,name=globals_id,json=globalsId,proto3" json:"globals_id,omitempty"`
	CollectionId    string `protobuf:"bytes,5,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
	CollectionName  string `protobuf:"bytes,6,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
	EnvironmentId   string `protobuf:"bytes,7,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	EnvironmentName string `protobuf:"bytes,8,opt,name=environment_name,json=environmentName,proto3" json:"environment_name,omitempty"`
	RequestId       string `protobuf:"bytes,9,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	RequestName     string `protobuf:"bytes,10,opt,name=request_name,json=requestName,proto3" json:"request_name,omitempty"`
	FolderId        string `protobuf:"bytes,11,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	FolderName      string `protobuf:"bytes,12,opt,name=folder_name,json=folderName,proto3" json:"folder_name,omitempty"`
	FieldType       string `protobuf:"bytes,13,opt,name=field_type,json=fieldType,proto3" json:"field_type,omitempty"`
	FieldName       string `protobuf:"bytes,14,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
	VariableType    string `protobuf:"bytes,15,opt,name=variable_type,json=variableType,proto3" json:"variable_type,omitempty"`
}

func (x *Postman) Reset() {
	*x = Postman{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[29]
		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_source_metadata_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 Postman.ProtoReflect.Descriptor instead.
func (*Postman) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{29}
}

func (x *Postman) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *Postman) GetWorkspaceUuid() string {
	if x != nil {
		return x.WorkspaceUuid
	}
	return ""
}

func (x *Postman) GetWorkspaceName() string {
	if x != nil {
		return x.WorkspaceName
	}
	return ""
}

func (x *Postman) GetGlobalsId() string {
	if x != nil {
		return x.GlobalsId
	}
	return ""
}

func (x *Postman) GetCollectionId() string {
	if x != nil {
		return x.CollectionId
	}
	return ""
}

func (x *Postman) GetCollectionName() string {
	if x != nil {
		return x.CollectionName
	}
	return ""
}

func (x *Postman) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *Postman) GetEnvironmentName() string {
	if x != nil {
		return x.EnvironmentName
	}
	return ""
}

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

func (x *Postman) GetRequestName() string {
	if x != nil {
		return x.RequestName
	}
	return ""
}

func (x *Postman) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *Postman) GetFolderName() string {
	if x != nil {
		return x.FolderName
	}
	return ""
}

func (x *Postman) GetFieldType() string {
	if x != nil {
		return x.FieldType
	}
	return ""
}

func (x *Postman) GetFieldName() string {
	if x != nil {
		return x.FieldName
	}
	return ""
}

func (x *Postman) GetVariableType() string {
	if x != nil {
		return x.VariableType
	}
	return ""
}

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

	Timestamp  *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	SourceType string                 `protobuf:"bytes,2,opt,name=source_type,json=sourceType,proto3" json:"source_type,omitempty"`
	Host       string                 `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
}

func (x *Vector) Reset() {
	*x = Vector{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[30]
		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_source_metadata_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 Vector.ProtoReflect.Descriptor instead.
func (*Vector) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{30}
}

func (x *Vector) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

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

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

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

	// Types that are assignable to Data:
	//
	//	*Webhook_Vector
	Data isWebhook_Data `protobuf_oneof:"data"`
}

func (x *Webhook) Reset() {
	*x = Webhook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[31]
		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_source_metadata_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 Webhook.ProtoReflect.Descriptor instead.
func (*Webhook) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{31}
}

func (m *Webhook) GetData() isWebhook_Data {
	if m != nil {
		return m.Data
	}
	return nil
}

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

type isWebhook_Data interface {
	isWebhook_Data()
}

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

func (*Webhook_Vector) isWebhook_Data() {}

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

	Index      string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
	DocumentId string `protobuf:"bytes,2,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
	Timestamp  string `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *Elasticsearch) Reset() {
	*x = Elasticsearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[32]
		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_source_metadata_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 Elasticsearch.ProtoReflect.Descriptor instead.
func (*Elasticsearch) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{32}
}

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

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

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

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

	EventId                 string `protobuf:"bytes,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
	OrganizationId          string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
	OrganizationSlug        string `protobuf:"bytes,3,opt,name=organization_slug,json=organizationSlug,proto3" json:"organization_slug,omitempty"`
	OrganizationDateCreated string `protobuf:"bytes,4,opt,name=organization_date_created,json=organizationDateCreated,proto3" json:"organization_date_created,omitempty"`
	ProjectId               string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ProjectSlug             string `protobuf:"bytes,6,opt,name=project_slug,json=projectSlug,proto3" json:"project_slug,omitempty"`
	IssueId                 string `protobuf:"bytes,7,opt,name=issue_id,json=issueId,proto3" json:"issue_id,omitempty"`
	DateCreated             string `protobuf:"bytes,8,opt,name=date_created,json=dateCreated,proto3" json:"date_created,omitempty"`
	Link                    string `protobuf:"bytes,9,opt,name=link,proto3" json:"link,omitempty"`
}

func (x *Sentry) Reset() {
	*x = Sentry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_source_metadata_proto_msgTypes[33]
		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_source_metadata_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 Sentry.ProtoReflect.Descriptor instead.
func (*Sentry) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{33}
}

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

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

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

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

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

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

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

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

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

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

	// Types that are assignable to Data:
	//
	//	*MetaData_Azure
	//	*MetaData_Bitbucket
	//	*MetaData_Circleci
	//	*MetaData_Confluence
	//	*MetaData_Docker
	//	*MetaData_Ecr
	//	*MetaData_Gcs
	//	*MetaData_Github
	//	*MetaData_Gitlab
	//	*MetaData_Jira
	//	*MetaData_Npm
	//	*MetaData_Pypi
	//	*MetaData_S3
	//	*MetaData_Slack
	//	*MetaData_Filesystem
	//	*MetaData_Git
	//	*MetaData_Test
	//	*MetaData_Buildkite
	//	*MetaData_Gerrit
	//	*MetaData_Jenkins
	//	*MetaData_Teams
	//	*MetaData_Artifactory
	//	*MetaData_Syslog
	//	*MetaData_Forager
	//	*MetaData_Sharepoint
	//	*MetaData_GoogleDrive
	//	*MetaData_AzureRepos
	//	*MetaData_TravisCI
	//	*MetaData_Postman
	//	*MetaData_Webhook
	//	*MetaData_Elasticsearch
	//	*MetaData_Huggingface
	//	*MetaData_Sentry
	Data isMetaData_Data `protobuf_oneof:"data"`
}

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

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

func (*MetaData) ProtoMessage() {}

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

func (m *MetaData) GetData() isMetaData_Data {
	if m != nil {
		return m.Data
	}
	return nil
}

func (x *MetaData) GetAzure() *Azure {
	if x, ok := x.GetData().(*MetaData_Azure); ok {
		return x.Azure
	}
	return nil
}

func (x *MetaData) GetBitbucket() *Bitbucket {
	if x, ok := x.GetData().(*MetaData_Bitbucket); ok {
		return x.Bitbucket
	}
	return nil
}

func (x *MetaData) GetCircleci() *CircleCI {
	if x, ok := x.GetData().(*MetaData_Circleci); ok {
		return x.Circleci
	}
	return nil
}

func (x *MetaData) GetConfluence() *Confluence {
	if x, ok := x.GetData().(*MetaData_Confluence); ok {
		return x.Confluence
	}
	return nil
}

func (x *MetaData) GetDocker() *Docker {
	if x, ok := x.GetData().(*MetaData_Docker); ok {
		return x.Docker
	}
	return nil
}

func (x *MetaData) GetEcr() *ECR {
	if x, ok := x.GetData().(*MetaData_Ecr); ok {
		return x.Ecr
	}
	return nil
}

func (x *MetaData) GetGcs() *GCS {
	if x, ok := x.GetData().(*MetaData_Gcs); ok {
		return x.Gcs
	}
	return nil
}

func (x *MetaData) GetGithub() *Github {
	if x, ok := x.GetData().(*MetaData_Github); ok {
		return x.Github
	}
	return nil
}

func (x *MetaData) GetGitlab() *Gitlab {
	if x, ok := x.GetData().(*MetaData_Gitlab); ok {
		return x.Gitlab
	}
	return nil
}

func (x *MetaData) GetJira() *Jira {
	if x, ok := x.GetData().(*MetaData_Jira); ok {
		return x.Jira
	}
	return nil
}

func (x *MetaData) GetNpm() *NPM {
	if x, ok := x.GetData().(*MetaData_Npm); ok {
		return x.Npm
	}
	return nil
}

func (x *MetaData) GetPypi() *PyPi {
	if x, ok := x.GetData().(*MetaData_Pypi); ok {
		return x.Pypi
	}
	return nil
}

func (x *MetaData) GetS3() *S3 {
	if x, ok := x.GetData().(*MetaData_S3); ok {
		return x.S3
	}
	return nil
}

func (x *MetaData) GetSlack() *Slack {
	if x, ok := x.GetData().(*MetaData_Slack); ok {
		return x.Slack
	}
	return nil
}

func (x *MetaData) GetFilesystem() *Filesystem {
	if x, ok := x.GetData().(*MetaData_Filesystem); ok {
		return x.Filesystem
	}
	return nil
}

func (x *MetaData) GetGit() *Git {
	if x, ok := x.GetData().(*MetaData_Git); ok {
		return x.Git
	}
	return nil
}

func (x *MetaData) GetTest() *Test {
	if x, ok := x.GetData().(*MetaData_Test); ok {
		return x.Test
	}
	return nil
}

func (x *MetaData) GetBuildkite() *Buildkite {
	if x, ok := x.GetData().(*MetaData_Buildkite); ok {
		return x.Buildkite
	}
	return nil
}

func (x *MetaData) GetGerrit() *Gerrit {
	if x, ok := x.GetData().(*MetaData_Gerrit); ok {
		return x.Gerrit
	}
	return nil
}

func (x *MetaData) GetJenkins() *Jenkins {
	if x, ok := x.GetData().(*MetaData_Jenkins); ok {
		return x.Jenkins
	}
	return nil
}

func (x *MetaData) GetTeams() *Teams {
	if x, ok := x.GetData().(*MetaData_Teams); ok {
		return x.Teams
	}
	return nil
}

func (x *MetaData) GetArtifactory() *Artifactory {
	if x, ok := x.GetData().(*MetaData_Artifactory); ok {
		return x.Artifactory
	}
	return nil
}

func (x *MetaData) GetSyslog() *Syslog {
	if x, ok := x.GetData().(*MetaData_Syslog); ok {
		return x.Syslog
	}
	return nil
}

func (x *MetaData) GetForager() *Forager {
	if x, ok := x.GetData().(*MetaData_Forager); ok {
		return x.Forager
	}
	return nil
}

func (x *MetaData) GetSharepoint() *SharePoint {
	if x, ok := x.GetData().(*MetaData_Sharepoint); ok {
		return x.Sharepoint
	}
	return nil
}

func (x *MetaData) GetGoogleDrive() *GoogleDrive {
	if x, ok := x.GetData().(*MetaData_GoogleDrive); ok {
		return x.GoogleDrive
	}
	return nil
}

func (x *MetaData) GetAzureRepos() *AzureRepos {
	if x, ok := x.GetData().(*MetaData_AzureRepos); ok {
		return x.AzureRepos
	}
	return nil
}

func (x *MetaData) GetTravisCI() *TravisCI {
	if x, ok := x.GetData().(*MetaData_TravisCI); ok {
		return x.TravisCI
	}
	return nil
}

func (x *MetaData) GetPostman() *Postman {
	if x, ok := x.GetData().(*MetaData_Postman); ok {
		return x.Postman
	}
	return nil
}

func (x *MetaData) GetWebhook() *Webhook {
	if x, ok := x.GetData().(*MetaData_Webhook); ok {
		return x.Webhook
	}
	return nil
}

func (x *MetaData) GetElasticsearch() *Elasticsearch {
	if x, ok := x.GetData().(*MetaData_Elasticsearch); ok {
		return x.Elasticsearch
	}
	return nil
}

func (x *MetaData) GetHuggingface() *Huggingface {
	if x, ok := x.GetData().(*MetaData_Huggingface); ok {
		return x.Huggingface
	}
	return nil
}

func (x *MetaData) GetSentry() *Sentry {
	if x, ok := x.GetData().(*MetaData_Sentry); ok {
		return x.Sentry
	}
	return nil
}

type isMetaData_Data interface {
	isMetaData_Data()
}

type MetaData_Azure struct {
	Azure *Azure `protobuf:"bytes,1,opt,name=azure,proto3,oneof"`
}

type MetaData_Bitbucket struct {
	Bitbucket *Bitbucket `protobuf:"bytes,2,opt,name=bitbucket,proto3,oneof"`
}

type MetaData_Circleci struct {
	Circleci *CircleCI `protobuf:"bytes,3,opt,name=circleci,proto3,oneof"`
}

type MetaData_Confluence struct {
	Confluence *Confluence `protobuf:"bytes,4,opt,name=confluence,proto3,oneof"`
}

type MetaData_Docker struct {
	Docker *Docker `protobuf:"bytes,5,opt,name=docker,proto3,oneof"`
}

type MetaData_Ecr struct {
	Ecr *ECR `protobuf:"bytes,6,opt,name=ecr,proto3,oneof"`
}

type MetaData_Gcs struct {
	Gcs *GCS `protobuf:"bytes,7,opt,name=gcs,proto3,oneof"`
}

type MetaData_Github struct {
	Github *Github `protobuf:"bytes,8,opt,name=github,proto3,oneof"`
}

type MetaData_Gitlab struct {
	Gitlab *Gitlab `protobuf:"bytes,9,opt,name=gitlab,proto3,oneof"`
}

type MetaData_Jira struct {
	Jira *Jira `protobuf:"bytes,10,opt,name=jira,proto3,oneof"`
}

type MetaData_Npm struct {
	Npm *NPM `protobuf:"bytes,11,opt,name=npm,proto3,oneof"`
}

type MetaData_Pypi struct {
	Pypi *PyPi `protobuf:"bytes,12,opt,name=pypi,proto3,oneof"`
}

type MetaData_S3 struct {
	S3 *S3 `protobuf:"bytes,13,opt,name=s3,proto3,oneof"`
}

type MetaData_Slack struct {
	Slack *Slack `protobuf:"bytes,14,opt,name=slack,proto3,oneof"`
}

type MetaData_Filesystem struct {
	Filesystem *Filesystem `protobuf:"bytes,15,opt,name=filesystem,proto3,oneof"`
}

type MetaData_Git struct {
	Git *Git `protobuf:"bytes,16,opt,name=git,proto3,oneof"`
}

type MetaData_Test struct {
	Test *Test `protobuf:"bytes,17,opt,name=test,proto3,oneof"`
}

type MetaData_Buildkite struct {
	Buildkite *Buildkite `protobuf:"bytes,18,opt,name=buildkite,proto3,oneof"`
}

type MetaData_Gerrit struct {
	Gerrit *Gerrit `protobuf:"bytes,19,opt,name=gerrit,proto3,oneof"`
}

type MetaData_Jenkins struct {
	Jenkins *Jenkins `protobuf:"bytes,20,opt,name=jenkins,proto3,oneof"`
}

type MetaData_Teams struct {
	Teams *Teams `protobuf:"bytes,21,opt,name=teams,proto3,oneof"`
}

type MetaData_Artifactory struct {
	Artifactory *Artifactory `protobuf:"bytes,22,opt,name=artifactory,proto3,oneof"`
}

type MetaData_Syslog struct {
	Syslog *Syslog `protobuf:"bytes,23,opt,name=syslog,proto3,oneof"`
}

type MetaData_Forager struct {
	Forager *Forager `protobuf:"bytes,24,opt,name=forager,proto3,oneof"`
}

type MetaData_Sharepoint struct {
	Sharepoint *SharePoint `protobuf:"bytes,25,opt,name=sharepoint,proto3,oneof"`
}

type MetaData_GoogleDrive struct {
	GoogleDrive *GoogleDrive `protobuf:"bytes,26,opt,name=googleDrive,proto3,oneof"`
}

type MetaData_AzureRepos struct {
	AzureRepos *AzureRepos `protobuf:"bytes,27,opt,name=azureRepos,proto3,oneof"`
}

type MetaData_TravisCI struct {
	TravisCI *TravisCI `protobuf:"bytes,28,opt,name=travisCI,proto3,oneof"`
}

type MetaData_Postman struct {
	Postman *Postman `protobuf:"bytes,29,opt,name=postman,proto3,oneof"`
}

type MetaData_Webhook struct {
	Webhook *Webhook `protobuf:"bytes,30,opt,name=webhook,proto3,oneof"`
}

type MetaData_Elasticsearch struct {
	Elasticsearch *Elasticsearch `protobuf:"bytes,31,opt,name=elasticsearch,proto3,oneof"`
}

type MetaData_Huggingface struct {
	Huggingface *Huggingface `protobuf:"bytes,32,opt,name=huggingface,proto3,oneof"`
}

type MetaData_Sentry struct {
	Sentry *Sentry `protobuf:"bytes,33,opt,name=sentry,proto3,oneof"`
}

func (*MetaData_Azure) isMetaData_Data() {}

func (*MetaData_Bitbucket) isMetaData_Data() {}

func (*MetaData_Circleci) isMetaData_Data() {}

func (*MetaData_Confluence) isMetaData_Data() {}

func (*MetaData_Docker) isMetaData_Data() {}

func (*MetaData_Ecr) isMetaData_Data() {}

func (*MetaData_Gcs) isMetaData_Data() {}

func (*MetaData_Github) isMetaData_Data() {}

func (*MetaData_Gitlab) isMetaData_Data() {}

func (*MetaData_Jira) isMetaData_Data() {}

func (*MetaData_Npm) isMetaData_Data() {}

func (*MetaData_Pypi) isMetaData_Data() {}

func (*MetaData_S3) isMetaData_Data() {}

func (*MetaData_Slack) isMetaData_Data() {}

func (*MetaData_Filesystem) isMetaData_Data() {}

func (*MetaData_Git) isMetaData_Data() {}

func (*MetaData_Test) isMetaData_Data() {}

func (*MetaData_Buildkite) isMetaData_Data() {}

func (*MetaData_Gerrit) isMetaData_Data() {}

func (*MetaData_Jenkins) isMetaData_Data() {}

func (*MetaData_Teams) isMetaData_Data() {}

func (*MetaData_Artifactory) isMetaData_Data() {}

func (*MetaData_Syslog) isMetaData_Data() {}

func (*MetaData_Forager) isMetaData_Data() {}

func (*MetaData_Sharepoint) isMetaData_Data() {}

func (*MetaData_GoogleDrive) isMetaData_Data() {}

func (*MetaData_AzureRepos) isMetaData_Data() {}

func (*MetaData_TravisCI) isMetaData_Data() {}

func (*MetaData_Postman) isMetaData_Data() {}

func (*MetaData_Webhook) isMetaData_Data() {}

func (*MetaData_Elasticsearch) isMetaData_Data() {}

func (*MetaData_Huggingface) isMetaData_Data() {}

func (*MetaData_Sentry) isMetaData_Data() {}

var File_source_metadata_proto protoreflect.FileDescriptor

var file_source_metadata_proto_rawDesc = []byte{
	0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 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, 0x7f, 0x0a, 0x05, 0x41, 0x7a, 0x75,
	0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
	0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x86, 0x02, 0x0a, 0x09, 0x42,
	0x69, 0x74, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09,
	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6e,
	0x69, 0x70, 0x70, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74,
	0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
	0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e,
	0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c,
	0x69, 0x6e, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x6b, 0x69, 0x74,
	0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6f, 0x72, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c,
	0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcd, 0x01, 0x0a, 0x08, 0x43,
	0x69, 0x72, 0x63, 0x6c, 0x65, 0x43, 0x49, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x63, 0x73, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x63, 0x73, 0x54, 0x79,
	0x70, 0x65, 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, 0x1e,
	0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21,
	0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, 0x70,
	0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xb4, 0x01, 0x0a, 0x08, 0x54,
	0x72, 0x61, 0x76, 0x69, 0x73, 0x43, 0x49, 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, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x4e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62,
	0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69,
	0x63, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c,
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x5a, 0x0a, 0x06,
	0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d,
	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x03, 0x45, 0x43, 0x52,
	0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d,
	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5e,
	0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04,
	0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69,
	0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x99,
	0x01, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69,
	0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f,
	0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x89, 0x02, 0x0a, 0x06, 0x47,
	0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 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, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d,
	0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x76, 0x69, 0x73,
	0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69,
	0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x97, 0x02, 0x0a, 0x06, 0x47, 0x69, 0x74, 0x6c, 0x61,
	0x62, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e,
	0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72,
	0x22, 0xd8, 0x01, 0x0a, 0x03, 0x47, 0x43, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
	0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x0b,
	0x48, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c,
	0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 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, 0x1e, 0x0a, 0x0a, 0x72,
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63,
	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d,
	0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c,
	0x69, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12,
	0x3b, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
	0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x22, 0x98, 0x01, 0x0a, 0x04, 0x4a, 0x69, 0x72, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73,
	0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c,
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x03,
	0x4e, 0x50, 0x4d, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c,
	0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12,
	0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x78, 0x0a, 0x04, 0x50, 0x79, 0x50, 0x69, 0x12, 0x12, 0x0a,
	0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72,
	0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
	0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61,
	0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22,
	0x78, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a,
	0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x97, 0x02, 0x0a, 0x05, 0x53, 0x6c,
	0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
	0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3b, 0x0a, 0x0a, 0x76, 0x69,
	0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
	0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73,
	0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d,
	0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
	0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x1a, 0x0a, 0x04,
	0x54, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x07, 0x4a, 0x65, 0x6e,
	0x6b, 0x69, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69,
	0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1c,
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x90, 0x02, 0x0a,
	0x05, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c,
	0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61,
	0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65,
	0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69,
	0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22,
	0x99, 0x01, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12,
	0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72,
	0x65, 0x70, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xa8, 0x01, 0x0a, 0x06,
	0x53, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x70, 0x72, 0x6f, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72,
	0x6f, 0x63, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61,
	0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61,
	0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x9f, 0x01, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x48, 0x00, 0x52, 0x06, 0x67,
	0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x28, 0x0a, 0x03, 0x6e, 0x70, 0x6d, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4e, 0x50, 0x4d, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x70, 0x6d, 0x12,
	0x2b, 0x0a, 0x04, 0x70, 0x79, 0x70, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x50, 0x79, 0x50, 0x69, 0x48, 0x00, 0x52, 0x04, 0x70, 0x79, 0x70, 0x69, 0x42, 0x0a, 0x0a, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xae, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x61,
	0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74,
	0x68, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f,
	0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x14, 0x0a,
	0x05, 0x64, 0x6f, 0x63, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x6f,
	0x63, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xbf, 0x01, 0x0a, 0x0b, 0x47, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e,
	0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x28, 0x0a,
	0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62,
	0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64,
	0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xcb, 0x02, 0x0a, 0x0a,
	0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69,
	0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 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, 0x1e, 0x0a, 0x0a, 0x72, 0x65,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
	0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
	0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69,
	0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3b,
	0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52,
	0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67,
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x04, 0x0a, 0x07, 0x50, 0x6f,
	0x73, 0x74, 0x6d, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72,
	0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64,
	0x12, 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61,
	0x6c, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x73, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63,
	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63,
	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e,
	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x6c, 0x64,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6c,
	0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x6c, 0x64,
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c,
	0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x61, 0x72,
	0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x77, 0x0a, 0x06, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x18, 0x01, 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, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a,
	0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f,
	0x73, 0x74, 0x22, 0x44, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x31, 0x0a,
	0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a, 0x0d, 0x45, 0x6c, 0x61, 0x73,
	0x74, 0x69, 0x63, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
	0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12,
	0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9,
	0x02, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65,
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f,
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a,
	0x11, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c,
	0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x75, 0x67, 0x12, 0x3a, 0x0a, 0x19, 0x6f, 0x72,
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6f,
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 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, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x53, 0x6c, 0x75, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75,
	0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x73, 0x73, 0x75,
	0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xf6, 0x0d, 0x0a, 0x08, 0x4d,
	0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00,
	0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x62, 0x75,
	0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x74,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x62, 0x69, 0x74, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x63, 0x69, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x43, 0x49,
	0x48, 0x00, 0x52, 0x08, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x63, 0x69, 0x12, 0x3d, 0x0a, 0x0a,
	0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1b, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52,
	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x64,
	0x6f, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x6f,
	0x63, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x28,
	0x0a, 0x03, 0x65, 0x63, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x43,
	0x52, 0x48, 0x00, 0x52, 0x03, 0x65, 0x63, 0x72, 0x12, 0x28, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x53, 0x48, 0x00, 0x52, 0x03, 0x67,
	0x63, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x48, 0x00, 0x52, 0x06, 0x67,
	0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x48, 0x00,
	0x52, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x69, 0x72, 0x61,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x69, 0x72, 0x61, 0x48, 0x00, 0x52,
	0x04, 0x6a, 0x69, 0x72, 0x61, 0x12, 0x28, 0x0a, 0x03, 0x6e, 0x70, 0x6d, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4e, 0x50, 0x4d, 0x48, 0x00, 0x52, 0x03, 0x6e, 0x70, 0x6d, 0x12,
	0x2b, 0x0a, 0x04, 0x70, 0x79, 0x70, 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x50, 0x79, 0x50, 0x69, 0x48, 0x00, 0x52, 0x04, 0x70, 0x79, 0x70, 0x69, 0x12, 0x25, 0x0a, 0x02,
	0x73, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52,
	0x02, 0x73, 0x33, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x73, 0x6c,
	0x61, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65,
	0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x12, 0x28, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x14, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x04,
	0x74, 0x65, 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x6b, 0x69, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42,
	0x75, 0x69, 0x6c, 0x64, 0x6b, 0x69, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x6b, 0x69, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x48, 0x00,
	0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6a, 0x65, 0x6e, 0x6b,
	0x69, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x65, 0x6e, 0x6b,
	0x69, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x6a, 0x65, 0x6e, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x2e,
	0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x54, 0x65, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x40,
	0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x16, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72,
	0x79, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
	0x12, 0x31, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x2e, 0x53, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x79, 0x73,
	0x6c, 0x6f, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x72, 0x18, 0x18,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x72, 0x48, 0x00,
	0x52, 0x07, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x61, 0x7a,
	0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
	0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61,
	0x7a, 0x75, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x72, 0x61,
	0x76, 0x69, 0x73, 0x43, 0x49, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72,
	0x61, 0x76, 0x69, 0x73, 0x43, 0x49, 0x48, 0x00, 0x52, 0x08, 0x74, 0x72, 0x61, 0x76, 0x69, 0x73,
	0x43, 0x49, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x18, 0x1d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x48, 0x00, 0x52,
	0x07, 0x70, 0x6f, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68,
	0x6f, 0x6f, 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x65, 0x62, 0x68,
	0x6f, 0x6f, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x46,
	0x0a, 0x0d, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18,
	0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x73,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63,
	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e,
	0x67, 0x66, 0x61, 0x63, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x75,
	0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x75, 0x67,
	0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x74,
	0x72, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72,
	0x79, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x2a, 0x3e, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,
	0x79, 0x12, 0x0a, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x10, 0x00, 0x12, 0x0b, 0x0a,
	0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
	0x6e, 0x10, 0x03, 0x42, 0x43, 0x5a, 0x41, 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, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_source_metadata_proto_rawDescOnce sync.Once
	file_source_metadata_proto_rawDescData = file_source_metadata_proto_rawDesc
)

func file_source_metadata_proto_rawDescGZIP() []byte {
	file_source_metadata_proto_rawDescOnce.Do(func() {
		file_source_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_source_metadata_proto_rawDescData)
	})
	return file_source_metadata_proto_rawDescData
}

var file_source_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_source_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
var file_source_metadata_proto_goTypes = []interface{}{
	(Visibility)(0),               // 0: source_metadata.Visibility
	(*Azure)(nil),                 // 1: source_metadata.Azure
	(*Bitbucket)(nil),             // 2: source_metadata.Bitbucket
	(*Buildkite)(nil),             // 3: source_metadata.Buildkite
	(*CircleCI)(nil),              // 4: source_metadata.CircleCI
	(*TravisCI)(nil),              // 5: source_metadata.TravisCI
	(*Confluence)(nil),            // 6: source_metadata.Confluence
	(*Docker)(nil),                // 7: source_metadata.Docker
	(*ECR)(nil),                   // 8: source_metadata.ECR
	(*Filesystem)(nil),            // 9: source_metadata.Filesystem
	(*Git)(nil),                   // 10: source_metadata.Git
	(*Github)(nil),                // 11: source_metadata.Github
	(*Gitlab)(nil),                // 12: source_metadata.Gitlab
	(*GCS)(nil),                   // 13: source_metadata.GCS
	(*Huggingface)(nil),           // 14: source_metadata.Huggingface
	(*Jira)(nil),                  // 15: source_metadata.Jira
	(*NPM)(nil),                   // 16: source_metadata.NPM
	(*PyPi)(nil),                  // 17: source_metadata.PyPi
	(*S3)(nil),                    // 18: source_metadata.S3
	(*Slack)(nil),                 // 19: source_metadata.Slack
	(*Gerrit)(nil),                // 20: source_metadata.Gerrit
	(*Test)(nil),                  // 21: source_metadata.Test
	(*Jenkins)(nil),               // 22: source_metadata.Jenkins
	(*Teams)(nil),                 // 23: source_metadata.Teams
	(*Artifactory)(nil),           // 24: source_metadata.Artifactory
	(*Syslog)(nil),                // 25: source_metadata.Syslog
	(*Forager)(nil),               // 26: source_metadata.Forager
	(*SharePoint)(nil),            // 27: source_metadata.SharePoint
	(*GoogleDrive)(nil),           // 28: source_metadata.GoogleDrive
	(*AzureRepos)(nil),            // 29: source_metadata.AzureRepos
	(*Postman)(nil),               // 30: source_metadata.Postman
	(*Vector)(nil),                // 31: source_metadata.Vector
	(*Webhook)(nil),               // 32: source_metadata.Webhook
	(*Elasticsearch)(nil),         // 33: source_metadata.Elasticsearch
	(*Sentry)(nil),                // 34: source_metadata.Sentry
	(*MetaData)(nil),              // 35: source_metadata.MetaData
	(*timestamppb.Timestamp)(nil), // 36: google.protobuf.Timestamp
}
var file_source_metadata_proto_depIdxs = []int32{
	0,  // 0: source_metadata.Github.visibility:type_name -> source_metadata.Visibility
	0,  // 1: source_metadata.Huggingface.visibility:type_name -> source_metadata.Visibility
	0,  // 2: source_metadata.Slack.visibility:type_name -> source_metadata.Visibility
	11, // 3: source_metadata.Forager.github:type_name -> source_metadata.Github
	16, // 4: source_metadata.Forager.npm:type_name -> source_metadata.NPM
	17, // 5: source_metadata.Forager.pypi:type_name -> source_metadata.PyPi
	0,  // 6: source_metadata.AzureRepos.visibility:type_name -> source_metadata.Visibility
	36, // 7: source_metadata.Vector.timestamp:type_name -> google.protobuf.Timestamp
	31, // 8: source_metadata.Webhook.vector:type_name -> source_metadata.Vector
	1,  // 9: source_metadata.MetaData.azure:type_name -> source_metadata.Azure
	2,  // 10: source_metadata.MetaData.bitbucket:type_name -> source_metadata.Bitbucket
	4,  // 11: source_metadata.MetaData.circleci:type_name -> source_metadata.CircleCI
	6,  // 12: source_metadata.MetaData.confluence:type_name -> source_metadata.Confluence
	7,  // 13: source_metadata.MetaData.docker:type_name -> source_metadata.Docker
	8,  // 14: source_metadata.MetaData.ecr:type_name -> source_metadata.ECR
	13, // 15: source_metadata.MetaData.gcs:type_name -> source_metadata.GCS
	11, // 16: source_metadata.MetaData.github:type_name -> source_metadata.Github
	12, // 17: source_metadata.MetaData.gitlab:type_name -> source_metadata.Gitlab
	15, // 18: source_metadata.MetaData.jira:type_name -> source_metadata.Jira
	16, // 19: source_metadata.MetaData.npm:type_name -> source_metadata.NPM
	17, // 20: source_metadata.MetaData.pypi:type_name -> source_metadata.PyPi
	18, // 21: source_metadata.MetaData.s3:type_name -> source_metadata.S3
	19, // 22: source_metadata.MetaData.slack:type_name -> source_metadata.Slack
	9,  // 23: source_metadata.MetaData.filesystem:type_name -> source_metadata.Filesystem
	10, // 24: source_metadata.MetaData.git:type_name -> source_metadata.Git
	21, // 25: source_metadata.MetaData.test:type_name -> source_metadata.Test
	3,  // 26: source_metadata.MetaData.buildkite:type_name -> source_metadata.Buildkite
	20, // 27: source_metadata.MetaData.gerrit:type_name -> source_metadata.Gerrit
	22, // 28: source_metadata.MetaData.jenkins:type_name -> source_metadata.Jenkins
	23, // 29: source_metadata.MetaData.teams:type_name -> source_metadata.Teams
	24, // 30: source_metadata.MetaData.artifactory:type_name -> source_metadata.Artifactory
	25, // 31: source_metadata.MetaData.syslog:type_name -> source_metadata.Syslog
	26, // 32: source_metadata.MetaData.forager:type_name -> source_metadata.Forager
	27, // 33: source_metadata.MetaData.sharepoint:type_name -> source_metadata.SharePoint
	28, // 34: source_metadata.MetaData.googleDrive:type_name -> source_metadata.GoogleDrive
	29, // 35: source_metadata.MetaData.azureRepos:type_name -> source_metadata.AzureRepos
	5,  // 36: source_metadata.MetaData.travisCI:type_name -> source_metadata.TravisCI
	30, // 37: source_metadata.MetaData.postman:type_name -> source_metadata.Postman
	32, // 38: source_metadata.MetaData.webhook:type_name -> source_metadata.Webhook
	33, // 39: source_metadata.MetaData.elasticsearch:type_name -> source_metadata.Elasticsearch
	14, // 40: source_metadata.MetaData.huggingface:type_name -> source_metadata.Huggingface
	34, // 41: source_metadata.MetaData.sentry:type_name -> source_metadata.Sentry
	42, // [42:42] is the sub-list for method output_type
	42, // [42:42] is the sub-list for method input_type
	42, // [42:42] is the sub-list for extension type_name
	42, // [42:42] is the sub-list for extension extendee
	0,  // [0:42] is the sub-list for field type_name
}

func init() { file_source_metadata_proto_init() }
func file_source_metadata_proto_init() {
	if File_source_metadata_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_source_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Azure); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_source_metadata_proto_msgTypes[1].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_source_metadata_proto_msgTypes[2].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_source_metadata_proto_msgTypes[3].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_source_metadata_proto_msgTypes[4].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_source_metadata_proto_msgTypes[5].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_source_metadata_proto_msgTypes[6].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_source_metadata_proto_msgTypes[7].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_source_metadata_proto_msgTypes[8].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_source_metadata_proto_msgTypes[9].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_source_metadata_proto_msgTypes[10].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_source_metadata_proto_msgTypes[11].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_source_metadata_proto_msgTypes[12].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_source_metadata_proto_msgTypes[13].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_source_metadata_proto_msgTypes[14].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_source_metadata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NPM); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_source_metadata_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PyPi); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_source_metadata_proto_msgTypes[17].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_source_metadata_proto_msgTypes[18].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_source_metadata_proto_msgTypes[19].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_source_metadata_proto_msgTypes[20].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_source_metadata_proto_msgTypes[21].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_source_metadata_proto_msgTypes[22].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_source_metadata_proto_msgTypes[23].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_source_metadata_proto_msgTypes[24].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_source_metadata_proto_msgTypes[25].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_source_metadata_proto_msgTypes[26].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_source_metadata_proto_msgTypes[27].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_source_metadata_proto_msgTypes[28].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_source_metadata_proto_msgTypes[29].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_source_metadata_proto_msgTypes[30].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_source_metadata_proto_msgTypes[31].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_source_metadata_proto_msgTypes[32].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_source_metadata_proto_msgTypes[33].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_source_metadata_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetaData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_source_metadata_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*Forager_Github)(nil),
		(*Forager_Npm)(nil),
		(*Forager_Pypi)(nil),
	}
	file_source_metadata_proto_msgTypes[31].OneofWrappers = []interface{}{
		(*Webhook_Vector)(nil),
	}
	file_source_metadata_proto_msgTypes[34].OneofWrappers = []interface{}{
		(*MetaData_Azure)(nil),
		(*MetaData_Bitbucket)(nil),
		(*MetaData_Circleci)(nil),
		(*MetaData_Confluence)(nil),
		(*MetaData_Docker)(nil),
		(*MetaData_Ecr)(nil),
		(*MetaData_Gcs)(nil),
		(*MetaData_Github)(nil),
		(*MetaData_Gitlab)(nil),
		(*MetaData_Jira)(nil),
		(*MetaData_Npm)(nil),
		(*MetaData_Pypi)(nil),
		(*MetaData_S3)(nil),
		(*MetaData_Slack)(nil),
		(*MetaData_Filesystem)(nil),
		(*MetaData_Git)(nil),
		(*MetaData_Test)(nil),
		(*MetaData_Buildkite)(nil),
		(*MetaData_Gerrit)(nil),
		(*MetaData_Jenkins)(nil),
		(*MetaData_Teams)(nil),
		(*MetaData_Artifactory)(nil),
		(*MetaData_Syslog)(nil),
		(*MetaData_Forager)(nil),
		(*MetaData_Sharepoint)(nil),
		(*MetaData_GoogleDrive)(nil),
		(*MetaData_AzureRepos)(nil),
		(*MetaData_TravisCI)(nil),
		(*MetaData_Postman)(nil),
		(*MetaData_Webhook)(nil),
		(*MetaData_Elasticsearch)(nil),
		(*MetaData_Huggingface)(nil),
		(*MetaData_Sentry)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_source_metadata_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   35,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_source_metadata_proto_goTypes,
		DependencyIndexes: file_source_metadata_proto_depIdxs,
		EnumInfos:         file_source_metadata_proto_enumTypes,
		MessageInfos:      file_source_metadata_proto_msgTypes,
	}.Build()
	File_source_metadata_proto = out.File
	file_source_metadata_proto_rawDesc = nil
	file_source_metadata_proto_goTypes = nil
	file_source_metadata_proto_depIdxs = nil
}
