// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        (unknown)
// source: parca/query/v1alpha1/query.proto

package queryv1alpha1

import (
	v1alpha11 "buf.build/gen/go/parca-dev/parca/protocolbuffers/go/parca/metastore/v1alpha1"
	v1alpha1 "buf.build/gen/go/parca-dev/parca/protocolbuffers/go/parca/profilestore/v1alpha1"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

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

type ProfileDiffSelection_Mode int32

const (
	ProfileDiffSelection_MODE_SINGLE_UNSPECIFIED ProfileDiffSelection_Mode = 0
	ProfileDiffSelection_MODE_MERGE              ProfileDiffSelection_Mode = 1
)

// Enum value maps for ProfileDiffSelection_Mode.
var (
	ProfileDiffSelection_Mode_name = map[int32]string{
		0: "MODE_SINGLE_UNSPECIFIED",
		1: "MODE_MERGE",
	}
	ProfileDiffSelection_Mode_value = map[string]int32{
		"MODE_SINGLE_UNSPECIFIED": 0,
		"MODE_MERGE":              1,
	}
)

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

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

func (ProfileDiffSelection_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_parca_query_v1alpha1_query_proto_enumTypes[0].Descriptor()
}

func (ProfileDiffSelection_Mode) Type() protoreflect.EnumType {
	return &file_parca_query_v1alpha1_query_proto_enumTypes[0]
}

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

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

type QueryRequest_Mode int32

const (
	QueryRequest_MODE_SINGLE_UNSPECIFIED QueryRequest_Mode = 0
	QueryRequest_MODE_DIFF               QueryRequest_Mode = 1
	QueryRequest_MODE_MERGE              QueryRequest_Mode = 2
)

// Enum value maps for QueryRequest_Mode.
var (
	QueryRequest_Mode_name = map[int32]string{
		0: "MODE_SINGLE_UNSPECIFIED",
		1: "MODE_DIFF",
		2: "MODE_MERGE",
	}
	QueryRequest_Mode_value = map[string]int32{
		"MODE_SINGLE_UNSPECIFIED": 0,
		"MODE_DIFF":               1,
		"MODE_MERGE":              2,
	}
)

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

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

func (QueryRequest_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_parca_query_v1alpha1_query_proto_enumTypes[1].Descriptor()
}

func (QueryRequest_Mode) Type() protoreflect.EnumType {
	return &file_parca_query_v1alpha1_query_proto_enumTypes[1]
}

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

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

type QueryRequest_ReportType int32

const (
	// Deprecated: Do not use.
	QueryRequest_REPORT_TYPE_FLAMEGRAPH_UNSPECIFIED QueryRequest_ReportType = 0
	QueryRequest_REPORT_TYPE_PPROF                  QueryRequest_ReportType = 1
	QueryRequest_REPORT_TYPE_TOP                    QueryRequest_ReportType = 2
	QueryRequest_REPORT_TYPE_CALLGRAPH              QueryRequest_ReportType = 3
	QueryRequest_REPORT_TYPE_FLAMEGRAPH_TABLE       QueryRequest_ReportType = 4
)

// Enum value maps for QueryRequest_ReportType.
var (
	QueryRequest_ReportType_name = map[int32]string{
		0: "REPORT_TYPE_FLAMEGRAPH_UNSPECIFIED",
		1: "REPORT_TYPE_PPROF",
		2: "REPORT_TYPE_TOP",
		3: "REPORT_TYPE_CALLGRAPH",
		4: "REPORT_TYPE_FLAMEGRAPH_TABLE",
	}
	QueryRequest_ReportType_value = map[string]int32{
		"REPORT_TYPE_FLAMEGRAPH_UNSPECIFIED": 0,
		"REPORT_TYPE_PPROF":                  1,
		"REPORT_TYPE_TOP":                    2,
		"REPORT_TYPE_CALLGRAPH":              3,
		"REPORT_TYPE_FLAMEGRAPH_TABLE":       4,
	}
)

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

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

func (QueryRequest_ReportType) Descriptor() protoreflect.EnumDescriptor {
	return file_parca_query_v1alpha1_query_proto_enumTypes[2].Descriptor()
}

func (QueryRequest_ReportType) Type() protoreflect.EnumType {
	return &file_parca_query_v1alpha1_query_proto_enumTypes[2]
}

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

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

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

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

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

func (*ProfileTypesRequest) ProtoMessage() {}

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

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

	Types []*ProfileType `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty"`
}

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

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

func (*ProfileTypesResponse) ProtoMessage() {}

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

func (x *ProfileTypesResponse) GetTypes() []*ProfileType {
	if x != nil {
		return x.Types
	}
	return nil
}

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

	Name       string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	SampleType string `protobuf:"bytes,2,opt,name=sample_type,json=sampleType,proto3" json:"sample_type,omitempty"`
	SampleUnit string `protobuf:"bytes,3,opt,name=sample_unit,json=sampleUnit,proto3" json:"sample_unit,omitempty"`
	PeriodType string `protobuf:"bytes,4,opt,name=period_type,json=periodType,proto3" json:"period_type,omitempty"`
	PeriodUnit string `protobuf:"bytes,5,opt,name=period_unit,json=periodUnit,proto3" json:"period_unit,omitempty"`
	Delta      bool   `protobuf:"varint,6,opt,name=delta,proto3" json:"delta,omitempty"`
}

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

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

func (*ProfileType) ProtoMessage() {}

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

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

func (x *ProfileType) GetSampleType() string {
	if x != nil {
		return x.SampleType
	}
	return ""
}

func (x *ProfileType) GetSampleUnit() string {
	if x != nil {
		return x.SampleUnit
	}
	return ""
}

func (x *ProfileType) GetPeriodType() string {
	if x != nil {
		return x.PeriodType
	}
	return ""
}

func (x *ProfileType) GetPeriodUnit() string {
	if x != nil {
		return x.PeriodUnit
	}
	return ""
}

func (x *ProfileType) GetDelta() bool {
	if x != nil {
		return x.Delta
	}
	return false
}

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

	Query string                 `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
	Limit uint32                 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"`
}

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

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

func (*QueryRangeRequest) ProtoMessage() {}

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

func (x *QueryRangeRequest) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *QueryRangeRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *QueryRangeRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

func (x *QueryRangeRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

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

	Series []*MetricsSeries `protobuf:"bytes,1,rep,name=series,proto3" json:"series,omitempty"`
}

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

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

func (*QueryRangeResponse) ProtoMessage() {}

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

func (x *QueryRangeResponse) GetSeries() []*MetricsSeries {
	if x != nil {
		return x.Series
	}
	return nil
}

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

	Labelset   *v1alpha1.LabelSet `protobuf:"bytes,1,opt,name=labelset,proto3" json:"labelset,omitempty"`
	Samples    []*MetricsSample   `protobuf:"bytes,2,rep,name=samples,proto3" json:"samples,omitempty"`
	PeriodType *ValueType         `protobuf:"bytes,3,opt,name=period_type,json=periodType,proto3" json:"period_type,omitempty"`
	SampleType *ValueType         `protobuf:"bytes,4,opt,name=sample_type,json=sampleType,proto3" json:"sample_type,omitempty"`
}

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

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

func (*MetricsSeries) ProtoMessage() {}

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

func (x *MetricsSeries) GetLabelset() *v1alpha1.LabelSet {
	if x != nil {
		return x.Labelset
	}
	return nil
}

func (x *MetricsSeries) GetSamples() []*MetricsSample {
	if x != nil {
		return x.Samples
	}
	return nil
}

func (x *MetricsSeries) GetPeriodType() *ValueType {
	if x != nil {
		return x.PeriodType
	}
	return nil
}

func (x *MetricsSeries) GetSampleType() *ValueType {
	if x != nil {
		return x.SampleType
	}
	return nil
}

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

	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Value     int64                  `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*MetricsSample) ProtoMessage() {}

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

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

func (x *MetricsSample) GetValue() int64 {
	if x != nil {
		return x.Value
	}
	return 0
}

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

	Query string                 `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
}

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

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

func (*MergeProfile) ProtoMessage() {}

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

func (x *MergeProfile) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *MergeProfile) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *MergeProfile) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

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

	Time  *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	Query string                 `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
}

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

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

func (*SingleProfile) ProtoMessage() {}

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

func (x *SingleProfile) GetTime() *timestamppb.Timestamp {
	if x != nil {
		return x.Time
	}
	return nil
}

func (x *SingleProfile) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

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

	A *ProfileDiffSelection `protobuf:"bytes,1,opt,name=a,proto3" json:"a,omitempty"`
	B *ProfileDiffSelection `protobuf:"bytes,2,opt,name=b,proto3" json:"b,omitempty"`
}

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

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

func (*DiffProfile) ProtoMessage() {}

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

func (x *DiffProfile) GetA() *ProfileDiffSelection {
	if x != nil {
		return x.A
	}
	return nil
}

func (x *DiffProfile) GetB() *ProfileDiffSelection {
	if x != nil {
		return x.B
	}
	return nil
}

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

	Mode ProfileDiffSelection_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=parca.query.v1alpha1.ProfileDiffSelection_Mode" json:"mode,omitempty"`
	// Types that are assignable to Options:
	//
	//	*ProfileDiffSelection_Merge
	//	*ProfileDiffSelection_Single
	Options isProfileDiffSelection_Options `protobuf_oneof:"options"`
}

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

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

func (*ProfileDiffSelection) ProtoMessage() {}

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

func (x *ProfileDiffSelection) GetMode() ProfileDiffSelection_Mode {
	if x != nil {
		return x.Mode
	}
	return ProfileDiffSelection_MODE_SINGLE_UNSPECIFIED
}

func (m *ProfileDiffSelection) GetOptions() isProfileDiffSelection_Options {
	if m != nil {
		return m.Options
	}
	return nil
}

func (x *ProfileDiffSelection) GetMerge() *MergeProfile {
	if x, ok := x.GetOptions().(*ProfileDiffSelection_Merge); ok {
		return x.Merge
	}
	return nil
}

func (x *ProfileDiffSelection) GetSingle() *SingleProfile {
	if x, ok := x.GetOptions().(*ProfileDiffSelection_Single); ok {
		return x.Single
	}
	return nil
}

type isProfileDiffSelection_Options interface {
	isProfileDiffSelection_Options()
}

type ProfileDiffSelection_Merge struct {
	Merge *MergeProfile `protobuf:"bytes,2,opt,name=merge,proto3,oneof"`
}

type ProfileDiffSelection_Single struct {
	Single *SingleProfile `protobuf:"bytes,3,opt,name=single,proto3,oneof"`
}

func (*ProfileDiffSelection_Merge) isProfileDiffSelection_Options() {}

func (*ProfileDiffSelection_Single) isProfileDiffSelection_Options() {}

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

	Mode QueryRequest_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=parca.query.v1alpha1.QueryRequest_Mode" json:"mode,omitempty"`
	// Types that are assignable to Options:
	//
	//	*QueryRequest_Diff
	//	*QueryRequest_Merge
	//	*QueryRequest_Single
	Options           isQueryRequest_Options  `protobuf_oneof:"options"`
	ReportType        QueryRequest_ReportType `protobuf:"varint,5,opt,name=report_type,json=reportType,proto3,enum=parca.query.v1alpha1.QueryRequest_ReportType" json:"report_type,omitempty"`
	FilterQuery       *string                 `protobuf:"bytes,6,opt,name=filter_query,json=filterQuery,proto3,oneof" json:"filter_query,omitempty"`
	NodeTrimThreshold *float32                `protobuf:"fixed32,7,opt,name=node_trim_threshold,json=nodeTrimThreshold,proto3,oneof" json:"node_trim_threshold,omitempty"`
}

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

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

func (*QueryRequest) ProtoMessage() {}

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

func (x *QueryRequest) GetMode() QueryRequest_Mode {
	if x != nil {
		return x.Mode
	}
	return QueryRequest_MODE_SINGLE_UNSPECIFIED
}

func (m *QueryRequest) GetOptions() isQueryRequest_Options {
	if m != nil {
		return m.Options
	}
	return nil
}

func (x *QueryRequest) GetDiff() *DiffProfile {
	if x, ok := x.GetOptions().(*QueryRequest_Diff); ok {
		return x.Diff
	}
	return nil
}

func (x *QueryRequest) GetMerge() *MergeProfile {
	if x, ok := x.GetOptions().(*QueryRequest_Merge); ok {
		return x.Merge
	}
	return nil
}

func (x *QueryRequest) GetSingle() *SingleProfile {
	if x, ok := x.GetOptions().(*QueryRequest_Single); ok {
		return x.Single
	}
	return nil
}

func (x *QueryRequest) GetReportType() QueryRequest_ReportType {
	if x != nil {
		return x.ReportType
	}
	return QueryRequest_REPORT_TYPE_FLAMEGRAPH_UNSPECIFIED
}

func (x *QueryRequest) GetFilterQuery() string {
	if x != nil && x.FilterQuery != nil {
		return *x.FilterQuery
	}
	return ""
}

func (x *QueryRequest) GetNodeTrimThreshold() float32 {
	if x != nil && x.NodeTrimThreshold != nil {
		return *x.NodeTrimThreshold
	}
	return 0
}

type isQueryRequest_Options interface {
	isQueryRequest_Options()
}

type QueryRequest_Diff struct {
	Diff *DiffProfile `protobuf:"bytes,2,opt,name=diff,proto3,oneof"`
}

type QueryRequest_Merge struct {
	Merge *MergeProfile `protobuf:"bytes,3,opt,name=merge,proto3,oneof"`
}

type QueryRequest_Single struct {
	Single *SingleProfile `protobuf:"bytes,4,opt,name=single,proto3,oneof"`
}

func (*QueryRequest_Diff) isQueryRequest_Options() {}

func (*QueryRequest_Merge) isQueryRequest_Options() {}

func (*QueryRequest_Single) isQueryRequest_Options() {}

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

	List     []*TopNode `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
	Reported int32      `protobuf:"varint,2,opt,name=reported,proto3" json:"reported,omitempty"`
	Total    int32      `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"`
	Unit     string     `protobuf:"bytes,4,opt,name=unit,proto3" json:"unit,omitempty"`
}

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

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

func (*Top) ProtoMessage() {}

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

func (x *Top) GetList() []*TopNode {
	if x != nil {
		return x.List
	}
	return nil
}

func (x *Top) GetReported() int32 {
	if x != nil {
		return x.Reported
	}
	return 0
}

func (x *Top) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Top) GetUnit() string {
	if x != nil {
		return x.Unit
	}
	return ""
}

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

	Meta       *TopNodeMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Cumulative int64        `protobuf:"varint,2,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
	Flat       int64        `protobuf:"varint,3,opt,name=flat,proto3" json:"flat,omitempty"`
	Diff       int64        `protobuf:"varint,4,opt,name=diff,proto3" json:"diff,omitempty"`
}

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

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

func (*TopNode) ProtoMessage() {}

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

func (x *TopNode) GetMeta() *TopNodeMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *TopNode) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

func (x *TopNode) GetFlat() int64 {
	if x != nil {
		return x.Flat
	}
	return 0
}

func (x *TopNode) GetDiff() int64 {
	if x != nil {
		return x.Diff
	}
	return 0
}

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

	Location *v1alpha11.Location `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	Mapping  *v1alpha11.Mapping  `protobuf:"bytes,2,opt,name=mapping,proto3" json:"mapping,omitempty"`
	Function *v1alpha11.Function `protobuf:"bytes,3,opt,name=function,proto3" json:"function,omitempty"`
	Line     *v1alpha11.Line     `protobuf:"bytes,4,opt,name=line,proto3" json:"line,omitempty"`
}

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

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

func (*TopNodeMeta) ProtoMessage() {}

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

func (x *TopNodeMeta) GetLocation() *v1alpha11.Location {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *TopNodeMeta) GetMapping() *v1alpha11.Mapping {
	if x != nil {
		return x.Mapping
	}
	return nil
}

func (x *TopNodeMeta) GetFunction() *v1alpha11.Function {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *TopNodeMeta) GetLine() *v1alpha11.Line {
	if x != nil {
		return x.Line
	}
	return nil
}

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

	Root           *FlamegraphRootNode   `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"`
	Total          int64                 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	Unit           string                `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"`
	Height         int32                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
	StringTable    []string              `protobuf:"bytes,5,rep,name=string_table,json=stringTable,proto3" json:"string_table,omitempty"`
	Locations      []*v1alpha11.Location `protobuf:"bytes,6,rep,name=locations,proto3" json:"locations,omitempty"`
	Mapping        []*v1alpha11.Mapping  `protobuf:"bytes,7,rep,name=mapping,proto3" json:"mapping,omitempty"`
	Function       []*v1alpha11.Function `protobuf:"bytes,8,rep,name=function,proto3" json:"function,omitempty"`
	UntrimmedTotal int64                 `protobuf:"varint,9,opt,name=untrimmed_total,json=untrimmedTotal,proto3" json:"untrimmed_total,omitempty"`
}

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

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

func (*Flamegraph) ProtoMessage() {}

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

func (x *Flamegraph) GetRoot() *FlamegraphRootNode {
	if x != nil {
		return x.Root
	}
	return nil
}

func (x *Flamegraph) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Flamegraph) GetUnit() string {
	if x != nil {
		return x.Unit
	}
	return ""
}

func (x *Flamegraph) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *Flamegraph) GetStringTable() []string {
	if x != nil {
		return x.StringTable
	}
	return nil
}

func (x *Flamegraph) GetLocations() []*v1alpha11.Location {
	if x != nil {
		return x.Locations
	}
	return nil
}

func (x *Flamegraph) GetMapping() []*v1alpha11.Mapping {
	if x != nil {
		return x.Mapping
	}
	return nil
}

func (x *Flamegraph) GetFunction() []*v1alpha11.Function {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *Flamegraph) GetUntrimmedTotal() int64 {
	if x != nil {
		return x.UntrimmedTotal
	}
	return 0
}

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

	Cumulative int64             `protobuf:"varint,1,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
	Diff       int64             `protobuf:"varint,2,opt,name=diff,proto3" json:"diff,omitempty"`
	Children   []*FlamegraphNode `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"`
}

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

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

func (*FlamegraphRootNode) ProtoMessage() {}

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

func (x *FlamegraphRootNode) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

func (x *FlamegraphRootNode) GetDiff() int64 {
	if x != nil {
		return x.Diff
	}
	return 0
}

func (x *FlamegraphRootNode) GetChildren() []*FlamegraphNode {
	if x != nil {
		return x.Children
	}
	return nil
}

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

	Meta       *FlamegraphNodeMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Cumulative int64               `protobuf:"varint,2,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
	Diff       int64               `protobuf:"varint,3,opt,name=diff,proto3" json:"diff,omitempty"`
	Children   []*FlamegraphNode   `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"`
}

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

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

func (*FlamegraphNode) ProtoMessage() {}

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

func (x *FlamegraphNode) GetMeta() *FlamegraphNodeMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *FlamegraphNode) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

func (x *FlamegraphNode) GetDiff() int64 {
	if x != nil {
		return x.Diff
	}
	return 0
}

func (x *FlamegraphNode) GetChildren() []*FlamegraphNode {
	if x != nil {
		return x.Children
	}
	return nil
}

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

	Location      *v1alpha11.Location `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	Mapping       *v1alpha11.Mapping  `protobuf:"bytes,2,opt,name=mapping,proto3" json:"mapping,omitempty"`
	Function      *v1alpha11.Function `protobuf:"bytes,3,opt,name=function,proto3" json:"function,omitempty"`
	Line          *v1alpha11.Line     `protobuf:"bytes,4,opt,name=line,proto3" json:"line,omitempty"`
	LocationIndex uint32              `protobuf:"varint,5,opt,name=location_index,json=locationIndex,proto3" json:"location_index,omitempty"`
	LineIndex     uint32              `protobuf:"varint,6,opt,name=line_index,json=lineIndex,proto3" json:"line_index,omitempty"`
}

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

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

func (*FlamegraphNodeMeta) ProtoMessage() {}

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

func (x *FlamegraphNodeMeta) GetLocation() *v1alpha11.Location {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *FlamegraphNodeMeta) GetMapping() *v1alpha11.Mapping {
	if x != nil {
		return x.Mapping
	}
	return nil
}

func (x *FlamegraphNodeMeta) GetFunction() *v1alpha11.Function {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *FlamegraphNodeMeta) GetLine() *v1alpha11.Line {
	if x != nil {
		return x.Line
	}
	return nil
}

func (x *FlamegraphNodeMeta) GetLocationIndex() uint32 {
	if x != nil {
		return x.LocationIndex
	}
	return 0
}

func (x *FlamegraphNodeMeta) GetLineIndex() uint32 {
	if x != nil {
		return x.LineIndex
	}
	return 0
}

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

	Id         string             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Meta       *CallgraphNodeMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	Cumulative int64              `protobuf:"varint,3,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
	Flat       int64              `protobuf:"varint,4,opt,name=flat,proto3" json:"flat,omitempty"`
}

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

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

func (*CallgraphNode) ProtoMessage() {}

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

func (x *CallgraphNode) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *CallgraphNode) GetMeta() *CallgraphNodeMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CallgraphNode) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

func (x *CallgraphNode) GetFlat() int64 {
	if x != nil {
		return x.Flat
	}
	return 0
}

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

	Location *v1alpha11.Location `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	Mapping  *v1alpha11.Mapping  `protobuf:"bytes,2,opt,name=mapping,proto3" json:"mapping,omitempty"`
	Function *v1alpha11.Function `protobuf:"bytes,3,opt,name=function,proto3" json:"function,omitempty"`
	Line     *v1alpha11.Line     `protobuf:"bytes,4,opt,name=line,proto3" json:"line,omitempty"`
}

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

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

func (*CallgraphNodeMeta) ProtoMessage() {}

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

func (x *CallgraphNodeMeta) GetLocation() *v1alpha11.Location {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *CallgraphNodeMeta) GetMapping() *v1alpha11.Mapping {
	if x != nil {
		return x.Mapping
	}
	return nil
}

func (x *CallgraphNodeMeta) GetFunction() *v1alpha11.Function {
	if x != nil {
		return x.Function
	}
	return nil
}

func (x *CallgraphNodeMeta) GetLine() *v1alpha11.Line {
	if x != nil {
		return x.Line
	}
	return nil
}

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

	Id          string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Source      string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	Target      string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	Cumulative  int64  `protobuf:"varint,4,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
	IsCollapsed bool   `protobuf:"varint,5,opt,name=is_collapsed,json=isCollapsed,proto3" json:"is_collapsed,omitempty"`
}

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

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

func (*CallgraphEdge) ProtoMessage() {}

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

func (x *CallgraphEdge) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *CallgraphEdge) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *CallgraphEdge) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *CallgraphEdge) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

func (x *CallgraphEdge) GetIsCollapsed() bool {
	if x != nil {
		return x.IsCollapsed
	}
	return false
}

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

	Nodes      []*CallgraphNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Edges      []*CallgraphEdge `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"`
	Cumulative int64            `protobuf:"varint,3,opt,name=cumulative,proto3" json:"cumulative,omitempty"`
}

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

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

func (*Callgraph) ProtoMessage() {}

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

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

func (x *Callgraph) GetEdges() []*CallgraphEdge {
	if x != nil {
		return x.Edges
	}
	return nil
}

func (x *Callgraph) GetCumulative() int64 {
	if x != nil {
		return x.Cumulative
	}
	return 0
}

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

	// Types that are assignable to Report:
	//
	//	*QueryResponse_Flamegraph
	//	*QueryResponse_Pprof
	//	*QueryResponse_Top
	//	*QueryResponse_Callgraph
	Report isQueryResponse_Report `protobuf_oneof:"report"`
}

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

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

func (*QueryResponse) ProtoMessage() {}

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

func (m *QueryResponse) GetReport() isQueryResponse_Report {
	if m != nil {
		return m.Report
	}
	return nil
}

func (x *QueryResponse) GetFlamegraph() *Flamegraph {
	if x, ok := x.GetReport().(*QueryResponse_Flamegraph); ok {
		return x.Flamegraph
	}
	return nil
}

func (x *QueryResponse) GetPprof() []byte {
	if x, ok := x.GetReport().(*QueryResponse_Pprof); ok {
		return x.Pprof
	}
	return nil
}

func (x *QueryResponse) GetTop() *Top {
	if x, ok := x.GetReport().(*QueryResponse_Top); ok {
		return x.Top
	}
	return nil
}

func (x *QueryResponse) GetCallgraph() *Callgraph {
	if x, ok := x.GetReport().(*QueryResponse_Callgraph); ok {
		return x.Callgraph
	}
	return nil
}

type isQueryResponse_Report interface {
	isQueryResponse_Report()
}

type QueryResponse_Flamegraph struct {
	Flamegraph *Flamegraph `protobuf:"bytes,5,opt,name=flamegraph,proto3,oneof"`
}

type QueryResponse_Pprof struct {
	Pprof []byte `protobuf:"bytes,6,opt,name=pprof,proto3,oneof"`
}

type QueryResponse_Top struct {
	Top *Top `protobuf:"bytes,7,opt,name=top,proto3,oneof"`
}

type QueryResponse_Callgraph struct {
	Callgraph *Callgraph `protobuf:"bytes,8,opt,name=callgraph,proto3,oneof"`
}

func (*QueryResponse_Flamegraph) isQueryResponse_Report() {}

func (*QueryResponse_Pprof) isQueryResponse_Report() {}

func (*QueryResponse_Top) isQueryResponse_Report() {}

func (*QueryResponse_Callgraph) isQueryResponse_Report() {}

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

	Match []string               `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
}

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

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

func (*SeriesRequest) ProtoMessage() {}

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

func (x *SeriesRequest) GetMatch() []string {
	if x != nil {
		return x.Match
	}
	return nil
}

func (x *SeriesRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *SeriesRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

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

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

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

func (*SeriesResponse) ProtoMessage() {}

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

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

	Match []string               `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
}

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

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

func (*LabelsRequest) ProtoMessage() {}

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

func (x *LabelsRequest) GetMatch() []string {
	if x != nil {
		return x.Match
	}
	return nil
}

func (x *LabelsRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *LabelsRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

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

	LabelNames []string `protobuf:"bytes,1,rep,name=label_names,json=labelNames,proto3" json:"label_names,omitempty"`
	Warnings   []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
}

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

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

func (*LabelsResponse) ProtoMessage() {}

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

// Deprecated: Use LabelsResponse.ProtoReflect.Descriptor instead.
func (*LabelsResponse) Descriptor() ([]byte, []int) {
	return file_parca_query_v1alpha1_query_proto_rawDescGZIP(), []int{27}
}

func (x *LabelsResponse) GetLabelNames() []string {
	if x != nil {
		return x.LabelNames
	}
	return nil
}

func (x *LabelsResponse) GetWarnings() []string {
	if x != nil {
		return x.Warnings
	}
	return nil
}

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

	LabelName string                 `protobuf:"bytes,1,opt,name=label_name,json=labelName,proto3" json:"label_name,omitempty"`
	Match     []string               `protobuf:"bytes,2,rep,name=match,proto3" json:"match,omitempty"`
	Start     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
	End       *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"`
}

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

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

func (*ValuesRequest) ProtoMessage() {}

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

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

func (x *ValuesRequest) GetLabelName() string {
	if x != nil {
		return x.LabelName
	}
	return ""
}

func (x *ValuesRequest) GetMatch() []string {
	if x != nil {
		return x.Match
	}
	return nil
}

func (x *ValuesRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *ValuesRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

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

	LabelValues []string `protobuf:"bytes,1,rep,name=label_values,json=labelValues,proto3" json:"label_values,omitempty"`
	Warnings    []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
}

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

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

func (*ValuesResponse) ProtoMessage() {}

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

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

func (x *ValuesResponse) GetLabelValues() []string {
	if x != nil {
		return x.LabelValues
	}
	return nil
}

func (x *ValuesResponse) GetWarnings() []string {
	if x != nil {
		return x.Warnings
	}
	return nil
}

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

	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"`
}

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

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

func (*ValueType) ProtoMessage() {}

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

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

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

func (x *ValueType) GetUnit() string {
	if x != nil {
		return x.Unit
	}
	return ""
}

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

	QueryRequest *QueryRequest `protobuf:"bytes,1,opt,name=query_request,json=queryRequest,proto3" json:"query_request,omitempty"`
	Description  *string       `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*ShareProfileRequest) ProtoMessage() {}

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

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

func (x *ShareProfileRequest) GetQueryRequest() *QueryRequest {
	if x != nil {
		return x.QueryRequest
	}
	return nil
}

func (x *ShareProfileRequest) GetDescription() string {
	if x != nil && x.Description != nil {
		return *x.Description
	}
	return ""
}

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

	Link string `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
}

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

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

func (*ShareProfileResponse) ProtoMessage() {}

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

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

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

var File_parca_query_v1alpha1_query_proto protoreflect.FileDescriptor

var file_parca_query_v1alpha1_query_proto_rawDesc = []byte{
	0x0a, 0x20, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x14, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2f, 0x6d,
	0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x70,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x37, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x21, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x50, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a,
	0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f,
	0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12,
	0x1f, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69,
	0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
	0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03,
	0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x51, 0x0a, 0x12, 0x51, 0x75, 0x65,
	0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x3b, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65,
	0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x95, 0x02, 0x0a,
	0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x41,
	0x0a, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x25, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c,
	0x61, 0x62, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x65,
	0x74, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x07, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73,
	0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53,
	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c,
	0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x55, 0x0a, 0x0d,
	0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a,
	0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61,
	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x66,
	0x66, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x01, 0x61, 0x12, 0x38, 0x0a,
	0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61,
	0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x66, 0x66, 0x53, 0x65, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x01, 0x62, 0x22, 0x96, 0x02, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x44, 0x69, 0x66, 0x66, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x43, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61,
	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x66,
	0x66, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52,
	0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67,
	0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67,
	0x65, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x22, 0x33, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x44, 0x45,
	0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x45,
	0x52, 0x47, 0x45, 0x10, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x22, 0xc8, 0x05, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x27, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x37,
	0x0a, 0x04, 0x64, 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70,
	0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
	0x68, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48,
	0x00, 0x52, 0x04, 0x64, 0x69, 0x66, 0x66, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65,
	0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x65,
	0x72, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c,
	0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x67,
	0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x6e, 0x6f,
	0x64, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x54,
	0x72, 0x69, 0x6d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22,
	0x42, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
	0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
	0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x49, 0x46,
	0x46, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x45, 0x52, 0x47,
	0x45, 0x10, 0x02, 0x22, 0xa1, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x2a, 0x0a, 0x22, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x46, 0x4c, 0x41, 0x4d, 0x45, 0x47, 0x52, 0x41, 0x50, 0x48, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15,
	0x0a, 0x11, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x50,
	0x52, 0x4f, 0x46, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45,
	0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x47, 0x52,
	0x41, 0x50, 0x48, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f,
	0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x4d, 0x45, 0x47, 0x52, 0x41, 0x50, 0x48, 0x5f,
	0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x69,
	0x6d, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x7e, 0x0a, 0x03, 0x54,
	0x6f, 0x70, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65,
	0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x07,
	0x54, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70,
	0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1e,
	0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x66, 0x6c, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x66, 0x6c,
	0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x04, 0x64, 0x69, 0x66, 0x66, 0x22, 0xfe, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x70, 0x4e, 0x6f,
	0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61,
	0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
	0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e,
	0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70,
	0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65,
	0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
	0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74,
	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e,
	0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x97, 0x03, 0x0a, 0x0a, 0x46, 0x6c, 0x61, 0x6d,
	0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x61, 0x6d,
	0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04,
	0x72, 0x6f, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e,
	0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70,
	0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x6d,
	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70,
	0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52,
	0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61,
	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x74, 0x72,
	0x69, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0e, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61,
	0x6c, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68,
	0x52, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75,
	0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x75,
	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x66, 0x66,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x66, 0x66, 0x12, 0x40, 0x0a, 0x08,
	0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61,
	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0xc4,
	0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64,
	0x65, 0x12, 0x3c, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x28, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70,
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12,
	0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x64, 0x69, 0x66, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64,
	0x69, 0x66, 0x66, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x61,
	0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69,
	0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0xcb, 0x02, 0x0a, 0x12, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67,
	0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65,
	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07,
	0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
	0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
	0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61,
	0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e,
	0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x0a,
	0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
	0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64,
	0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e,
	0x64, 0x65, 0x78, 0x22, 0x90, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70,
	0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x67,
	0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65,
	0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69,
	0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x04, 0x66, 0x6c, 0x61, 0x74, 0x22, 0x84, 0x02, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x6c, 0x67,
	0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08,
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65,
	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07,
	0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
	0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
	0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61,
	0x72, 0x63, 0x61, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e,
	0x6d, 0x65, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x92, 0x01,
	0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x45, 0x64, 0x67, 0x65, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
	0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12,
	0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73,
	0x65, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68,
	0x12, 0x39, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68,
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x65,
	0x64, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x45, 0x64, 0x67, 0x65, 0x52,
	0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75,
	0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x66, 0x6c, 0x61, 0x6d,
	0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
	0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
	0x68, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x48, 0x00,
	0x52, 0x0a, 0x66, 0x6c, 0x61, 0x6d, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x16, 0x0a, 0x05,
	0x70, 0x70, 0x72, 0x6f, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x70,
	0x70, 0x72, 0x6f, 0x66, 0x12, 0x2d, 0x0a, 0x03, 0x74, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x03,
	0x74, 0x6f, 0x70, 0x12, 0x3f, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x61,
	0x6c, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x48, 0x00, 0x52, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x67,
	0x72, 0x61, 0x70, 0x68, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x85,
	0x01, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0d, 0x4c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61,
	0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68,
	0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64,
	0x22, 0x4d, 0x0a, 0x0e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4e, 0x61,
	0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22,
	0xa4, 0x01, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x62, 0x65,
	0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77,
	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77,
	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x22, 0x95, 0x01, 0x0a,
	0x13, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x61,
	0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
	0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x14, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
	0x32, 0xdf, 0x06, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x12, 0x7e, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12,
	0x27, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61,
	0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x70, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67,
	0x65, 0x12, 0x69, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
	0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61,
	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x70, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x6d, 0x0a, 0x06,
	0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65,
	0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x61,
	0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x70, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x0c, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x61,
	0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
	0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x70, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x06, 0x4c,
	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x73, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x06, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x73, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x62, 0x65,
	0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x81,
	0x01, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12,
	0x29, 0x2e, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x72,
	0x63, 0x61, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01,
	0x2a, 0x22, 0x0f, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x42, 0x58, 0x5a, 0x56, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f,
	0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2d, 0x64, 0x65, 0x76,
	0x2f, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62,
	0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x61, 0x72, 0x63, 0x61, 0x2f,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_parca_query_v1alpha1_query_proto_rawDescOnce sync.Once
	file_parca_query_v1alpha1_query_proto_rawDescData = file_parca_query_v1alpha1_query_proto_rawDesc
)

func file_parca_query_v1alpha1_query_proto_rawDescGZIP() []byte {
	file_parca_query_v1alpha1_query_proto_rawDescOnce.Do(func() {
		file_parca_query_v1alpha1_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_parca_query_v1alpha1_query_proto_rawDescData)
	})
	return file_parca_query_v1alpha1_query_proto_rawDescData
}

var file_parca_query_v1alpha1_query_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_parca_query_v1alpha1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_parca_query_v1alpha1_query_proto_goTypes = []interface{}{
	(ProfileDiffSelection_Mode)(0), // 0: parca.query.v1alpha1.ProfileDiffSelection.Mode
	(QueryRequest_Mode)(0),         // 1: parca.query.v1alpha1.QueryRequest.Mode
	(QueryRequest_ReportType)(0),   // 2: parca.query.v1alpha1.QueryRequest.ReportType
	(*ProfileTypesRequest)(nil),    // 3: parca.query.v1alpha1.ProfileTypesRequest
	(*ProfileTypesResponse)(nil),   // 4: parca.query.v1alpha1.ProfileTypesResponse
	(*ProfileType)(nil),            // 5: parca.query.v1alpha1.ProfileType
	(*QueryRangeRequest)(nil),      // 6: parca.query.v1alpha1.QueryRangeRequest
	(*QueryRangeResponse)(nil),     // 7: parca.query.v1alpha1.QueryRangeResponse
	(*MetricsSeries)(nil),          // 8: parca.query.v1alpha1.MetricsSeries
	(*MetricsSample)(nil),          // 9: parca.query.v1alpha1.MetricsSample
	(*MergeProfile)(nil),           // 10: parca.query.v1alpha1.MergeProfile
	(*SingleProfile)(nil),          // 11: parca.query.v1alpha1.SingleProfile
	(*DiffProfile)(nil),            // 12: parca.query.v1alpha1.DiffProfile
	(*ProfileDiffSelection)(nil),   // 13: parca.query.v1alpha1.ProfileDiffSelection
	(*QueryRequest)(nil),           // 14: parca.query.v1alpha1.QueryRequest
	(*Top)(nil),                    // 15: parca.query.v1alpha1.Top
	(*TopNode)(nil),                // 16: parca.query.v1alpha1.TopNode
	(*TopNodeMeta)(nil),            // 17: parca.query.v1alpha1.TopNodeMeta
	(*Flamegraph)(nil),             // 18: parca.query.v1alpha1.Flamegraph
	(*FlamegraphRootNode)(nil),     // 19: parca.query.v1alpha1.FlamegraphRootNode
	(*FlamegraphNode)(nil),         // 20: parca.query.v1alpha1.FlamegraphNode
	(*FlamegraphNodeMeta)(nil),     // 21: parca.query.v1alpha1.FlamegraphNodeMeta
	(*CallgraphNode)(nil),          // 22: parca.query.v1alpha1.CallgraphNode
	(*CallgraphNodeMeta)(nil),      // 23: parca.query.v1alpha1.CallgraphNodeMeta
	(*CallgraphEdge)(nil),          // 24: parca.query.v1alpha1.CallgraphEdge
	(*Callgraph)(nil),              // 25: parca.query.v1alpha1.Callgraph
	(*QueryResponse)(nil),          // 26: parca.query.v1alpha1.QueryResponse
	(*SeriesRequest)(nil),          // 27: parca.query.v1alpha1.SeriesRequest
	(*SeriesResponse)(nil),         // 28: parca.query.v1alpha1.SeriesResponse
	(*LabelsRequest)(nil),          // 29: parca.query.v1alpha1.LabelsRequest
	(*LabelsResponse)(nil),         // 30: parca.query.v1alpha1.LabelsResponse
	(*ValuesRequest)(nil),          // 31: parca.query.v1alpha1.ValuesRequest
	(*ValuesResponse)(nil),         // 32: parca.query.v1alpha1.ValuesResponse
	(*ValueType)(nil),              // 33: parca.query.v1alpha1.ValueType
	(*ShareProfileRequest)(nil),    // 34: parca.query.v1alpha1.ShareProfileRequest
	(*ShareProfileResponse)(nil),   // 35: parca.query.v1alpha1.ShareProfileResponse
	(*timestamppb.Timestamp)(nil),  // 36: google.protobuf.Timestamp
	(*v1alpha1.LabelSet)(nil),      // 37: parca.profilestore.v1alpha1.LabelSet
	(*v1alpha11.Location)(nil),     // 38: parca.metastore.v1alpha1.Location
	(*v1alpha11.Mapping)(nil),      // 39: parca.metastore.v1alpha1.Mapping
	(*v1alpha11.Function)(nil),     // 40: parca.metastore.v1alpha1.Function
	(*v1alpha11.Line)(nil),         // 41: parca.metastore.v1alpha1.Line
}
var file_parca_query_v1alpha1_query_proto_depIdxs = []int32{
	5,  // 0: parca.query.v1alpha1.ProfileTypesResponse.types:type_name -> parca.query.v1alpha1.ProfileType
	36, // 1: parca.query.v1alpha1.QueryRangeRequest.start:type_name -> google.protobuf.Timestamp
	36, // 2: parca.query.v1alpha1.QueryRangeRequest.end:type_name -> google.protobuf.Timestamp
	8,  // 3: parca.query.v1alpha1.QueryRangeResponse.series:type_name -> parca.query.v1alpha1.MetricsSeries
	37, // 4: parca.query.v1alpha1.MetricsSeries.labelset:type_name -> parca.profilestore.v1alpha1.LabelSet
	9,  // 5: parca.query.v1alpha1.MetricsSeries.samples:type_name -> parca.query.v1alpha1.MetricsSample
	33, // 6: parca.query.v1alpha1.MetricsSeries.period_type:type_name -> parca.query.v1alpha1.ValueType
	33, // 7: parca.query.v1alpha1.MetricsSeries.sample_type:type_name -> parca.query.v1alpha1.ValueType
	36, // 8: parca.query.v1alpha1.MetricsSample.timestamp:type_name -> google.protobuf.Timestamp
	36, // 9: parca.query.v1alpha1.MergeProfile.start:type_name -> google.protobuf.Timestamp
	36, // 10: parca.query.v1alpha1.MergeProfile.end:type_name -> google.protobuf.Timestamp
	36, // 11: parca.query.v1alpha1.SingleProfile.time:type_name -> google.protobuf.Timestamp
	13, // 12: parca.query.v1alpha1.DiffProfile.a:type_name -> parca.query.v1alpha1.ProfileDiffSelection
	13, // 13: parca.query.v1alpha1.DiffProfile.b:type_name -> parca.query.v1alpha1.ProfileDiffSelection
	0,  // 14: parca.query.v1alpha1.ProfileDiffSelection.mode:type_name -> parca.query.v1alpha1.ProfileDiffSelection.Mode
	10, // 15: parca.query.v1alpha1.ProfileDiffSelection.merge:type_name -> parca.query.v1alpha1.MergeProfile
	11, // 16: parca.query.v1alpha1.ProfileDiffSelection.single:type_name -> parca.query.v1alpha1.SingleProfile
	1,  // 17: parca.query.v1alpha1.QueryRequest.mode:type_name -> parca.query.v1alpha1.QueryRequest.Mode
	12, // 18: parca.query.v1alpha1.QueryRequest.diff:type_name -> parca.query.v1alpha1.DiffProfile
	10, // 19: parca.query.v1alpha1.QueryRequest.merge:type_name -> parca.query.v1alpha1.MergeProfile
	11, // 20: parca.query.v1alpha1.QueryRequest.single:type_name -> parca.query.v1alpha1.SingleProfile
	2,  // 21: parca.query.v1alpha1.QueryRequest.report_type:type_name -> parca.query.v1alpha1.QueryRequest.ReportType
	16, // 22: parca.query.v1alpha1.Top.list:type_name -> parca.query.v1alpha1.TopNode
	17, // 23: parca.query.v1alpha1.TopNode.meta:type_name -> parca.query.v1alpha1.TopNodeMeta
	38, // 24: parca.query.v1alpha1.TopNodeMeta.location:type_name -> parca.metastore.v1alpha1.Location
	39, // 25: parca.query.v1alpha1.TopNodeMeta.mapping:type_name -> parca.metastore.v1alpha1.Mapping
	40, // 26: parca.query.v1alpha1.TopNodeMeta.function:type_name -> parca.metastore.v1alpha1.Function
	41, // 27: parca.query.v1alpha1.TopNodeMeta.line:type_name -> parca.metastore.v1alpha1.Line
	19, // 28: parca.query.v1alpha1.Flamegraph.root:type_name -> parca.query.v1alpha1.FlamegraphRootNode
	38, // 29: parca.query.v1alpha1.Flamegraph.locations:type_name -> parca.metastore.v1alpha1.Location
	39, // 30: parca.query.v1alpha1.Flamegraph.mapping:type_name -> parca.metastore.v1alpha1.Mapping
	40, // 31: parca.query.v1alpha1.Flamegraph.function:type_name -> parca.metastore.v1alpha1.Function
	20, // 32: parca.query.v1alpha1.FlamegraphRootNode.children:type_name -> parca.query.v1alpha1.FlamegraphNode
	21, // 33: parca.query.v1alpha1.FlamegraphNode.meta:type_name -> parca.query.v1alpha1.FlamegraphNodeMeta
	20, // 34: parca.query.v1alpha1.FlamegraphNode.children:type_name -> parca.query.v1alpha1.FlamegraphNode
	38, // 35: parca.query.v1alpha1.FlamegraphNodeMeta.location:type_name -> parca.metastore.v1alpha1.Location
	39, // 36: parca.query.v1alpha1.FlamegraphNodeMeta.mapping:type_name -> parca.metastore.v1alpha1.Mapping
	40, // 37: parca.query.v1alpha1.FlamegraphNodeMeta.function:type_name -> parca.metastore.v1alpha1.Function
	41, // 38: parca.query.v1alpha1.FlamegraphNodeMeta.line:type_name -> parca.metastore.v1alpha1.Line
	23, // 39: parca.query.v1alpha1.CallgraphNode.meta:type_name -> parca.query.v1alpha1.CallgraphNodeMeta
	38, // 40: parca.query.v1alpha1.CallgraphNodeMeta.location:type_name -> parca.metastore.v1alpha1.Location
	39, // 41: parca.query.v1alpha1.CallgraphNodeMeta.mapping:type_name -> parca.metastore.v1alpha1.Mapping
	40, // 42: parca.query.v1alpha1.CallgraphNodeMeta.function:type_name -> parca.metastore.v1alpha1.Function
	41, // 43: parca.query.v1alpha1.CallgraphNodeMeta.line:type_name -> parca.metastore.v1alpha1.Line
	22, // 44: parca.query.v1alpha1.Callgraph.nodes:type_name -> parca.query.v1alpha1.CallgraphNode
	24, // 45: parca.query.v1alpha1.Callgraph.edges:type_name -> parca.query.v1alpha1.CallgraphEdge
	18, // 46: parca.query.v1alpha1.QueryResponse.flamegraph:type_name -> parca.query.v1alpha1.Flamegraph
	15, // 47: parca.query.v1alpha1.QueryResponse.top:type_name -> parca.query.v1alpha1.Top
	25, // 48: parca.query.v1alpha1.QueryResponse.callgraph:type_name -> parca.query.v1alpha1.Callgraph
	36, // 49: parca.query.v1alpha1.SeriesRequest.start:type_name -> google.protobuf.Timestamp
	36, // 50: parca.query.v1alpha1.SeriesRequest.end:type_name -> google.protobuf.Timestamp
	36, // 51: parca.query.v1alpha1.LabelsRequest.start:type_name -> google.protobuf.Timestamp
	36, // 52: parca.query.v1alpha1.LabelsRequest.end:type_name -> google.protobuf.Timestamp
	36, // 53: parca.query.v1alpha1.ValuesRequest.start:type_name -> google.protobuf.Timestamp
	36, // 54: parca.query.v1alpha1.ValuesRequest.end:type_name -> google.protobuf.Timestamp
	14, // 55: parca.query.v1alpha1.ShareProfileRequest.query_request:type_name -> parca.query.v1alpha1.QueryRequest
	6,  // 56: parca.query.v1alpha1.QueryService.QueryRange:input_type -> parca.query.v1alpha1.QueryRangeRequest
	14, // 57: parca.query.v1alpha1.QueryService.Query:input_type -> parca.query.v1alpha1.QueryRequest
	27, // 58: parca.query.v1alpha1.QueryService.Series:input_type -> parca.query.v1alpha1.SeriesRequest
	3,  // 59: parca.query.v1alpha1.QueryService.ProfileTypes:input_type -> parca.query.v1alpha1.ProfileTypesRequest
	29, // 60: parca.query.v1alpha1.QueryService.Labels:input_type -> parca.query.v1alpha1.LabelsRequest
	31, // 61: parca.query.v1alpha1.QueryService.Values:input_type -> parca.query.v1alpha1.ValuesRequest
	34, // 62: parca.query.v1alpha1.QueryService.ShareProfile:input_type -> parca.query.v1alpha1.ShareProfileRequest
	7,  // 63: parca.query.v1alpha1.QueryService.QueryRange:output_type -> parca.query.v1alpha1.QueryRangeResponse
	26, // 64: parca.query.v1alpha1.QueryService.Query:output_type -> parca.query.v1alpha1.QueryResponse
	28, // 65: parca.query.v1alpha1.QueryService.Series:output_type -> parca.query.v1alpha1.SeriesResponse
	4,  // 66: parca.query.v1alpha1.QueryService.ProfileTypes:output_type -> parca.query.v1alpha1.ProfileTypesResponse
	30, // 67: parca.query.v1alpha1.QueryService.Labels:output_type -> parca.query.v1alpha1.LabelsResponse
	32, // 68: parca.query.v1alpha1.QueryService.Values:output_type -> parca.query.v1alpha1.ValuesResponse
	35, // 69: parca.query.v1alpha1.QueryService.ShareProfile:output_type -> parca.query.v1alpha1.ShareProfileResponse
	63, // [63:70] is the sub-list for method output_type
	56, // [56:63] is the sub-list for method input_type
	56, // [56:56] is the sub-list for extension type_name
	56, // [56:56] is the sub-list for extension extendee
	0,  // [0:56] is the sub-list for field type_name
}

func init() { file_parca_query_v1alpha1_query_proto_init() }
func file_parca_query_v1alpha1_query_proto_init() {
	if File_parca_query_v1alpha1_query_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_parca_query_v1alpha1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProfileTypesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProfileTypesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProfileType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*QueryRangeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*QueryRangeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricsSeries); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricsSample); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MergeProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DiffProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProfileDiffSelection); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*QueryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Top); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TopNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TopNodeMeta); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Flamegraph); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FlamegraphRootNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FlamegraphNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FlamegraphNodeMeta); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallgraphNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallgraphNodeMeta); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallgraphEdge); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Callgraph); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*QueryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SeriesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SeriesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LabelsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LabelsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ValuesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ValuesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ValueType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShareProfileRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_parca_query_v1alpha1_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShareProfileResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_parca_query_v1alpha1_query_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*ProfileDiffSelection_Merge)(nil),
		(*ProfileDiffSelection_Single)(nil),
	}
	file_parca_query_v1alpha1_query_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*QueryRequest_Diff)(nil),
		(*QueryRequest_Merge)(nil),
		(*QueryRequest_Single)(nil),
	}
	file_parca_query_v1alpha1_query_proto_msgTypes[23].OneofWrappers = []interface{}{
		(*QueryResponse_Flamegraph)(nil),
		(*QueryResponse_Pprof)(nil),
		(*QueryResponse_Top)(nil),
		(*QueryResponse_Callgraph)(nil),
	}
	file_parca_query_v1alpha1_query_proto_msgTypes[31].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_parca_query_v1alpha1_query_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   33,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_parca_query_v1alpha1_query_proto_goTypes,
		DependencyIndexes: file_parca_query_v1alpha1_query_proto_depIdxs,
		EnumInfos:         file_parca_query_v1alpha1_query_proto_enumTypes,
		MessageInfos:      file_parca_query_v1alpha1_query_proto_msgTypes,
	}.Build()
	File_parca_query_v1alpha1_query_proto = out.File
	file_parca_query_v1alpha1_query_proto_rawDesc = nil
	file_parca_query_v1alpha1_query_proto_goTypes = nil
	file_parca_query_v1alpha1_query_proto_depIdxs = nil
}
