xref: /aosp_15_r20/cts/tests/mediapc/requirements/requirements.pb.go (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1// Copyright (C) 2024 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.30.0
18// 	protoc        v3.21.12
19// source: cts/tests/mediapc/requirements/requirements.proto
20
21// Changes to this file require manaul update of the AOSP Go code.
22// update the go code with:
23//   aprotoc --go_out=paths=source_relative:. \
24//     cts/tests/mediapc/requirements/mpc.proto \
25//     cts/tests/mediapc/requirements/requirements.proto
26
27package requirements_go_proto
28
29import (
30	mpc_go_proto "cts/test/mediapc/requirements/mpc_go_proto"
31	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
32	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
33	reflect "reflect"
34	sync "sync"
35)
36
37const (
38	// Verify that this generated code is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
40	// Verify that runtime/protoimpl is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
42)
43
44type Group int32
45
46const (
47	Group_GROUP_UNSPECIFIED Group = 0
48	Group_GROUP_MEDIA       Group = 1
49	Group_GROUP_CAMERA      Group = 2
50	Group_GROUP_HARDWARE    Group = 3
51	Group_GROUP_PERFORMANCE Group = 4
52)
53
54// Enum value maps for Group.
55var (
56	Group_name = map[int32]string{
57		0: "GROUP_UNSPECIFIED",
58		1: "GROUP_MEDIA",
59		2: "GROUP_CAMERA",
60		3: "GROUP_HARDWARE",
61		4: "GROUP_PERFORMANCE",
62	}
63	Group_value = map[string]int32{
64		"GROUP_UNSPECIFIED": 0,
65		"GROUP_MEDIA":       1,
66		"GROUP_CAMERA":      2,
67		"GROUP_HARDWARE":    3,
68		"GROUP_PERFORMANCE": 4,
69	}
70)
71
72func (x Group) Enum() *Group {
73	p := new(Group)
74	*p = x
75	return p
76}
77
78func (x Group) String() string {
79	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
80}
81
82func (Group) Descriptor() protoreflect.EnumDescriptor {
83	return file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[0].Descriptor()
84}
85
86func (Group) Type() protoreflect.EnumType {
87	return &file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[0]
88}
89
90func (x Group) Number() protoreflect.EnumNumber {
91	return protoreflect.EnumNumber(x)
92}
93
94// Deprecated: Do not use.
95func (x *Group) UnmarshalJSON(b []byte) error {
96	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
97	if err != nil {
98		return err
99	}
100	*x = Group(num)
101	return nil
102}
103
104// Deprecated: Use Group.Descriptor instead.
105func (Group) EnumDescriptor() ([]byte, []int) {
106	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{0}
107}
108
109type Comparison int32
110
111const (
112	Comparison_COMPARISON_UNSPECIFIED                                 Comparison = 0
113	Comparison_COMPARISON_EQUAL                                       Comparison = 1
114	Comparison_COMPARISON_LESS_THAN                                   Comparison = 2
115	Comparison_COMPARISON_LESS_THAN_OR_EQUAL                          Comparison = 3
116	Comparison_COMPARISON_GREATER_THAN                                Comparison = 4
117	Comparison_COMPARISON_GREATER_THAN_OR_EQUAL                       Comparison = 5
118	Comparison_COMPARISON_INFO_ONLY                                   Comparison = 6
119	Comparison_COMPARISON_CONFIG                                      Comparison = 7
120	Comparison_COMPARISON_CAMERA_HARDWARE_LEVEL_GREATER_THAN_OR_EQUAL Comparison = 8
121)
122
123// Enum value maps for Comparison.
124var (
125	Comparison_name = map[int32]string{
126		0: "COMPARISON_UNSPECIFIED",
127		1: "COMPARISON_EQUAL",
128		2: "COMPARISON_LESS_THAN",
129		3: "COMPARISON_LESS_THAN_OR_EQUAL",
130		4: "COMPARISON_GREATER_THAN",
131		5: "COMPARISON_GREATER_THAN_OR_EQUAL",
132		6: "COMPARISON_INFO_ONLY",
133		7: "COMPARISON_CONFIG",
134		8: "COMPARISON_CAMERA_HARDWARE_LEVEL_GREATER_THAN_OR_EQUAL",
135	}
136	Comparison_value = map[string]int32{
137		"COMPARISON_UNSPECIFIED":                                 0,
138		"COMPARISON_EQUAL":                                       1,
139		"COMPARISON_LESS_THAN":                                   2,
140		"COMPARISON_LESS_THAN_OR_EQUAL":                          3,
141		"COMPARISON_GREATER_THAN":                                4,
142		"COMPARISON_GREATER_THAN_OR_EQUAL":                       5,
143		"COMPARISON_INFO_ONLY":                                   6,
144		"COMPARISON_CONFIG":                                      7,
145		"COMPARISON_CAMERA_HARDWARE_LEVEL_GREATER_THAN_OR_EQUAL": 8,
146	}
147)
148
149func (x Comparison) Enum() *Comparison {
150	p := new(Comparison)
151	*p = x
152	return p
153}
154
155func (x Comparison) String() string {
156	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
157}
158
159func (Comparison) Descriptor() protoreflect.EnumDescriptor {
160	return file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[1].Descriptor()
161}
162
163func (Comparison) Type() protoreflect.EnumType {
164	return &file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[1]
165}
166
167func (x Comparison) Number() protoreflect.EnumNumber {
168	return protoreflect.EnumNumber(x)
169}
170
171// Deprecated: Do not use.
172func (x *Comparison) UnmarshalJSON(b []byte) error {
173	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
174	if err != nil {
175		return err
176	}
177	*x = Comparison(num)
178	return nil
179}
180
181// Deprecated: Use Comparison.Descriptor instead.
182func (Comparison) EnumDescriptor() ([]byte, []int) {
183	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{1}
184}
185
186type MeasurementType int32
187
188const (
189	MeasurementType_MEASUREMENT_TYPE_UNSPECIFIED MeasurementType = 0
190	MeasurementType_MEASUREMENT_TYPE_BOOL        MeasurementType = 1
191	MeasurementType_MEASUREMENT_TYPE_DOUBLE      MeasurementType = 2
192	MeasurementType_MEASUREMENT_TYPE_INT         MeasurementType = 3
193	MeasurementType_MEASUREMENT_TYPE_STRING      MeasurementType = 4
194	MeasurementType_MEASUREMENT_TYPE_LONG        MeasurementType = 5
195	MeasurementType_MEASUREMENT_TYPE_FLOAT       MeasurementType = 6
196)
197
198// Enum value maps for MeasurementType.
199var (
200	MeasurementType_name = map[int32]string{
201		0: "MEASUREMENT_TYPE_UNSPECIFIED",
202		1: "MEASUREMENT_TYPE_BOOL",
203		2: "MEASUREMENT_TYPE_DOUBLE",
204		3: "MEASUREMENT_TYPE_INT",
205		4: "MEASUREMENT_TYPE_STRING",
206		5: "MEASUREMENT_TYPE_LONG",
207		6: "MEASUREMENT_TYPE_FLOAT",
208	}
209	MeasurementType_value = map[string]int32{
210		"MEASUREMENT_TYPE_UNSPECIFIED": 0,
211		"MEASUREMENT_TYPE_BOOL":        1,
212		"MEASUREMENT_TYPE_DOUBLE":      2,
213		"MEASUREMENT_TYPE_INT":         3,
214		"MEASUREMENT_TYPE_STRING":      4,
215		"MEASUREMENT_TYPE_LONG":        5,
216		"MEASUREMENT_TYPE_FLOAT":       6,
217	}
218)
219
220func (x MeasurementType) Enum() *MeasurementType {
221	p := new(MeasurementType)
222	*p = x
223	return p
224}
225
226func (x MeasurementType) String() string {
227	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
228}
229
230func (MeasurementType) Descriptor() protoreflect.EnumDescriptor {
231	return file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[2].Descriptor()
232}
233
234func (MeasurementType) Type() protoreflect.EnumType {
235	return &file_cts_tests_mediapc_requirements_requirements_proto_enumTypes[2]
236}
237
238func (x MeasurementType) Number() protoreflect.EnumNumber {
239	return protoreflect.EnumNumber(x)
240}
241
242// Deprecated: Do not use.
243func (x *MeasurementType) UnmarshalJSON(b []byte) error {
244	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
245	if err != nil {
246		return err
247	}
248	*x = MeasurementType(num)
249	return nil
250}
251
252// Deprecated: Use MeasurementType.Descriptor instead.
253func (MeasurementType) EnumDescriptor() ([]byte, []int) {
254	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{2}
255}
256
257// A list of requirements.
258type RequirementList struct {
259	state         protoimpl.MessageState
260	sizeCache     protoimpl.SizeCache
261	unknownFields protoimpl.UnknownFields
262
263	Requirements []*Requirement `protobuf:"bytes,1,rep,name=requirements" json:"requirements,omitempty"`
264	// All valid MPC levels
265	AllMpcs []int64 `protobuf:"varint,2,rep,packed,name=all_mpcs,json=allMpcs" json:"all_mpcs,omitempty"`
266}
267
268func (x *RequirementList) Reset() {
269	*x = RequirementList{}
270	if protoimpl.UnsafeEnabled {
271		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[0]
272		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
273		ms.StoreMessageInfo(mi)
274	}
275}
276
277func (x *RequirementList) String() string {
278	return protoimpl.X.MessageStringOf(x)
279}
280
281func (*RequirementList) ProtoMessage() {}
282
283func (x *RequirementList) ProtoReflect() protoreflect.Message {
284	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[0]
285	if protoimpl.UnsafeEnabled && x != nil {
286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
287		if ms.LoadMessageInfo() == nil {
288			ms.StoreMessageInfo(mi)
289		}
290		return ms
291	}
292	return mi.MessageOf(x)
293}
294
295// Deprecated: Use RequirementList.ProtoReflect.Descriptor instead.
296func (*RequirementList) Descriptor() ([]byte, []int) {
297	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{0}
298}
299
300func (x *RequirementList) GetRequirements() []*Requirement {
301	if x != nil {
302		return x.Requirements
303	}
304	return nil
305}
306
307func (x *RequirementList) GetAllMpcs() []int64 {
308	if x != nil {
309		return x.AllMpcs
310	}
311	return nil
312}
313
314// A Media Performance Class Requirement with required measurements and
315// specifications including required values for each relevant MPC level.
316type Requirement struct {
317	state         protoimpl.MessageState
318	sizeCache     protoimpl.SizeCache
319	unknownFields protoimpl.UnknownFields
320
321	// ID exactly as shown in the CDD
322	Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
323	// Short human readable name. Must be unique.
324	Name        *string                    `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
325	Description *string                    `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
326	Group       *Group                     `protobuf:"varint,4,opt,name=group,enum=android.media.performanceclass.requirements.Group" json:"group,omitempty"`
327	Specs       map[int64]*RequirementSpec `protobuf:"bytes,5,rep,name=specs" json:"specs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
328	// measurement_id to RequiredMeasurements
329	// The measurement_id is a field name safe string.
330	Measurements map[string]*RequiredMeasurement `protobuf:"bytes,6,rep,name=measurements" json:"measurements,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
331	// Whether this requirement is a non-CTS test. Cts tests require fields in the
332	// test cases proto to be repeated fields. Non-Cts tests need optional fields.
333	IsNonCtsTest *bool `protobuf:"varint,7,opt,name=is_non_cts_test,json=isNonCtsTest,def=0" json:"is_non_cts_test,omitempty"`
334	// Tests may use different setups depending on which performance class(es)
335	// are being tested. This field specifies a list of identifiers for each
336	// setup. Each identifier must have at least one corresponding entry in specs.
337	// The list can just be a single entry of a blank string if only one setup
338	// exists.
339	TestConfigs map[string]*TestConfig `protobuf:"bytes,8,rep,name=test_configs,json=testConfigs" json:"test_configs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
340	// variant_id to Variant
341	//
342	// The variant_id is a field name safe string.
343	Variants map[string]*Variant `protobuf:"bytes,57,rep,name=variants" json:"variants,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
344}
345
346// Default values for Requirement fields.
347const (
348	Default_Requirement_IsNonCtsTest = bool(false)
349)
350
351func (x *Requirement) Reset() {
352	*x = Requirement{}
353	if protoimpl.UnsafeEnabled {
354		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[1]
355		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
356		ms.StoreMessageInfo(mi)
357	}
358}
359
360func (x *Requirement) String() string {
361	return protoimpl.X.MessageStringOf(x)
362}
363
364func (*Requirement) ProtoMessage() {}
365
366func (x *Requirement) ProtoReflect() protoreflect.Message {
367	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[1]
368	if protoimpl.UnsafeEnabled && x != nil {
369		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
370		if ms.LoadMessageInfo() == nil {
371			ms.StoreMessageInfo(mi)
372		}
373		return ms
374	}
375	return mi.MessageOf(x)
376}
377
378// Deprecated: Use Requirement.ProtoReflect.Descriptor instead.
379func (*Requirement) Descriptor() ([]byte, []int) {
380	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{1}
381}
382
383func (x *Requirement) GetId() string {
384	if x != nil && x.Id != nil {
385		return *x.Id
386	}
387	return ""
388}
389
390func (x *Requirement) GetName() string {
391	if x != nil && x.Name != nil {
392		return *x.Name
393	}
394	return ""
395}
396
397func (x *Requirement) GetDescription() string {
398	if x != nil && x.Description != nil {
399		return *x.Description
400	}
401	return ""
402}
403
404func (x *Requirement) GetGroup() Group {
405	if x != nil && x.Group != nil {
406		return *x.Group
407	}
408	return Group_GROUP_UNSPECIFIED
409}
410
411func (x *Requirement) GetSpecs() map[int64]*RequirementSpec {
412	if x != nil {
413		return x.Specs
414	}
415	return nil
416}
417
418func (x *Requirement) GetMeasurements() map[string]*RequiredMeasurement {
419	if x != nil {
420		return x.Measurements
421	}
422	return nil
423}
424
425func (x *Requirement) GetIsNonCtsTest() bool {
426	if x != nil && x.IsNonCtsTest != nil {
427		return *x.IsNonCtsTest
428	}
429	return Default_Requirement_IsNonCtsTest
430}
431
432func (x *Requirement) GetTestConfigs() map[string]*TestConfig {
433	if x != nil {
434		return x.TestConfigs
435	}
436	return nil
437}
438
439func (x *Requirement) GetVariants() map[string]*Variant {
440	if x != nil {
441		return x.Variants
442	}
443	return nil
444}
445
446type RequirementSpec struct {
447	state         protoimpl.MessageState
448	sizeCache     protoimpl.SizeCache
449	unknownFields protoimpl.UnknownFields
450
451	Mpc *mpc_go_proto.MediaPerformanceClass `protobuf:"varint,1,opt,name=mpc,enum=android.media.performanceclass.MediaPerformanceClass" json:"mpc,omitempty"`
452	// The specification of the requirement at the given MPC level exactly as
453	// described in the CDD.
454	Specification *string `protobuf:"bytes,3,opt,name=specification" json:"specification,omitempty"`
455	// measurement_id to RequiredMeasurements
456	//
457	// The measurement_id is a field name safe string.
458	// The measurement_id must match the id of a RequiredMeasurement in the parent
459	// Requirement.
460	RequiredValues map[string]*RequiredValue `protobuf:"bytes,4,rep,name=required_values,json=requiredValues" json:"required_values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
461	// variant_id to VariantSpec
462	// The variant_id is a field name safe string.
463	VariantSpecs map[string]*VariantSpec `protobuf:"bytes,5,rep,name=variant_specs,json=variantSpecs" json:"variant_specs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
464	// The test config id to use for this spec. If not specified, defaults to an
465	// empty string.
466	TestConfigId *string `protobuf:"bytes,6,opt,name=test_config_id,json=testConfigId,def=" json:"test_config_id,omitempty"`
467}
468
469// Default values for RequirementSpec fields.
470const (
471	Default_RequirementSpec_TestConfigId = string("")
472)
473
474func (x *RequirementSpec) Reset() {
475	*x = RequirementSpec{}
476	if protoimpl.UnsafeEnabled {
477		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[2]
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		ms.StoreMessageInfo(mi)
480	}
481}
482
483func (x *RequirementSpec) String() string {
484	return protoimpl.X.MessageStringOf(x)
485}
486
487func (*RequirementSpec) ProtoMessage() {}
488
489func (x *RequirementSpec) ProtoReflect() protoreflect.Message {
490	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[2]
491	if protoimpl.UnsafeEnabled && x != nil {
492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493		if ms.LoadMessageInfo() == nil {
494			ms.StoreMessageInfo(mi)
495		}
496		return ms
497	}
498	return mi.MessageOf(x)
499}
500
501// Deprecated: Use RequirementSpec.ProtoReflect.Descriptor instead.
502func (*RequirementSpec) Descriptor() ([]byte, []int) {
503	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{2}
504}
505
506func (x *RequirementSpec) GetMpc() mpc_go_proto.MediaPerformanceClass {
507	if x != nil && x.Mpc != nil {
508		return *x.Mpc
509	}
510	return mpc_go_proto.MediaPerformanceClass(0)
511}
512
513func (x *RequirementSpec) GetSpecification() string {
514	if x != nil && x.Specification != nil {
515		return *x.Specification
516	}
517	return ""
518}
519
520func (x *RequirementSpec) GetRequiredValues() map[string]*RequiredValue {
521	if x != nil {
522		return x.RequiredValues
523	}
524	return nil
525}
526
527func (x *RequirementSpec) GetVariantSpecs() map[string]*VariantSpec {
528	if x != nil {
529		return x.VariantSpecs
530	}
531	return nil
532}
533
534func (x *RequirementSpec) GetTestConfigId() string {
535	if x != nil && x.TestConfigId != nil {
536		return *x.TestConfigId
537	}
538	return Default_RequirementSpec_TestConfigId
539}
540
541// A required measurement needed verifiy a MPC requirement.
542type RequiredMeasurement struct {
543	state         protoimpl.MessageState
544	sizeCache     protoimpl.SizeCache
545	unknownFields protoimpl.UnknownFields
546
547	// The id is a field name safe string.
548	Id              *string          `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
549	Description     *string          `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
550	MeasurementType *MeasurementType `protobuf:"varint,3,opt,name=measurement_type,json=measurementType,enum=android.media.performanceclass.requirements.MeasurementType" json:"measurement_type,omitempty"`
551	Comparison      *Comparison      `protobuf:"varint,4,opt,name=comparison,enum=android.media.performanceclass.requirements.Comparison" json:"comparison,omitempty"`
552	// Must be unique per requirement and greater than or equal to 3.
553	ProtoFieldNumber *int32 `protobuf:"varint,6,opt,name=proto_field_number,json=protoFieldNumber" json:"proto_field_number,omitempty"`
554}
555
556func (x *RequiredMeasurement) Reset() {
557	*x = RequiredMeasurement{}
558	if protoimpl.UnsafeEnabled {
559		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[3]
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		ms.StoreMessageInfo(mi)
562	}
563}
564
565func (x *RequiredMeasurement) String() string {
566	return protoimpl.X.MessageStringOf(x)
567}
568
569func (*RequiredMeasurement) ProtoMessage() {}
570
571func (x *RequiredMeasurement) ProtoReflect() protoreflect.Message {
572	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[3]
573	if protoimpl.UnsafeEnabled && x != nil {
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		if ms.LoadMessageInfo() == nil {
576			ms.StoreMessageInfo(mi)
577		}
578		return ms
579	}
580	return mi.MessageOf(x)
581}
582
583// Deprecated: Use RequiredMeasurement.ProtoReflect.Descriptor instead.
584func (*RequiredMeasurement) Descriptor() ([]byte, []int) {
585	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{3}
586}
587
588func (x *RequiredMeasurement) GetId() string {
589	if x != nil && x.Id != nil {
590		return *x.Id
591	}
592	return ""
593}
594
595func (x *RequiredMeasurement) GetDescription() string {
596	if x != nil && x.Description != nil {
597		return *x.Description
598	}
599	return ""
600}
601
602func (x *RequiredMeasurement) GetMeasurementType() MeasurementType {
603	if x != nil && x.MeasurementType != nil {
604		return *x.MeasurementType
605	}
606	return MeasurementType_MEASUREMENT_TYPE_UNSPECIFIED
607}
608
609func (x *RequiredMeasurement) GetComparison() Comparison {
610	if x != nil && x.Comparison != nil {
611		return *x.Comparison
612	}
613	return Comparison_COMPARISON_UNSPECIFIED
614}
615
616func (x *RequiredMeasurement) GetProtoFieldNumber() int32 {
617	if x != nil && x.ProtoFieldNumber != nil {
618		return *x.ProtoFieldNumber
619	}
620	return 0
621}
622
623// A required value for a RequiredMeasurement at a given MPC level.
624type RequiredValue struct {
625	state         protoimpl.MessageState
626	sizeCache     protoimpl.SizeCache
627	unknownFields protoimpl.UnknownFields
628
629	// The id is a field name safe string.
630	Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
631	// Types that are assignable to Value:
632	//
633	//	*RequiredValue_StringValue
634	//	*RequiredValue_IntValue
635	//	*RequiredValue_DoubleValue
636	//	*RequiredValue_BoolValue
637	//	*RequiredValue_LongValue
638	//	*RequiredValue_FloatValue
639	Value isRequiredValue_Value `protobuf_oneof:"value"`
640}
641
642func (x *RequiredValue) Reset() {
643	*x = RequiredValue{}
644	if protoimpl.UnsafeEnabled {
645		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[4]
646		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
647		ms.StoreMessageInfo(mi)
648	}
649}
650
651func (x *RequiredValue) String() string {
652	return protoimpl.X.MessageStringOf(x)
653}
654
655func (*RequiredValue) ProtoMessage() {}
656
657func (x *RequiredValue) ProtoReflect() protoreflect.Message {
658	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[4]
659	if protoimpl.UnsafeEnabled && x != nil {
660		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
661		if ms.LoadMessageInfo() == nil {
662			ms.StoreMessageInfo(mi)
663		}
664		return ms
665	}
666	return mi.MessageOf(x)
667}
668
669// Deprecated: Use RequiredValue.ProtoReflect.Descriptor instead.
670func (*RequiredValue) Descriptor() ([]byte, []int) {
671	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{4}
672}
673
674func (x *RequiredValue) GetId() string {
675	if x != nil && x.Id != nil {
676		return *x.Id
677	}
678	return ""
679}
680
681func (m *RequiredValue) GetValue() isRequiredValue_Value {
682	if m != nil {
683		return m.Value
684	}
685	return nil
686}
687
688func (x *RequiredValue) GetStringValue() string {
689	if x, ok := x.GetValue().(*RequiredValue_StringValue); ok {
690		return x.StringValue
691	}
692	return ""
693}
694
695func (x *RequiredValue) GetIntValue() int64 {
696	if x, ok := x.GetValue().(*RequiredValue_IntValue); ok {
697		return x.IntValue
698	}
699	return 0
700}
701
702func (x *RequiredValue) GetDoubleValue() float64 {
703	if x, ok := x.GetValue().(*RequiredValue_DoubleValue); ok {
704		return x.DoubleValue
705	}
706	return 0
707}
708
709func (x *RequiredValue) GetBoolValue() bool {
710	if x, ok := x.GetValue().(*RequiredValue_BoolValue); ok {
711		return x.BoolValue
712	}
713	return false
714}
715
716func (x *RequiredValue) GetLongValue() int64 {
717	if x, ok := x.GetValue().(*RequiredValue_LongValue); ok {
718		return x.LongValue
719	}
720	return 0
721}
722
723func (x *RequiredValue) GetFloatValue() float32 {
724	if x, ok := x.GetValue().(*RequiredValue_FloatValue); ok {
725		return x.FloatValue
726	}
727	return 0
728}
729
730type isRequiredValue_Value interface {
731	isRequiredValue_Value()
732}
733
734type RequiredValue_StringValue struct {
735	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,oneof"`
736}
737
738type RequiredValue_IntValue struct {
739	IntValue int64 `protobuf:"varint,4,opt,name=int_value,json=intValue,oneof"`
740}
741
742type RequiredValue_DoubleValue struct {
743	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,oneof"`
744}
745
746type RequiredValue_BoolValue struct {
747	BoolValue bool `protobuf:"varint,6,opt,name=bool_value,json=boolValue,oneof"`
748}
749
750type RequiredValue_LongValue struct {
751	LongValue int64 `protobuf:"varint,7,opt,name=long_value,json=longValue,oneof"`
752}
753
754type RequiredValue_FloatValue struct {
755	FloatValue float32 `protobuf:"fixed32,8,opt,name=float_value,json=floatValue,oneof"`
756}
757
758func (*RequiredValue_StringValue) isRequiredValue_Value() {}
759
760func (*RequiredValue_IntValue) isRequiredValue_Value() {}
761
762func (*RequiredValue_DoubleValue) isRequiredValue_Value() {}
763
764func (*RequiredValue_BoolValue) isRequiredValue_Value() {}
765
766func (*RequiredValue_LongValue) isRequiredValue_Value() {}
767
768func (*RequiredValue_FloatValue) isRequiredValue_Value() {}
769
770// Variants are used when an alternative set of required values should apply
771type Variant struct {
772	state         protoimpl.MessageState
773	sizeCache     protoimpl.SizeCache
774	unknownFields protoimpl.UnknownFields
775
776	// When the variant should be used.
777	Description *string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
778}
779
780func (x *Variant) Reset() {
781	*x = Variant{}
782	if protoimpl.UnsafeEnabled {
783		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[5]
784		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
785		ms.StoreMessageInfo(mi)
786	}
787}
788
789func (x *Variant) String() string {
790	return protoimpl.X.MessageStringOf(x)
791}
792
793func (*Variant) ProtoMessage() {}
794
795func (x *Variant) ProtoReflect() protoreflect.Message {
796	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[5]
797	if protoimpl.UnsafeEnabled && x != nil {
798		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
799		if ms.LoadMessageInfo() == nil {
800			ms.StoreMessageInfo(mi)
801		}
802		return ms
803	}
804	return mi.MessageOf(x)
805}
806
807// Deprecated: Use Variant.ProtoReflect.Descriptor instead.
808func (*Variant) Descriptor() ([]byte, []int) {
809	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{5}
810}
811
812func (x *Variant) GetDescription() string {
813	if x != nil && x.Description != nil {
814		return *x.Description
815	}
816	return ""
817}
818
819// The set values required for a variant
820type VariantSpec struct {
821	state         protoimpl.MessageState
822	sizeCache     protoimpl.SizeCache
823	unknownFields protoimpl.UnknownFields
824
825	// measurement_id to RequiredMeasurements
826	//
827	// The measurement_id is a field name safe string.
828	// The measurement_id must match the id of a RequiredMeasurement in the parent
829	// Requirement.
830	RequiredValues map[string]*RequiredValue `protobuf:"bytes,4,rep,name=required_values,json=requiredValues" json:"required_values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
831}
832
833func (x *VariantSpec) Reset() {
834	*x = VariantSpec{}
835	if protoimpl.UnsafeEnabled {
836		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[6]
837		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
838		ms.StoreMessageInfo(mi)
839	}
840}
841
842func (x *VariantSpec) String() string {
843	return protoimpl.X.MessageStringOf(x)
844}
845
846func (*VariantSpec) ProtoMessage() {}
847
848func (x *VariantSpec) ProtoReflect() protoreflect.Message {
849	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[6]
850	if protoimpl.UnsafeEnabled && x != nil {
851		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
852		if ms.LoadMessageInfo() == nil {
853			ms.StoreMessageInfo(mi)
854		}
855		return ms
856	}
857	return mi.MessageOf(x)
858}
859
860// Deprecated: Use VariantSpec.ProtoReflect.Descriptor instead.
861func (*VariantSpec) Descriptor() ([]byte, []int) {
862	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{6}
863}
864
865func (x *VariantSpec) GetRequiredValues() map[string]*RequiredValue {
866	if x != nil {
867		return x.RequiredValues
868	}
869	return nil
870}
871
872type TestConfig struct {
873	state         protoimpl.MessageState
874	sizeCache     protoimpl.SizeCache
875	unknownFields protoimpl.UnknownFields
876
877	Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
878	// The proto field number of the test config. Must be unique across all
879	// requirements.
880	ProtoFieldNumber *int32 `protobuf:"varint,3,opt,name=proto_field_number,json=protoFieldNumber" json:"proto_field_number,omitempty"`
881}
882
883func (x *TestConfig) Reset() {
884	*x = TestConfig{}
885	if protoimpl.UnsafeEnabled {
886		mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[7]
887		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
888		ms.StoreMessageInfo(mi)
889	}
890}
891
892func (x *TestConfig) String() string {
893	return protoimpl.X.MessageStringOf(x)
894}
895
896func (*TestConfig) ProtoMessage() {}
897
898func (x *TestConfig) ProtoReflect() protoreflect.Message {
899	mi := &file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[7]
900	if protoimpl.UnsafeEnabled && x != nil {
901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
902		if ms.LoadMessageInfo() == nil {
903			ms.StoreMessageInfo(mi)
904		}
905		return ms
906	}
907	return mi.MessageOf(x)
908}
909
910// Deprecated: Use TestConfig.ProtoReflect.Descriptor instead.
911func (*TestConfig) Descriptor() ([]byte, []int) {
912	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP(), []int{7}
913}
914
915func (x *TestConfig) GetDescription() string {
916	if x != nil && x.Description != nil {
917		return *x.Description
918	}
919	return ""
920}
921
922func (x *TestConfig) GetProtoFieldNumber() int32 {
923	if x != nil && x.ProtoFieldNumber != nil {
924		return *x.ProtoFieldNumber
925	}
926	return 0
927}
928
929var File_cts_tests_mediapc_requirements_requirements_proto protoreflect.FileDescriptor
930
931var file_cts_tests_mediapc_requirements_requirements_proto_rawDesc = []byte{
932	0x0a, 0x31, 0x63, 0x74, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x6d, 0x65, 0x64, 0x69,
933	0x61, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
934	0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72,
935	0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64,
936	0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c,
937	0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
938	0x1a, 0x28, 0x63, 0x74, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x6d, 0x65, 0x64, 0x69,
939	0x61, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
940	0x2f, 0x6d, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x52,
941	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5c,
942	0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,
943	0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d,
944	0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
945	0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e,
946	0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c,
947	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x08,
948	0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x70, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02,
949	0x10, 0x01, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x4d, 0x70, 0x63, 0x73, 0x22, 0xd0, 0x08, 0x0a, 0x0b,
950	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
951	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
952	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
953	0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
954	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
955	0x6e, 0x12, 0x48, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
956	0x32, 0x32, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61,
957	0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73,
958	0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x47,
959	0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x59, 0x0a, 0x05, 0x73,
960	0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x61, 0x6e, 0x64,
961	0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f,
962	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75,
963	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
964	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
965	0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12, 0x6e, 0x0a, 0x0c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72,
966	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x61,
967	0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72,
968	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65,
969	0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69,
970	0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65,
971	0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72,
972	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x6e,
973	0x5f, 0x63, 0x74, 0x73, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x3a,
974	0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0c, 0x69, 0x73, 0x4e, 0x6f, 0x6e, 0x43, 0x74, 0x73,
975	0x54, 0x65, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
976	0x66, 0x69, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x61, 0x6e, 0x64,
977	0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f,
978	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75,
979	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
980	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
981	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
982	0x67, 0x73, 0x12, 0x62, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x39,
983	0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d,
984	0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
985	0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e,
986	0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56,
987	0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x76, 0x61,
988	0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x76, 0x0a, 0x0a, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45,
989	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
990	0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x52, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
991	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
992	0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
993	0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65,
994	0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
995	0x70, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81,
996	0x01, 0x0a, 0x11, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45,
997	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
998	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
999	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
1000	0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
1001	0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65,
1002	0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73,
1003	0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
1004	0x38, 0x01, 0x1a, 0x77, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1005	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
1006	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
1007	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
1008	0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
1009	0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
1010	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1011	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x71, 0x0a, 0x0d, 0x56,
1012	0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
1013	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a,
1014	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e,
1015	0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65,
1016	0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72,
1017	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x56, 0x61, 0x72, 0x69,
1018	0x61, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x92,
1019	0x05, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70,
1020	0x65, 0x63, 0x12, 0x47, 0x0a, 0x03, 0x6d, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
1021	0x35, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e,
1022	0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73,
1023	0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
1024	0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x03, 0x6d, 0x70, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x73,
1025	0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
1026	0x28, 0x09, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
1027	0x6e, 0x12, 0x79, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x61,
1028	0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x61, 0x6e, 0x64,
1029	0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f,
1030	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75,
1031	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
1032	0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
1033	0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65,
1034	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0d,
1035	0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20,
1036	0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65,
1037	0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63,
1038	0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
1039	0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65,
1040	0x63, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45, 0x6e,
1041	0x74, 0x72, 0x79, 0x52, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63,
1042	0x73, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1043	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x0c, 0x74, 0x65, 0x73,
1044	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x1a, 0x7d, 0x0a, 0x13, 0x52, 0x65, 0x71,
1045	0x75, 0x69, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
1046	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
1047	0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1048	0x0b, 0x32, 0x3a, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69,
1049	0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61,
1050	0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e,
1051	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
1052	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a, 0x11, 0x56, 0x61, 0x72, 0x69,
1053	0x61, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
1054	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
1055	0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38,
1056	0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70,
1057	0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e,
1058	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x56, 0x61, 0x72,
1059	0x69, 0x61, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
1060	0x02, 0x38, 0x01, 0x22, 0xbd, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
1061	0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
1062	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64,
1063	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
1064	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a,
1065	0x10, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70,
1066	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
1067	0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
1068	0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
1069	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e,
1070	0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65,
1071	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72,
1072	0x69, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x61, 0x6e, 0x64,
1073	0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f,
1074	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75,
1075	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69,
1076	0x73, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12,
1077	0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e,
1078	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f,
1079	0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x04, 0x08,
1080	0x05, 0x10, 0x06, 0x22, 0xfc, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
1081	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
1082	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
1083	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73,
1084	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e,
1085	0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
1086	0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75,
1087	0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48,
1088	0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f,
1089	0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01,
1090	0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
1091	0x1f, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20,
1092	0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
1093	0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
1094	0x08, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
1095	0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x04, 0x08, 0x02,
1096	0x10, 0x03, 0x22, 0x2b, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a,
1097	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
1098	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
1099	0x83, 0x02, 0x0a, 0x0b, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12,
1100	0x75, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75,
1101	0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
1102	0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
1103	0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
1104	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x70,
1105	0x65, 0x63, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65,
1106	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
1107	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x7d, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
1108	0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
1109	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
1110	0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a,
1111	0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x70,
1112	0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e,
1113	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x71,
1114	0x75, 0x69, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
1115	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x62, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e,
1116	0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
1117	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
1118	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x66,
1119	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
1120	0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d,
1121	0x62, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x2a, 0x6c, 0x0a, 0x05, 0x47, 0x72, 0x6f,
1122	0x75, 0x70, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50,
1123	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x52, 0x4f,
1124	0x55, 0x50, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52,
1125	0x4f, 0x55, 0x50, 0x5f, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e,
1126	0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x57, 0x41, 0x52, 0x45, 0x10, 0x03,
1127	0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x45, 0x52, 0x46, 0x4f, 0x52,
1128	0x4d, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x04, 0x2a, 0xab, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70,
1129	0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52,
1130	0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
1131	0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e,
1132	0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50,
1133	0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e,
1134	0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e,
1135	0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51,
1136	0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49,
1137	0x53, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e,
1138	0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e,
1139	0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52,
1140	0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50,
1141	0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x4f, 0x4e, 0x4c, 0x59,
1142	0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e,
1143	0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x4f, 0x4d,
1144	0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x5f, 0x48,
1145	0x41, 0x52, 0x44, 0x57, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x47, 0x52,
1146	0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51,
1147	0x55, 0x41, 0x4c, 0x10, 0x08, 0x2a, 0xd9, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72,
1148	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x45, 0x41,
1149	0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
1150	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d,
1151	0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
1152	0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52,
1153	0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c,
1154	0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45,
1155	0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x1b, 0x0a,
1156	0x17, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50,
1157	0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x45,
1158	0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c,
1159	0x4f, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45,
1160	0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10,
1161	0x06, 0x42, 0x37, 0x50, 0x01, 0x5a, 0x33, 0x63, 0x74, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f,
1162	0x6d, 0x65, 0x64, 0x69, 0x61, 0x70, 0x63, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d,
1163	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
1164	0x73, 0x5f, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1165}
1166
1167var (
1168	file_cts_tests_mediapc_requirements_requirements_proto_rawDescOnce sync.Once
1169	file_cts_tests_mediapc_requirements_requirements_proto_rawDescData = file_cts_tests_mediapc_requirements_requirements_proto_rawDesc
1170)
1171
1172func file_cts_tests_mediapc_requirements_requirements_proto_rawDescGZIP() []byte {
1173	file_cts_tests_mediapc_requirements_requirements_proto_rawDescOnce.Do(func() {
1174		file_cts_tests_mediapc_requirements_requirements_proto_rawDescData = protoimpl.X.CompressGZIP(file_cts_tests_mediapc_requirements_requirements_proto_rawDescData)
1175	})
1176	return file_cts_tests_mediapc_requirements_requirements_proto_rawDescData
1177}
1178
1179var file_cts_tests_mediapc_requirements_requirements_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
1180var file_cts_tests_mediapc_requirements_requirements_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
1181var file_cts_tests_mediapc_requirements_requirements_proto_goTypes = []interface{}{
1182	(Group)(0),                              // 0: android.media.performanceclass.requirements.Group
1183	(Comparison)(0),                         // 1: android.media.performanceclass.requirements.Comparison
1184	(MeasurementType)(0),                    // 2: android.media.performanceclass.requirements.MeasurementType
1185	(*RequirementList)(nil),                 // 3: android.media.performanceclass.requirements.RequirementList
1186	(*Requirement)(nil),                     // 4: android.media.performanceclass.requirements.Requirement
1187	(*RequirementSpec)(nil),                 // 5: android.media.performanceclass.requirements.RequirementSpec
1188	(*RequiredMeasurement)(nil),             // 6: android.media.performanceclass.requirements.RequiredMeasurement
1189	(*RequiredValue)(nil),                   // 7: android.media.performanceclass.requirements.RequiredValue
1190	(*Variant)(nil),                         // 8: android.media.performanceclass.requirements.Variant
1191	(*VariantSpec)(nil),                     // 9: android.media.performanceclass.requirements.VariantSpec
1192	(*TestConfig)(nil),                      // 10: android.media.performanceclass.requirements.TestConfig
1193	nil,                                     // 11: android.media.performanceclass.requirements.Requirement.SpecsEntry
1194	nil,                                     // 12: android.media.performanceclass.requirements.Requirement.MeasurementsEntry
1195	nil,                                     // 13: android.media.performanceclass.requirements.Requirement.TestConfigsEntry
1196	nil,                                     // 14: android.media.performanceclass.requirements.Requirement.VariantsEntry
1197	nil,                                     // 15: android.media.performanceclass.requirements.RequirementSpec.RequiredValuesEntry
1198	nil,                                     // 16: android.media.performanceclass.requirements.RequirementSpec.VariantSpecsEntry
1199	nil,                                     // 17: android.media.performanceclass.requirements.VariantSpec.RequiredValuesEntry
1200	(mpc_go_proto.MediaPerformanceClass)(0), // 18: android.media.performanceclass.MediaPerformanceClass
1201}
1202var file_cts_tests_mediapc_requirements_requirements_proto_depIdxs = []int32{
1203	4,  // 0: android.media.performanceclass.requirements.RequirementList.requirements:type_name -> android.media.performanceclass.requirements.Requirement
1204	0,  // 1: android.media.performanceclass.requirements.Requirement.group:type_name -> android.media.performanceclass.requirements.Group
1205	11, // 2: android.media.performanceclass.requirements.Requirement.specs:type_name -> android.media.performanceclass.requirements.Requirement.SpecsEntry
1206	12, // 3: android.media.performanceclass.requirements.Requirement.measurements:type_name -> android.media.performanceclass.requirements.Requirement.MeasurementsEntry
1207	13, // 4: android.media.performanceclass.requirements.Requirement.test_configs:type_name -> android.media.performanceclass.requirements.Requirement.TestConfigsEntry
1208	14, // 5: android.media.performanceclass.requirements.Requirement.variants:type_name -> android.media.performanceclass.requirements.Requirement.VariantsEntry
1209	18, // 6: android.media.performanceclass.requirements.RequirementSpec.mpc:type_name -> android.media.performanceclass.MediaPerformanceClass
1210	15, // 7: android.media.performanceclass.requirements.RequirementSpec.required_values:type_name -> android.media.performanceclass.requirements.RequirementSpec.RequiredValuesEntry
1211	16, // 8: android.media.performanceclass.requirements.RequirementSpec.variant_specs:type_name -> android.media.performanceclass.requirements.RequirementSpec.VariantSpecsEntry
1212	2,  // 9: android.media.performanceclass.requirements.RequiredMeasurement.measurement_type:type_name -> android.media.performanceclass.requirements.MeasurementType
1213	1,  // 10: android.media.performanceclass.requirements.RequiredMeasurement.comparison:type_name -> android.media.performanceclass.requirements.Comparison
1214	17, // 11: android.media.performanceclass.requirements.VariantSpec.required_values:type_name -> android.media.performanceclass.requirements.VariantSpec.RequiredValuesEntry
1215	5,  // 12: android.media.performanceclass.requirements.Requirement.SpecsEntry.value:type_name -> android.media.performanceclass.requirements.RequirementSpec
1216	6,  // 13: android.media.performanceclass.requirements.Requirement.MeasurementsEntry.value:type_name -> android.media.performanceclass.requirements.RequiredMeasurement
1217	10, // 14: android.media.performanceclass.requirements.Requirement.TestConfigsEntry.value:type_name -> android.media.performanceclass.requirements.TestConfig
1218	8,  // 15: android.media.performanceclass.requirements.Requirement.VariantsEntry.value:type_name -> android.media.performanceclass.requirements.Variant
1219	7,  // 16: android.media.performanceclass.requirements.RequirementSpec.RequiredValuesEntry.value:type_name -> android.media.performanceclass.requirements.RequiredValue
1220	9,  // 17: android.media.performanceclass.requirements.RequirementSpec.VariantSpecsEntry.value:type_name -> android.media.performanceclass.requirements.VariantSpec
1221	7,  // 18: android.media.performanceclass.requirements.VariantSpec.RequiredValuesEntry.value:type_name -> android.media.performanceclass.requirements.RequiredValue
1222	19, // [19:19] is the sub-list for method output_type
1223	19, // [19:19] is the sub-list for method input_type
1224	19, // [19:19] is the sub-list for extension type_name
1225	19, // [19:19] is the sub-list for extension extendee
1226	0,  // [0:19] is the sub-list for field type_name
1227}
1228
1229func init() { file_cts_tests_mediapc_requirements_requirements_proto_init() }
1230func file_cts_tests_mediapc_requirements_requirements_proto_init() {
1231	if File_cts_tests_mediapc_requirements_requirements_proto != nil {
1232		return
1233	}
1234	if !protoimpl.UnsafeEnabled {
1235		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1236			switch v := v.(*RequirementList); i {
1237			case 0:
1238				return &v.state
1239			case 1:
1240				return &v.sizeCache
1241			case 2:
1242				return &v.unknownFields
1243			default:
1244				return nil
1245			}
1246		}
1247		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1248			switch v := v.(*Requirement); i {
1249			case 0:
1250				return &v.state
1251			case 1:
1252				return &v.sizeCache
1253			case 2:
1254				return &v.unknownFields
1255			default:
1256				return nil
1257			}
1258		}
1259		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1260			switch v := v.(*RequirementSpec); i {
1261			case 0:
1262				return &v.state
1263			case 1:
1264				return &v.sizeCache
1265			case 2:
1266				return &v.unknownFields
1267			default:
1268				return nil
1269			}
1270		}
1271		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1272			switch v := v.(*RequiredMeasurement); i {
1273			case 0:
1274				return &v.state
1275			case 1:
1276				return &v.sizeCache
1277			case 2:
1278				return &v.unknownFields
1279			default:
1280				return nil
1281			}
1282		}
1283		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1284			switch v := v.(*RequiredValue); i {
1285			case 0:
1286				return &v.state
1287			case 1:
1288				return &v.sizeCache
1289			case 2:
1290				return &v.unknownFields
1291			default:
1292				return nil
1293			}
1294		}
1295		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1296			switch v := v.(*Variant); i {
1297			case 0:
1298				return &v.state
1299			case 1:
1300				return &v.sizeCache
1301			case 2:
1302				return &v.unknownFields
1303			default:
1304				return nil
1305			}
1306		}
1307		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1308			switch v := v.(*VariantSpec); i {
1309			case 0:
1310				return &v.state
1311			case 1:
1312				return &v.sizeCache
1313			case 2:
1314				return &v.unknownFields
1315			default:
1316				return nil
1317			}
1318		}
1319		file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1320			switch v := v.(*TestConfig); i {
1321			case 0:
1322				return &v.state
1323			case 1:
1324				return &v.sizeCache
1325			case 2:
1326				return &v.unknownFields
1327			default:
1328				return nil
1329			}
1330		}
1331	}
1332	file_cts_tests_mediapc_requirements_requirements_proto_msgTypes[4].OneofWrappers = []interface{}{
1333		(*RequiredValue_StringValue)(nil),
1334		(*RequiredValue_IntValue)(nil),
1335		(*RequiredValue_DoubleValue)(nil),
1336		(*RequiredValue_BoolValue)(nil),
1337		(*RequiredValue_LongValue)(nil),
1338		(*RequiredValue_FloatValue)(nil),
1339	}
1340	type x struct{}
1341	out := protoimpl.TypeBuilder{
1342		File: protoimpl.DescBuilder{
1343			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1344			RawDescriptor: file_cts_tests_mediapc_requirements_requirements_proto_rawDesc,
1345			NumEnums:      3,
1346			NumMessages:   15,
1347			NumExtensions: 0,
1348			NumServices:   0,
1349		},
1350		GoTypes:           file_cts_tests_mediapc_requirements_requirements_proto_goTypes,
1351		DependencyIndexes: file_cts_tests_mediapc_requirements_requirements_proto_depIdxs,
1352		EnumInfos:         file_cts_tests_mediapc_requirements_requirements_proto_enumTypes,
1353		MessageInfos:      file_cts_tests_mediapc_requirements_requirements_proto_msgTypes,
1354	}.Build()
1355	File_cts_tests_mediapc_requirements_requirements_proto = out.File
1356	file_cts_tests_mediapc_requirements_requirements_proto_rawDesc = nil
1357	file_cts_tests_mediapc_requirements_requirements_proto_goTypes = nil
1358	file_cts_tests_mediapc_requirements_requirements_proto_depIdxs = nil
1359}
1360