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