// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.20.0
// source: source_metadata.proto

package source_metadatapb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 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[4]
		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[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 Confluence.ProtoReflect.Descriptor instead.
func (*Confluence) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{4}
}

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[5]
		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[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 Docker.ProtoReflect.Descriptor instead.
func (*Docker) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{5}
}

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[6]
		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[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 ECR.ProtoReflect.Descriptor instead.
func (*ECR) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{6}
}

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[7]
		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[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 Filesystem.ProtoReflect.Descriptor instead.
func (*Filesystem) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{7}
}

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[8]
		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[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 Git.ProtoReflect.Descriptor instead.
func (*Git) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{8}
}

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[9]
		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[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 Github.ProtoReflect.Descriptor instead.
func (*Github) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{9}
}

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"`
}

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

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
}

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[11]
		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[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 GCS.ProtoReflect.Descriptor instead.
func (*GCS) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{11}
}

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 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[12]
		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[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 Jira.ProtoReflect.Descriptor instead.
func (*Jira) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{12}
}

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[13]
		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[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 NPM.ProtoReflect.Descriptor instead.
func (*NPM) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{13}
}

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[14]
		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[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 PyPi.ProtoReflect.Descriptor instead.
func (*PyPi) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{14}
}

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[15]
		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[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 S3.ProtoReflect.Descriptor instead.
func (*S3) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{15}
}

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[16]
		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[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 Slack.ProtoReflect.Descriptor instead.
func (*Slack) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{16}
}

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[17]
		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[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 Gerrit.ProtoReflect.Descriptor instead.
func (*Gerrit) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{17}
}

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[18]
		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[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 Test.ProtoReflect.Descriptor instead.
func (*Test) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{18}
}

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[19]
		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[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 Jenkins.ProtoReflect.Descriptor instead.
func (*Jenkins) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{19}
}

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[20]
		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[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 Teams.ProtoReflect.Descriptor instead.
func (*Teams) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{20}
}

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[21]
		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[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 Artifactory.ProtoReflect.Descriptor instead.
func (*Artifactory) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{21}
}

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[22]
		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[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 Syslog.ProtoReflect.Descriptor instead.
func (*Syslog) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{22}
}

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 PublicEventMonitoring struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Metadata:
	//	*PublicEventMonitoring_Github
	Metadata isPublicEventMonitoring_Metadata `protobuf_oneof:"metadata"`
}

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

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

func (*PublicEventMonitoring) ProtoMessage() {}

func (x *PublicEventMonitoring) 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 PublicEventMonitoring.ProtoReflect.Descriptor instead.
func (*PublicEventMonitoring) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{23}
}

func (m *PublicEventMonitoring) GetMetadata() isPublicEventMonitoring_Metadata {
	if m != nil {
		return m.Metadata
	}
	return nil
}

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

type isPublicEventMonitoring_Metadata interface {
	isPublicEventMonitoring_Metadata()
}

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

func (*PublicEventMonitoring_Github) isPublicEventMonitoring_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[24]
		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[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 SharePoint.ProtoReflect.Descriptor instead.
func (*SharePoint) Descriptor() ([]byte, []int) {
	return file_source_metadata_proto_rawDescGZIP(), []int{24}
}

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"`
}

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

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 ""
}

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_PublicEventMonitoring
	//	*MetaData_Sharepoint
	//	*MetaData_GoogleDrive
	Data isMetaData_Data `protobuf_oneof:"data"`
}

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

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) GetPublicEventMonitoring() *PublicEventMonitoring {
	if x, ok := x.GetData().(*MetaData_PublicEventMonitoring); ok {
		return x.PublicEventMonitoring
	}
	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
}

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_PublicEventMonitoring struct {
	PublicEventMonitoring *PublicEventMonitoring `protobuf:"bytes,24,opt,name=publicEventMonitoring,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"`
}

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_PublicEventMonitoring) isMetaData_Data() {}

func (*MetaData_Sharepoint) isMetaData_Data() {}

func (*MetaData_GoogleDrive) 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, 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, 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, 0xb0,
	0x01, 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, 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, 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, 0x56, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 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, 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, 0xab, 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, 0x22, 0xff, 0x0a, 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, 0x5e, 0x0a, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x26, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x6f,
	0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e,
	0x67, 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, 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, 27)
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
	(*Confluence)(nil),            // 5: source_metadata.Confluence
	(*Docker)(nil),                // 6: source_metadata.Docker
	(*ECR)(nil),                   // 7: source_metadata.ECR
	(*Filesystem)(nil),            // 8: source_metadata.Filesystem
	(*Git)(nil),                   // 9: source_metadata.Git
	(*Github)(nil),                // 10: source_metadata.Github
	(*Gitlab)(nil),                // 11: source_metadata.Gitlab
	(*GCS)(nil),                   // 12: source_metadata.GCS
	(*Jira)(nil),                  // 13: source_metadata.Jira
	(*NPM)(nil),                   // 14: source_metadata.NPM
	(*PyPi)(nil),                  // 15: source_metadata.PyPi
	(*S3)(nil),                    // 16: source_metadata.S3
	(*Slack)(nil),                 // 17: source_metadata.Slack
	(*Gerrit)(nil),                // 18: source_metadata.Gerrit
	(*Test)(nil),                  // 19: source_metadata.Test
	(*Jenkins)(nil),               // 20: source_metadata.Jenkins
	(*Teams)(nil),                 // 21: source_metadata.Teams
	(*Artifactory)(nil),           // 22: source_metadata.Artifactory
	(*Syslog)(nil),                // 23: source_metadata.Syslog
	(*PublicEventMonitoring)(nil), // 24: source_metadata.PublicEventMonitoring
	(*SharePoint)(nil),            // 25: source_metadata.SharePoint
	(*GoogleDrive)(nil),           // 26: source_metadata.GoogleDrive
	(*MetaData)(nil),              // 27: source_metadata.MetaData
}
var file_source_metadata_proto_depIdxs = []int32{
	0,  // 0: source_metadata.Github.visibility:type_name -> source_metadata.Visibility
	0,  // 1: source_metadata.Slack.visibility:type_name -> source_metadata.Visibility
	10, // 2: source_metadata.PublicEventMonitoring.github:type_name -> source_metadata.Github
	1,  // 3: source_metadata.MetaData.azure:type_name -> source_metadata.Azure
	2,  // 4: source_metadata.MetaData.bitbucket:type_name -> source_metadata.Bitbucket
	4,  // 5: source_metadata.MetaData.circleci:type_name -> source_metadata.CircleCI
	5,  // 6: source_metadata.MetaData.confluence:type_name -> source_metadata.Confluence
	6,  // 7: source_metadata.MetaData.docker:type_name -> source_metadata.Docker
	7,  // 8: source_metadata.MetaData.ecr:type_name -> source_metadata.ECR
	12, // 9: source_metadata.MetaData.gcs:type_name -> source_metadata.GCS
	10, // 10: source_metadata.MetaData.github:type_name -> source_metadata.Github
	11, // 11: source_metadata.MetaData.gitlab:type_name -> source_metadata.Gitlab
	13, // 12: source_metadata.MetaData.jira:type_name -> source_metadata.Jira
	14, // 13: source_metadata.MetaData.npm:type_name -> source_metadata.NPM
	15, // 14: source_metadata.MetaData.pypi:type_name -> source_metadata.PyPi
	16, // 15: source_metadata.MetaData.s3:type_name -> source_metadata.S3
	17, // 16: source_metadata.MetaData.slack:type_name -> source_metadata.Slack
	8,  // 17: source_metadata.MetaData.filesystem:type_name -> source_metadata.Filesystem
	9,  // 18: source_metadata.MetaData.git:type_name -> source_metadata.Git
	19, // 19: source_metadata.MetaData.test:type_name -> source_metadata.Test
	3,  // 20: source_metadata.MetaData.buildkite:type_name -> source_metadata.Buildkite
	18, // 21: source_metadata.MetaData.gerrit:type_name -> source_metadata.Gerrit
	20, // 22: source_metadata.MetaData.jenkins:type_name -> source_metadata.Jenkins
	21, // 23: source_metadata.MetaData.teams:type_name -> source_metadata.Teams
	22, // 24: source_metadata.MetaData.artifactory:type_name -> source_metadata.Artifactory
	23, // 25: source_metadata.MetaData.syslog:type_name -> source_metadata.Syslog
	24, // 26: source_metadata.MetaData.publicEventMonitoring:type_name -> source_metadata.PublicEventMonitoring
	25, // 27: source_metadata.MetaData.sharepoint:type_name -> source_metadata.SharePoint
	26, // 28: source_metadata.MetaData.googleDrive:type_name -> source_metadata.GoogleDrive
	29, // [29:29] is the sub-list for method output_type
	29, // [29:29] is the sub-list for method input_type
	29, // [29:29] is the sub-list for extension type_name
	29, // [29:29] is the sub-list for extension extendee
	0,  // [0:29] 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.(*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[5].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[6].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[7].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[8].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[9].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[10].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[11].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[12].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[13].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[14].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[15].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[16].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[17].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[18].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[19].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[20].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[21].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[22].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[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PublicEventMonitoring); 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.(*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[25].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[26].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[23].OneofWrappers = []interface{}{
		(*PublicEventMonitoring_Github)(nil),
	}
	file_source_metadata_proto_msgTypes[26].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_PublicEventMonitoring)(nil),
		(*MetaData_Sharepoint)(nil),
		(*MetaData_GoogleDrive)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_source_metadata_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   27,
			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
}
