1// Code generated by protoc-gen-go. DO NOT EDIT. 2// versions: 3// protoc-gen-go v1.26.0 4// protoc v3.17.3 5// source: validate/validate.proto 6 7package validate 8 9import ( 10 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 descriptorpb "google.golang.org/protobuf/types/descriptorpb" 13 durationpb "google.golang.org/protobuf/types/known/durationpb" 14 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 15 reflect "reflect" 16 sync "sync" 17) 18 19const ( 20 // Verify that this generated code is sufficiently up-to-date. 21 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 22 // Verify that runtime/protoimpl is sufficiently up-to-date. 23 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 24) 25 26// WellKnownRegex contain some well-known patterns. 27type KnownRegex int32 28 29const ( 30 KnownRegex_UNKNOWN KnownRegex = 0 31 // HTTP header name as defined by RFC 7230. 32 KnownRegex_HTTP_HEADER_NAME KnownRegex = 1 33 // HTTP header value as defined by RFC 7230. 34 KnownRegex_HTTP_HEADER_VALUE KnownRegex = 2 35) 36 37// Enum value maps for KnownRegex. 38var ( 39 KnownRegex_name = map[int32]string{ 40 0: "UNKNOWN", 41 1: "HTTP_HEADER_NAME", 42 2: "HTTP_HEADER_VALUE", 43 } 44 KnownRegex_value = map[string]int32{ 45 "UNKNOWN": 0, 46 "HTTP_HEADER_NAME": 1, 47 "HTTP_HEADER_VALUE": 2, 48 } 49) 50 51func (x KnownRegex) Enum() *KnownRegex { 52 p := new(KnownRegex) 53 *p = x 54 return p 55} 56 57func (x KnownRegex) String() string { 58 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 59} 60 61func (KnownRegex) Descriptor() protoreflect.EnumDescriptor { 62 return file_validate_validate_proto_enumTypes[0].Descriptor() 63} 64 65func (KnownRegex) Type() protoreflect.EnumType { 66 return &file_validate_validate_proto_enumTypes[0] 67} 68 69func (x KnownRegex) Number() protoreflect.EnumNumber { 70 return protoreflect.EnumNumber(x) 71} 72 73// Deprecated: Do not use. 74func (x *KnownRegex) UnmarshalJSON(b []byte) error { 75 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 76 if err != nil { 77 return err 78 } 79 *x = KnownRegex(num) 80 return nil 81} 82 83// Deprecated: Use KnownRegex.Descriptor instead. 84func (KnownRegex) EnumDescriptor() ([]byte, []int) { 85 return file_validate_validate_proto_rawDescGZIP(), []int{0} 86} 87 88// FieldRules encapsulates the rules for each type of field. Depending on the 89// field, the correct set should be used to ensure proper validations. 90type FieldRules struct { 91 state protoimpl.MessageState 92 sizeCache protoimpl.SizeCache 93 unknownFields protoimpl.UnknownFields 94 95 Message *MessageRules `protobuf:"bytes,17,opt,name=message" json:"message,omitempty"` 96 // Types that are assignable to Type: 97 // *FieldRules_Float 98 // *FieldRules_Double 99 // *FieldRules_Int32 100 // *FieldRules_Int64 101 // *FieldRules_Uint32 102 // *FieldRules_Uint64 103 // *FieldRules_Sint32 104 // *FieldRules_Sint64 105 // *FieldRules_Fixed32 106 // *FieldRules_Fixed64 107 // *FieldRules_Sfixed32 108 // *FieldRules_Sfixed64 109 // *FieldRules_Bool 110 // *FieldRules_String_ 111 // *FieldRules_Bytes 112 // *FieldRules_Enum 113 // *FieldRules_Repeated 114 // *FieldRules_Map 115 // *FieldRules_Any 116 // *FieldRules_Duration 117 // *FieldRules_Timestamp 118 Type isFieldRules_Type `protobuf_oneof:"type"` 119} 120 121func (x *FieldRules) Reset() { 122 *x = FieldRules{} 123 if protoimpl.UnsafeEnabled { 124 mi := &file_validate_validate_proto_msgTypes[0] 125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 126 ms.StoreMessageInfo(mi) 127 } 128} 129 130func (x *FieldRules) String() string { 131 return protoimpl.X.MessageStringOf(x) 132} 133 134func (*FieldRules) ProtoMessage() {} 135 136func (x *FieldRules) ProtoReflect() protoreflect.Message { 137 mi := &file_validate_validate_proto_msgTypes[0] 138 if protoimpl.UnsafeEnabled && x != nil { 139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 140 if ms.LoadMessageInfo() == nil { 141 ms.StoreMessageInfo(mi) 142 } 143 return ms 144 } 145 return mi.MessageOf(x) 146} 147 148// Deprecated: Use FieldRules.ProtoReflect.Descriptor instead. 149func (*FieldRules) Descriptor() ([]byte, []int) { 150 return file_validate_validate_proto_rawDescGZIP(), []int{0} 151} 152 153func (x *FieldRules) GetMessage() *MessageRules { 154 if x != nil { 155 return x.Message 156 } 157 return nil 158} 159 160func (m *FieldRules) GetType() isFieldRules_Type { 161 if m != nil { 162 return m.Type 163 } 164 return nil 165} 166 167func (x *FieldRules) GetFloat() *FloatRules { 168 if x, ok := x.GetType().(*FieldRules_Float); ok { 169 return x.Float 170 } 171 return nil 172} 173 174func (x *FieldRules) GetDouble() *DoubleRules { 175 if x, ok := x.GetType().(*FieldRules_Double); ok { 176 return x.Double 177 } 178 return nil 179} 180 181func (x *FieldRules) GetInt32() *Int32Rules { 182 if x, ok := x.GetType().(*FieldRules_Int32); ok { 183 return x.Int32 184 } 185 return nil 186} 187 188func (x *FieldRules) GetInt64() *Int64Rules { 189 if x, ok := x.GetType().(*FieldRules_Int64); ok { 190 return x.Int64 191 } 192 return nil 193} 194 195func (x *FieldRules) GetUint32() *UInt32Rules { 196 if x, ok := x.GetType().(*FieldRules_Uint32); ok { 197 return x.Uint32 198 } 199 return nil 200} 201 202func (x *FieldRules) GetUint64() *UInt64Rules { 203 if x, ok := x.GetType().(*FieldRules_Uint64); ok { 204 return x.Uint64 205 } 206 return nil 207} 208 209func (x *FieldRules) GetSint32() *SInt32Rules { 210 if x, ok := x.GetType().(*FieldRules_Sint32); ok { 211 return x.Sint32 212 } 213 return nil 214} 215 216func (x *FieldRules) GetSint64() *SInt64Rules { 217 if x, ok := x.GetType().(*FieldRules_Sint64); ok { 218 return x.Sint64 219 } 220 return nil 221} 222 223func (x *FieldRules) GetFixed32() *Fixed32Rules { 224 if x, ok := x.GetType().(*FieldRules_Fixed32); ok { 225 return x.Fixed32 226 } 227 return nil 228} 229 230func (x *FieldRules) GetFixed64() *Fixed64Rules { 231 if x, ok := x.GetType().(*FieldRules_Fixed64); ok { 232 return x.Fixed64 233 } 234 return nil 235} 236 237func (x *FieldRules) GetSfixed32() *SFixed32Rules { 238 if x, ok := x.GetType().(*FieldRules_Sfixed32); ok { 239 return x.Sfixed32 240 } 241 return nil 242} 243 244func (x *FieldRules) GetSfixed64() *SFixed64Rules { 245 if x, ok := x.GetType().(*FieldRules_Sfixed64); ok { 246 return x.Sfixed64 247 } 248 return nil 249} 250 251func (x *FieldRules) GetBool() *BoolRules { 252 if x, ok := x.GetType().(*FieldRules_Bool); ok { 253 return x.Bool 254 } 255 return nil 256} 257 258func (x *FieldRules) GetString_() *StringRules { 259 if x, ok := x.GetType().(*FieldRules_String_); ok { 260 return x.String_ 261 } 262 return nil 263} 264 265func (x *FieldRules) GetBytes() *BytesRules { 266 if x, ok := x.GetType().(*FieldRules_Bytes); ok { 267 return x.Bytes 268 } 269 return nil 270} 271 272func (x *FieldRules) GetEnum() *EnumRules { 273 if x, ok := x.GetType().(*FieldRules_Enum); ok { 274 return x.Enum 275 } 276 return nil 277} 278 279func (x *FieldRules) GetRepeated() *RepeatedRules { 280 if x, ok := x.GetType().(*FieldRules_Repeated); ok { 281 return x.Repeated 282 } 283 return nil 284} 285 286func (x *FieldRules) GetMap() *MapRules { 287 if x, ok := x.GetType().(*FieldRules_Map); ok { 288 return x.Map 289 } 290 return nil 291} 292 293func (x *FieldRules) GetAny() *AnyRules { 294 if x, ok := x.GetType().(*FieldRules_Any); ok { 295 return x.Any 296 } 297 return nil 298} 299 300func (x *FieldRules) GetDuration() *DurationRules { 301 if x, ok := x.GetType().(*FieldRules_Duration); ok { 302 return x.Duration 303 } 304 return nil 305} 306 307func (x *FieldRules) GetTimestamp() *TimestampRules { 308 if x, ok := x.GetType().(*FieldRules_Timestamp); ok { 309 return x.Timestamp 310 } 311 return nil 312} 313 314type isFieldRules_Type interface { 315 isFieldRules_Type() 316} 317 318type FieldRules_Float struct { 319 // Scalar Field Types 320 Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"` 321} 322 323type FieldRules_Double struct { 324 Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"` 325} 326 327type FieldRules_Int32 struct { 328 Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"` 329} 330 331type FieldRules_Int64 struct { 332 Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"` 333} 334 335type FieldRules_Uint32 struct { 336 Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"` 337} 338 339type FieldRules_Uint64 struct { 340 Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"` 341} 342 343type FieldRules_Sint32 struct { 344 Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"` 345} 346 347type FieldRules_Sint64 struct { 348 Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"` 349} 350 351type FieldRules_Fixed32 struct { 352 Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"` 353} 354 355type FieldRules_Fixed64 struct { 356 Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"` 357} 358 359type FieldRules_Sfixed32 struct { 360 Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"` 361} 362 363type FieldRules_Sfixed64 struct { 364 Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"` 365} 366 367type FieldRules_Bool struct { 368 Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"` 369} 370 371type FieldRules_String_ struct { 372 String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"` 373} 374 375type FieldRules_Bytes struct { 376 Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"` 377} 378 379type FieldRules_Enum struct { 380 // Complex Field Types 381 Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"` 382} 383 384type FieldRules_Repeated struct { 385 Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"` 386} 387 388type FieldRules_Map struct { 389 Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"` 390} 391 392type FieldRules_Any struct { 393 // Well-Known Field Types 394 Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"` 395} 396 397type FieldRules_Duration struct { 398 Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"` 399} 400 401type FieldRules_Timestamp struct { 402 Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"` 403} 404 405func (*FieldRules_Float) isFieldRules_Type() {} 406 407func (*FieldRules_Double) isFieldRules_Type() {} 408 409func (*FieldRules_Int32) isFieldRules_Type() {} 410 411func (*FieldRules_Int64) isFieldRules_Type() {} 412 413func (*FieldRules_Uint32) isFieldRules_Type() {} 414 415func (*FieldRules_Uint64) isFieldRules_Type() {} 416 417func (*FieldRules_Sint32) isFieldRules_Type() {} 418 419func (*FieldRules_Sint64) isFieldRules_Type() {} 420 421func (*FieldRules_Fixed32) isFieldRules_Type() {} 422 423func (*FieldRules_Fixed64) isFieldRules_Type() {} 424 425func (*FieldRules_Sfixed32) isFieldRules_Type() {} 426 427func (*FieldRules_Sfixed64) isFieldRules_Type() {} 428 429func (*FieldRules_Bool) isFieldRules_Type() {} 430 431func (*FieldRules_String_) isFieldRules_Type() {} 432 433func (*FieldRules_Bytes) isFieldRules_Type() {} 434 435func (*FieldRules_Enum) isFieldRules_Type() {} 436 437func (*FieldRules_Repeated) isFieldRules_Type() {} 438 439func (*FieldRules_Map) isFieldRules_Type() {} 440 441func (*FieldRules_Any) isFieldRules_Type() {} 442 443func (*FieldRules_Duration) isFieldRules_Type() {} 444 445func (*FieldRules_Timestamp) isFieldRules_Type() {} 446 447// FloatRules describes the constraints applied to `float` values 448type FloatRules struct { 449 state protoimpl.MessageState 450 sizeCache protoimpl.SizeCache 451 unknownFields protoimpl.UnknownFields 452 453 // Const specifies that this field must be exactly the specified value 454 Const *float32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` 455 // Lt specifies that this field must be less than the specified value, 456 // exclusive 457 Lt *float32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` 458 // Lte specifies that this field must be less than or equal to the 459 // specified value, inclusive 460 Lte *float32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` 461 // Gt specifies that this field must be greater than the specified value, 462 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 463 // range is reversed. 464 Gt *float32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` 465 // Gte specifies that this field must be greater than or equal to the 466 // specified value, inclusive. If the value of Gte is larger than a 467 // specified Lt or Lte, the range is reversed. 468 Gte *float32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` 469 // In specifies that this field must be equal to one of the specified 470 // values 471 In []float32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` 472 // NotIn specifies that this field cannot be equal to one of the specified 473 // values 474 NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 475 // IgnoreEmpty specifies that the validation rules of this field should be 476 // evaluated only if the field is not empty 477 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 478} 479 480func (x *FloatRules) Reset() { 481 *x = FloatRules{} 482 if protoimpl.UnsafeEnabled { 483 mi := &file_validate_validate_proto_msgTypes[1] 484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 485 ms.StoreMessageInfo(mi) 486 } 487} 488 489func (x *FloatRules) String() string { 490 return protoimpl.X.MessageStringOf(x) 491} 492 493func (*FloatRules) ProtoMessage() {} 494 495func (x *FloatRules) ProtoReflect() protoreflect.Message { 496 mi := &file_validate_validate_proto_msgTypes[1] 497 if protoimpl.UnsafeEnabled && x != nil { 498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 if ms.LoadMessageInfo() == nil { 500 ms.StoreMessageInfo(mi) 501 } 502 return ms 503 } 504 return mi.MessageOf(x) 505} 506 507// Deprecated: Use FloatRules.ProtoReflect.Descriptor instead. 508func (*FloatRules) Descriptor() ([]byte, []int) { 509 return file_validate_validate_proto_rawDescGZIP(), []int{1} 510} 511 512func (x *FloatRules) GetConst() float32 { 513 if x != nil && x.Const != nil { 514 return *x.Const 515 } 516 return 0 517} 518 519func (x *FloatRules) GetLt() float32 { 520 if x != nil && x.Lt != nil { 521 return *x.Lt 522 } 523 return 0 524} 525 526func (x *FloatRules) GetLte() float32 { 527 if x != nil && x.Lte != nil { 528 return *x.Lte 529 } 530 return 0 531} 532 533func (x *FloatRules) GetGt() float32 { 534 if x != nil && x.Gt != nil { 535 return *x.Gt 536 } 537 return 0 538} 539 540func (x *FloatRules) GetGte() float32 { 541 if x != nil && x.Gte != nil { 542 return *x.Gte 543 } 544 return 0 545} 546 547func (x *FloatRules) GetIn() []float32 { 548 if x != nil { 549 return x.In 550 } 551 return nil 552} 553 554func (x *FloatRules) GetNotIn() []float32 { 555 if x != nil { 556 return x.NotIn 557 } 558 return nil 559} 560 561func (x *FloatRules) GetIgnoreEmpty() bool { 562 if x != nil && x.IgnoreEmpty != nil { 563 return *x.IgnoreEmpty 564 } 565 return false 566} 567 568// DoubleRules describes the constraints applied to `double` values 569type DoubleRules struct { 570 state protoimpl.MessageState 571 sizeCache protoimpl.SizeCache 572 unknownFields protoimpl.UnknownFields 573 574 // Const specifies that this field must be exactly the specified value 575 Const *float64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` 576 // Lt specifies that this field must be less than the specified value, 577 // exclusive 578 Lt *float64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` 579 // Lte specifies that this field must be less than or equal to the 580 // specified value, inclusive 581 Lte *float64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` 582 // Gt specifies that this field must be greater than the specified value, 583 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 584 // range is reversed. 585 Gt *float64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` 586 // Gte specifies that this field must be greater than or equal to the 587 // specified value, inclusive. If the value of Gte is larger than a 588 // specified Lt or Lte, the range is reversed. 589 Gte *float64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` 590 // In specifies that this field must be equal to one of the specified 591 // values 592 In []float64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` 593 // NotIn specifies that this field cannot be equal to one of the specified 594 // values 595 NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 596 // IgnoreEmpty specifies that the validation rules of this field should be 597 // evaluated only if the field is not empty 598 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 599} 600 601func (x *DoubleRules) Reset() { 602 *x = DoubleRules{} 603 if protoimpl.UnsafeEnabled { 604 mi := &file_validate_validate_proto_msgTypes[2] 605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 606 ms.StoreMessageInfo(mi) 607 } 608} 609 610func (x *DoubleRules) String() string { 611 return protoimpl.X.MessageStringOf(x) 612} 613 614func (*DoubleRules) ProtoMessage() {} 615 616func (x *DoubleRules) ProtoReflect() protoreflect.Message { 617 mi := &file_validate_validate_proto_msgTypes[2] 618 if protoimpl.UnsafeEnabled && x != nil { 619 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 620 if ms.LoadMessageInfo() == nil { 621 ms.StoreMessageInfo(mi) 622 } 623 return ms 624 } 625 return mi.MessageOf(x) 626} 627 628// Deprecated: Use DoubleRules.ProtoReflect.Descriptor instead. 629func (*DoubleRules) Descriptor() ([]byte, []int) { 630 return file_validate_validate_proto_rawDescGZIP(), []int{2} 631} 632 633func (x *DoubleRules) GetConst() float64 { 634 if x != nil && x.Const != nil { 635 return *x.Const 636 } 637 return 0 638} 639 640func (x *DoubleRules) GetLt() float64 { 641 if x != nil && x.Lt != nil { 642 return *x.Lt 643 } 644 return 0 645} 646 647func (x *DoubleRules) GetLte() float64 { 648 if x != nil && x.Lte != nil { 649 return *x.Lte 650 } 651 return 0 652} 653 654func (x *DoubleRules) GetGt() float64 { 655 if x != nil && x.Gt != nil { 656 return *x.Gt 657 } 658 return 0 659} 660 661func (x *DoubleRules) GetGte() float64 { 662 if x != nil && x.Gte != nil { 663 return *x.Gte 664 } 665 return 0 666} 667 668func (x *DoubleRules) GetIn() []float64 { 669 if x != nil { 670 return x.In 671 } 672 return nil 673} 674 675func (x *DoubleRules) GetNotIn() []float64 { 676 if x != nil { 677 return x.NotIn 678 } 679 return nil 680} 681 682func (x *DoubleRules) GetIgnoreEmpty() bool { 683 if x != nil && x.IgnoreEmpty != nil { 684 return *x.IgnoreEmpty 685 } 686 return false 687} 688 689// Int32Rules describes the constraints applied to `int32` values 690type Int32Rules struct { 691 state protoimpl.MessageState 692 sizeCache protoimpl.SizeCache 693 unknownFields protoimpl.UnknownFields 694 695 // Const specifies that this field must be exactly the specified value 696 Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 697 // Lt specifies that this field must be less than the specified value, 698 // exclusive 699 Lt *int32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` 700 // Lte specifies that this field must be less than or equal to the 701 // specified value, inclusive 702 Lte *int32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` 703 // Gt specifies that this field must be greater than the specified value, 704 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 705 // range is reversed. 706 Gt *int32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` 707 // Gte specifies that this field must be greater than or equal to the 708 // specified value, inclusive. If the value of Gte is larger than a 709 // specified Lt or Lte, the range is reversed. 710 Gte *int32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` 711 // In specifies that this field must be equal to one of the specified 712 // values 713 In []int32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` 714 // NotIn specifies that this field cannot be equal to one of the specified 715 // values 716 NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 717 // IgnoreEmpty specifies that the validation rules of this field should be 718 // evaluated only if the field is not empty 719 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 720} 721 722func (x *Int32Rules) Reset() { 723 *x = Int32Rules{} 724 if protoimpl.UnsafeEnabled { 725 mi := &file_validate_validate_proto_msgTypes[3] 726 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 727 ms.StoreMessageInfo(mi) 728 } 729} 730 731func (x *Int32Rules) String() string { 732 return protoimpl.X.MessageStringOf(x) 733} 734 735func (*Int32Rules) ProtoMessage() {} 736 737func (x *Int32Rules) ProtoReflect() protoreflect.Message { 738 mi := &file_validate_validate_proto_msgTypes[3] 739 if protoimpl.UnsafeEnabled && x != nil { 740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 741 if ms.LoadMessageInfo() == nil { 742 ms.StoreMessageInfo(mi) 743 } 744 return ms 745 } 746 return mi.MessageOf(x) 747} 748 749// Deprecated: Use Int32Rules.ProtoReflect.Descriptor instead. 750func (*Int32Rules) Descriptor() ([]byte, []int) { 751 return file_validate_validate_proto_rawDescGZIP(), []int{3} 752} 753 754func (x *Int32Rules) GetConst() int32 { 755 if x != nil && x.Const != nil { 756 return *x.Const 757 } 758 return 0 759} 760 761func (x *Int32Rules) GetLt() int32 { 762 if x != nil && x.Lt != nil { 763 return *x.Lt 764 } 765 return 0 766} 767 768func (x *Int32Rules) GetLte() int32 { 769 if x != nil && x.Lte != nil { 770 return *x.Lte 771 } 772 return 0 773} 774 775func (x *Int32Rules) GetGt() int32 { 776 if x != nil && x.Gt != nil { 777 return *x.Gt 778 } 779 return 0 780} 781 782func (x *Int32Rules) GetGte() int32 { 783 if x != nil && x.Gte != nil { 784 return *x.Gte 785 } 786 return 0 787} 788 789func (x *Int32Rules) GetIn() []int32 { 790 if x != nil { 791 return x.In 792 } 793 return nil 794} 795 796func (x *Int32Rules) GetNotIn() []int32 { 797 if x != nil { 798 return x.NotIn 799 } 800 return nil 801} 802 803func (x *Int32Rules) GetIgnoreEmpty() bool { 804 if x != nil && x.IgnoreEmpty != nil { 805 return *x.IgnoreEmpty 806 } 807 return false 808} 809 810// Int64Rules describes the constraints applied to `int64` values 811type Int64Rules struct { 812 state protoimpl.MessageState 813 sizeCache protoimpl.SizeCache 814 unknownFields protoimpl.UnknownFields 815 816 // Const specifies that this field must be exactly the specified value 817 Const *int64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 818 // Lt specifies that this field must be less than the specified value, 819 // exclusive 820 Lt *int64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` 821 // Lte specifies that this field must be less than or equal to the 822 // specified value, inclusive 823 Lte *int64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` 824 // Gt specifies that this field must be greater than the specified value, 825 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 826 // range is reversed. 827 Gt *int64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` 828 // Gte specifies that this field must be greater than or equal to the 829 // specified value, inclusive. If the value of Gte is larger than a 830 // specified Lt or Lte, the range is reversed. 831 Gte *int64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` 832 // In specifies that this field must be equal to one of the specified 833 // values 834 In []int64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` 835 // NotIn specifies that this field cannot be equal to one of the specified 836 // values 837 NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 838 // IgnoreEmpty specifies that the validation rules of this field should be 839 // evaluated only if the field is not empty 840 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 841} 842 843func (x *Int64Rules) Reset() { 844 *x = Int64Rules{} 845 if protoimpl.UnsafeEnabled { 846 mi := &file_validate_validate_proto_msgTypes[4] 847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 848 ms.StoreMessageInfo(mi) 849 } 850} 851 852func (x *Int64Rules) String() string { 853 return protoimpl.X.MessageStringOf(x) 854} 855 856func (*Int64Rules) ProtoMessage() {} 857 858func (x *Int64Rules) ProtoReflect() protoreflect.Message { 859 mi := &file_validate_validate_proto_msgTypes[4] 860 if protoimpl.UnsafeEnabled && x != nil { 861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 862 if ms.LoadMessageInfo() == nil { 863 ms.StoreMessageInfo(mi) 864 } 865 return ms 866 } 867 return mi.MessageOf(x) 868} 869 870// Deprecated: Use Int64Rules.ProtoReflect.Descriptor instead. 871func (*Int64Rules) Descriptor() ([]byte, []int) { 872 return file_validate_validate_proto_rawDescGZIP(), []int{4} 873} 874 875func (x *Int64Rules) GetConst() int64 { 876 if x != nil && x.Const != nil { 877 return *x.Const 878 } 879 return 0 880} 881 882func (x *Int64Rules) GetLt() int64 { 883 if x != nil && x.Lt != nil { 884 return *x.Lt 885 } 886 return 0 887} 888 889func (x *Int64Rules) GetLte() int64 { 890 if x != nil && x.Lte != nil { 891 return *x.Lte 892 } 893 return 0 894} 895 896func (x *Int64Rules) GetGt() int64 { 897 if x != nil && x.Gt != nil { 898 return *x.Gt 899 } 900 return 0 901} 902 903func (x *Int64Rules) GetGte() int64 { 904 if x != nil && x.Gte != nil { 905 return *x.Gte 906 } 907 return 0 908} 909 910func (x *Int64Rules) GetIn() []int64 { 911 if x != nil { 912 return x.In 913 } 914 return nil 915} 916 917func (x *Int64Rules) GetNotIn() []int64 { 918 if x != nil { 919 return x.NotIn 920 } 921 return nil 922} 923 924func (x *Int64Rules) GetIgnoreEmpty() bool { 925 if x != nil && x.IgnoreEmpty != nil { 926 return *x.IgnoreEmpty 927 } 928 return false 929} 930 931// UInt32Rules describes the constraints applied to `uint32` values 932type UInt32Rules struct { 933 state protoimpl.MessageState 934 sizeCache protoimpl.SizeCache 935 unknownFields protoimpl.UnknownFields 936 937 // Const specifies that this field must be exactly the specified value 938 Const *uint32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 939 // Lt specifies that this field must be less than the specified value, 940 // exclusive 941 Lt *uint32 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` 942 // Lte specifies that this field must be less than or equal to the 943 // specified value, inclusive 944 Lte *uint32 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` 945 // Gt specifies that this field must be greater than the specified value, 946 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 947 // range is reversed. 948 Gt *uint32 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` 949 // Gte specifies that this field must be greater than or equal to the 950 // specified value, inclusive. If the value of Gte is larger than a 951 // specified Lt or Lte, the range is reversed. 952 Gte *uint32 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` 953 // In specifies that this field must be equal to one of the specified 954 // values 955 In []uint32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` 956 // NotIn specifies that this field cannot be equal to one of the specified 957 // values 958 NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 959 // IgnoreEmpty specifies that the validation rules of this field should be 960 // evaluated only if the field is not empty 961 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 962} 963 964func (x *UInt32Rules) Reset() { 965 *x = UInt32Rules{} 966 if protoimpl.UnsafeEnabled { 967 mi := &file_validate_validate_proto_msgTypes[5] 968 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 969 ms.StoreMessageInfo(mi) 970 } 971} 972 973func (x *UInt32Rules) String() string { 974 return protoimpl.X.MessageStringOf(x) 975} 976 977func (*UInt32Rules) ProtoMessage() {} 978 979func (x *UInt32Rules) ProtoReflect() protoreflect.Message { 980 mi := &file_validate_validate_proto_msgTypes[5] 981 if protoimpl.UnsafeEnabled && x != nil { 982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 983 if ms.LoadMessageInfo() == nil { 984 ms.StoreMessageInfo(mi) 985 } 986 return ms 987 } 988 return mi.MessageOf(x) 989} 990 991// Deprecated: Use UInt32Rules.ProtoReflect.Descriptor instead. 992func (*UInt32Rules) Descriptor() ([]byte, []int) { 993 return file_validate_validate_proto_rawDescGZIP(), []int{5} 994} 995 996func (x *UInt32Rules) GetConst() uint32 { 997 if x != nil && x.Const != nil { 998 return *x.Const 999 } 1000 return 0 1001} 1002 1003func (x *UInt32Rules) GetLt() uint32 { 1004 if x != nil && x.Lt != nil { 1005 return *x.Lt 1006 } 1007 return 0 1008} 1009 1010func (x *UInt32Rules) GetLte() uint32 { 1011 if x != nil && x.Lte != nil { 1012 return *x.Lte 1013 } 1014 return 0 1015} 1016 1017func (x *UInt32Rules) GetGt() uint32 { 1018 if x != nil && x.Gt != nil { 1019 return *x.Gt 1020 } 1021 return 0 1022} 1023 1024func (x *UInt32Rules) GetGte() uint32 { 1025 if x != nil && x.Gte != nil { 1026 return *x.Gte 1027 } 1028 return 0 1029} 1030 1031func (x *UInt32Rules) GetIn() []uint32 { 1032 if x != nil { 1033 return x.In 1034 } 1035 return nil 1036} 1037 1038func (x *UInt32Rules) GetNotIn() []uint32 { 1039 if x != nil { 1040 return x.NotIn 1041 } 1042 return nil 1043} 1044 1045func (x *UInt32Rules) GetIgnoreEmpty() bool { 1046 if x != nil && x.IgnoreEmpty != nil { 1047 return *x.IgnoreEmpty 1048 } 1049 return false 1050} 1051 1052// UInt64Rules describes the constraints applied to `uint64` values 1053type UInt64Rules struct { 1054 state protoimpl.MessageState 1055 sizeCache protoimpl.SizeCache 1056 unknownFields protoimpl.UnknownFields 1057 1058 // Const specifies that this field must be exactly the specified value 1059 Const *uint64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 1060 // Lt specifies that this field must be less than the specified value, 1061 // exclusive 1062 Lt *uint64 `protobuf:"varint,2,opt,name=lt" json:"lt,omitempty"` 1063 // Lte specifies that this field must be less than or equal to the 1064 // specified value, inclusive 1065 Lte *uint64 `protobuf:"varint,3,opt,name=lte" json:"lte,omitempty"` 1066 // Gt specifies that this field must be greater than the specified value, 1067 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1068 // range is reversed. 1069 Gt *uint64 `protobuf:"varint,4,opt,name=gt" json:"gt,omitempty"` 1070 // Gte specifies that this field must be greater than or equal to the 1071 // specified value, inclusive. If the value of Gte is larger than a 1072 // specified Lt or Lte, the range is reversed. 1073 Gte *uint64 `protobuf:"varint,5,opt,name=gte" json:"gte,omitempty"` 1074 // In specifies that this field must be equal to one of the specified 1075 // values 1076 In []uint64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` 1077 // NotIn specifies that this field cannot be equal to one of the specified 1078 // values 1079 NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1080 // IgnoreEmpty specifies that the validation rules of this field should be 1081 // evaluated only if the field is not empty 1082 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1083} 1084 1085func (x *UInt64Rules) Reset() { 1086 *x = UInt64Rules{} 1087 if protoimpl.UnsafeEnabled { 1088 mi := &file_validate_validate_proto_msgTypes[6] 1089 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1090 ms.StoreMessageInfo(mi) 1091 } 1092} 1093 1094func (x *UInt64Rules) String() string { 1095 return protoimpl.X.MessageStringOf(x) 1096} 1097 1098func (*UInt64Rules) ProtoMessage() {} 1099 1100func (x *UInt64Rules) ProtoReflect() protoreflect.Message { 1101 mi := &file_validate_validate_proto_msgTypes[6] 1102 if protoimpl.UnsafeEnabled && x != nil { 1103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1104 if ms.LoadMessageInfo() == nil { 1105 ms.StoreMessageInfo(mi) 1106 } 1107 return ms 1108 } 1109 return mi.MessageOf(x) 1110} 1111 1112// Deprecated: Use UInt64Rules.ProtoReflect.Descriptor instead. 1113func (*UInt64Rules) Descriptor() ([]byte, []int) { 1114 return file_validate_validate_proto_rawDescGZIP(), []int{6} 1115} 1116 1117func (x *UInt64Rules) GetConst() uint64 { 1118 if x != nil && x.Const != nil { 1119 return *x.Const 1120 } 1121 return 0 1122} 1123 1124func (x *UInt64Rules) GetLt() uint64 { 1125 if x != nil && x.Lt != nil { 1126 return *x.Lt 1127 } 1128 return 0 1129} 1130 1131func (x *UInt64Rules) GetLte() uint64 { 1132 if x != nil && x.Lte != nil { 1133 return *x.Lte 1134 } 1135 return 0 1136} 1137 1138func (x *UInt64Rules) GetGt() uint64 { 1139 if x != nil && x.Gt != nil { 1140 return *x.Gt 1141 } 1142 return 0 1143} 1144 1145func (x *UInt64Rules) GetGte() uint64 { 1146 if x != nil && x.Gte != nil { 1147 return *x.Gte 1148 } 1149 return 0 1150} 1151 1152func (x *UInt64Rules) GetIn() []uint64 { 1153 if x != nil { 1154 return x.In 1155 } 1156 return nil 1157} 1158 1159func (x *UInt64Rules) GetNotIn() []uint64 { 1160 if x != nil { 1161 return x.NotIn 1162 } 1163 return nil 1164} 1165 1166func (x *UInt64Rules) GetIgnoreEmpty() bool { 1167 if x != nil && x.IgnoreEmpty != nil { 1168 return *x.IgnoreEmpty 1169 } 1170 return false 1171} 1172 1173// SInt32Rules describes the constraints applied to `sint32` values 1174type SInt32Rules struct { 1175 state protoimpl.MessageState 1176 sizeCache protoimpl.SizeCache 1177 unknownFields protoimpl.UnknownFields 1178 1179 // Const specifies that this field must be exactly the specified value 1180 Const *int32 `protobuf:"zigzag32,1,opt,name=const" json:"const,omitempty"` 1181 // Lt specifies that this field must be less than the specified value, 1182 // exclusive 1183 Lt *int32 `protobuf:"zigzag32,2,opt,name=lt" json:"lt,omitempty"` 1184 // Lte specifies that this field must be less than or equal to the 1185 // specified value, inclusive 1186 Lte *int32 `protobuf:"zigzag32,3,opt,name=lte" json:"lte,omitempty"` 1187 // Gt specifies that this field must be greater than the specified value, 1188 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1189 // range is reversed. 1190 Gt *int32 `protobuf:"zigzag32,4,opt,name=gt" json:"gt,omitempty"` 1191 // Gte specifies that this field must be greater than or equal to the 1192 // specified value, inclusive. If the value of Gte is larger than a 1193 // specified Lt or Lte, the range is reversed. 1194 Gte *int32 `protobuf:"zigzag32,5,opt,name=gte" json:"gte,omitempty"` 1195 // In specifies that this field must be equal to one of the specified 1196 // values 1197 In []int32 `protobuf:"zigzag32,6,rep,name=in" json:"in,omitempty"` 1198 // NotIn specifies that this field cannot be equal to one of the specified 1199 // values 1200 NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1201 // IgnoreEmpty specifies that the validation rules of this field should be 1202 // evaluated only if the field is not empty 1203 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1204} 1205 1206func (x *SInt32Rules) Reset() { 1207 *x = SInt32Rules{} 1208 if protoimpl.UnsafeEnabled { 1209 mi := &file_validate_validate_proto_msgTypes[7] 1210 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1211 ms.StoreMessageInfo(mi) 1212 } 1213} 1214 1215func (x *SInt32Rules) String() string { 1216 return protoimpl.X.MessageStringOf(x) 1217} 1218 1219func (*SInt32Rules) ProtoMessage() {} 1220 1221func (x *SInt32Rules) ProtoReflect() protoreflect.Message { 1222 mi := &file_validate_validate_proto_msgTypes[7] 1223 if protoimpl.UnsafeEnabled && x != nil { 1224 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1225 if ms.LoadMessageInfo() == nil { 1226 ms.StoreMessageInfo(mi) 1227 } 1228 return ms 1229 } 1230 return mi.MessageOf(x) 1231} 1232 1233// Deprecated: Use SInt32Rules.ProtoReflect.Descriptor instead. 1234func (*SInt32Rules) Descriptor() ([]byte, []int) { 1235 return file_validate_validate_proto_rawDescGZIP(), []int{7} 1236} 1237 1238func (x *SInt32Rules) GetConst() int32 { 1239 if x != nil && x.Const != nil { 1240 return *x.Const 1241 } 1242 return 0 1243} 1244 1245func (x *SInt32Rules) GetLt() int32 { 1246 if x != nil && x.Lt != nil { 1247 return *x.Lt 1248 } 1249 return 0 1250} 1251 1252func (x *SInt32Rules) GetLte() int32 { 1253 if x != nil && x.Lte != nil { 1254 return *x.Lte 1255 } 1256 return 0 1257} 1258 1259func (x *SInt32Rules) GetGt() int32 { 1260 if x != nil && x.Gt != nil { 1261 return *x.Gt 1262 } 1263 return 0 1264} 1265 1266func (x *SInt32Rules) GetGte() int32 { 1267 if x != nil && x.Gte != nil { 1268 return *x.Gte 1269 } 1270 return 0 1271} 1272 1273func (x *SInt32Rules) GetIn() []int32 { 1274 if x != nil { 1275 return x.In 1276 } 1277 return nil 1278} 1279 1280func (x *SInt32Rules) GetNotIn() []int32 { 1281 if x != nil { 1282 return x.NotIn 1283 } 1284 return nil 1285} 1286 1287func (x *SInt32Rules) GetIgnoreEmpty() bool { 1288 if x != nil && x.IgnoreEmpty != nil { 1289 return *x.IgnoreEmpty 1290 } 1291 return false 1292} 1293 1294// SInt64Rules describes the constraints applied to `sint64` values 1295type SInt64Rules struct { 1296 state protoimpl.MessageState 1297 sizeCache protoimpl.SizeCache 1298 unknownFields protoimpl.UnknownFields 1299 1300 // Const specifies that this field must be exactly the specified value 1301 Const *int64 `protobuf:"zigzag64,1,opt,name=const" json:"const,omitempty"` 1302 // Lt specifies that this field must be less than the specified value, 1303 // exclusive 1304 Lt *int64 `protobuf:"zigzag64,2,opt,name=lt" json:"lt,omitempty"` 1305 // Lte specifies that this field must be less than or equal to the 1306 // specified value, inclusive 1307 Lte *int64 `protobuf:"zigzag64,3,opt,name=lte" json:"lte,omitempty"` 1308 // Gt specifies that this field must be greater than the specified value, 1309 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1310 // range is reversed. 1311 Gt *int64 `protobuf:"zigzag64,4,opt,name=gt" json:"gt,omitempty"` 1312 // Gte specifies that this field must be greater than or equal to the 1313 // specified value, inclusive. If the value of Gte is larger than a 1314 // specified Lt or Lte, the range is reversed. 1315 Gte *int64 `protobuf:"zigzag64,5,opt,name=gte" json:"gte,omitempty"` 1316 // In specifies that this field must be equal to one of the specified 1317 // values 1318 In []int64 `protobuf:"zigzag64,6,rep,name=in" json:"in,omitempty"` 1319 // NotIn specifies that this field cannot be equal to one of the specified 1320 // values 1321 NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1322 // IgnoreEmpty specifies that the validation rules of this field should be 1323 // evaluated only if the field is not empty 1324 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1325} 1326 1327func (x *SInt64Rules) Reset() { 1328 *x = SInt64Rules{} 1329 if protoimpl.UnsafeEnabled { 1330 mi := &file_validate_validate_proto_msgTypes[8] 1331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1332 ms.StoreMessageInfo(mi) 1333 } 1334} 1335 1336func (x *SInt64Rules) String() string { 1337 return protoimpl.X.MessageStringOf(x) 1338} 1339 1340func (*SInt64Rules) ProtoMessage() {} 1341 1342func (x *SInt64Rules) ProtoReflect() protoreflect.Message { 1343 mi := &file_validate_validate_proto_msgTypes[8] 1344 if protoimpl.UnsafeEnabled && x != nil { 1345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1346 if ms.LoadMessageInfo() == nil { 1347 ms.StoreMessageInfo(mi) 1348 } 1349 return ms 1350 } 1351 return mi.MessageOf(x) 1352} 1353 1354// Deprecated: Use SInt64Rules.ProtoReflect.Descriptor instead. 1355func (*SInt64Rules) Descriptor() ([]byte, []int) { 1356 return file_validate_validate_proto_rawDescGZIP(), []int{8} 1357} 1358 1359func (x *SInt64Rules) GetConst() int64 { 1360 if x != nil && x.Const != nil { 1361 return *x.Const 1362 } 1363 return 0 1364} 1365 1366func (x *SInt64Rules) GetLt() int64 { 1367 if x != nil && x.Lt != nil { 1368 return *x.Lt 1369 } 1370 return 0 1371} 1372 1373func (x *SInt64Rules) GetLte() int64 { 1374 if x != nil && x.Lte != nil { 1375 return *x.Lte 1376 } 1377 return 0 1378} 1379 1380func (x *SInt64Rules) GetGt() int64 { 1381 if x != nil && x.Gt != nil { 1382 return *x.Gt 1383 } 1384 return 0 1385} 1386 1387func (x *SInt64Rules) GetGte() int64 { 1388 if x != nil && x.Gte != nil { 1389 return *x.Gte 1390 } 1391 return 0 1392} 1393 1394func (x *SInt64Rules) GetIn() []int64 { 1395 if x != nil { 1396 return x.In 1397 } 1398 return nil 1399} 1400 1401func (x *SInt64Rules) GetNotIn() []int64 { 1402 if x != nil { 1403 return x.NotIn 1404 } 1405 return nil 1406} 1407 1408func (x *SInt64Rules) GetIgnoreEmpty() bool { 1409 if x != nil && x.IgnoreEmpty != nil { 1410 return *x.IgnoreEmpty 1411 } 1412 return false 1413} 1414 1415// Fixed32Rules describes the constraints applied to `fixed32` values 1416type Fixed32Rules struct { 1417 state protoimpl.MessageState 1418 sizeCache protoimpl.SizeCache 1419 unknownFields protoimpl.UnknownFields 1420 1421 // Const specifies that this field must be exactly the specified value 1422 Const *uint32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` 1423 // Lt specifies that this field must be less than the specified value, 1424 // exclusive 1425 Lt *uint32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` 1426 // Lte specifies that this field must be less than or equal to the 1427 // specified value, inclusive 1428 Lte *uint32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` 1429 // Gt specifies that this field must be greater than the specified value, 1430 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1431 // range is reversed. 1432 Gt *uint32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` 1433 // Gte specifies that this field must be greater than or equal to the 1434 // specified value, inclusive. If the value of Gte is larger than a 1435 // specified Lt or Lte, the range is reversed. 1436 Gte *uint32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` 1437 // In specifies that this field must be equal to one of the specified 1438 // values 1439 In []uint32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` 1440 // NotIn specifies that this field cannot be equal to one of the specified 1441 // values 1442 NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1443 // IgnoreEmpty specifies that the validation rules of this field should be 1444 // evaluated only if the field is not empty 1445 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1446} 1447 1448func (x *Fixed32Rules) Reset() { 1449 *x = Fixed32Rules{} 1450 if protoimpl.UnsafeEnabled { 1451 mi := &file_validate_validate_proto_msgTypes[9] 1452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1453 ms.StoreMessageInfo(mi) 1454 } 1455} 1456 1457func (x *Fixed32Rules) String() string { 1458 return protoimpl.X.MessageStringOf(x) 1459} 1460 1461func (*Fixed32Rules) ProtoMessage() {} 1462 1463func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { 1464 mi := &file_validate_validate_proto_msgTypes[9] 1465 if protoimpl.UnsafeEnabled && x != nil { 1466 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1467 if ms.LoadMessageInfo() == nil { 1468 ms.StoreMessageInfo(mi) 1469 } 1470 return ms 1471 } 1472 return mi.MessageOf(x) 1473} 1474 1475// Deprecated: Use Fixed32Rules.ProtoReflect.Descriptor instead. 1476func (*Fixed32Rules) Descriptor() ([]byte, []int) { 1477 return file_validate_validate_proto_rawDescGZIP(), []int{9} 1478} 1479 1480func (x *Fixed32Rules) GetConst() uint32 { 1481 if x != nil && x.Const != nil { 1482 return *x.Const 1483 } 1484 return 0 1485} 1486 1487func (x *Fixed32Rules) GetLt() uint32 { 1488 if x != nil && x.Lt != nil { 1489 return *x.Lt 1490 } 1491 return 0 1492} 1493 1494func (x *Fixed32Rules) GetLte() uint32 { 1495 if x != nil && x.Lte != nil { 1496 return *x.Lte 1497 } 1498 return 0 1499} 1500 1501func (x *Fixed32Rules) GetGt() uint32 { 1502 if x != nil && x.Gt != nil { 1503 return *x.Gt 1504 } 1505 return 0 1506} 1507 1508func (x *Fixed32Rules) GetGte() uint32 { 1509 if x != nil && x.Gte != nil { 1510 return *x.Gte 1511 } 1512 return 0 1513} 1514 1515func (x *Fixed32Rules) GetIn() []uint32 { 1516 if x != nil { 1517 return x.In 1518 } 1519 return nil 1520} 1521 1522func (x *Fixed32Rules) GetNotIn() []uint32 { 1523 if x != nil { 1524 return x.NotIn 1525 } 1526 return nil 1527} 1528 1529func (x *Fixed32Rules) GetIgnoreEmpty() bool { 1530 if x != nil && x.IgnoreEmpty != nil { 1531 return *x.IgnoreEmpty 1532 } 1533 return false 1534} 1535 1536// Fixed64Rules describes the constraints applied to `fixed64` values 1537type Fixed64Rules struct { 1538 state protoimpl.MessageState 1539 sizeCache protoimpl.SizeCache 1540 unknownFields protoimpl.UnknownFields 1541 1542 // Const specifies that this field must be exactly the specified value 1543 Const *uint64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` 1544 // Lt specifies that this field must be less than the specified value, 1545 // exclusive 1546 Lt *uint64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` 1547 // Lte specifies that this field must be less than or equal to the 1548 // specified value, inclusive 1549 Lte *uint64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` 1550 // Gt specifies that this field must be greater than the specified value, 1551 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1552 // range is reversed. 1553 Gt *uint64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` 1554 // Gte specifies that this field must be greater than or equal to the 1555 // specified value, inclusive. If the value of Gte is larger than a 1556 // specified Lt or Lte, the range is reversed. 1557 Gte *uint64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` 1558 // In specifies that this field must be equal to one of the specified 1559 // values 1560 In []uint64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` 1561 // NotIn specifies that this field cannot be equal to one of the specified 1562 // values 1563 NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1564 // IgnoreEmpty specifies that the validation rules of this field should be 1565 // evaluated only if the field is not empty 1566 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1567} 1568 1569func (x *Fixed64Rules) Reset() { 1570 *x = Fixed64Rules{} 1571 if protoimpl.UnsafeEnabled { 1572 mi := &file_validate_validate_proto_msgTypes[10] 1573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1574 ms.StoreMessageInfo(mi) 1575 } 1576} 1577 1578func (x *Fixed64Rules) String() string { 1579 return protoimpl.X.MessageStringOf(x) 1580} 1581 1582func (*Fixed64Rules) ProtoMessage() {} 1583 1584func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { 1585 mi := &file_validate_validate_proto_msgTypes[10] 1586 if protoimpl.UnsafeEnabled && x != nil { 1587 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1588 if ms.LoadMessageInfo() == nil { 1589 ms.StoreMessageInfo(mi) 1590 } 1591 return ms 1592 } 1593 return mi.MessageOf(x) 1594} 1595 1596// Deprecated: Use Fixed64Rules.ProtoReflect.Descriptor instead. 1597func (*Fixed64Rules) Descriptor() ([]byte, []int) { 1598 return file_validate_validate_proto_rawDescGZIP(), []int{10} 1599} 1600 1601func (x *Fixed64Rules) GetConst() uint64 { 1602 if x != nil && x.Const != nil { 1603 return *x.Const 1604 } 1605 return 0 1606} 1607 1608func (x *Fixed64Rules) GetLt() uint64 { 1609 if x != nil && x.Lt != nil { 1610 return *x.Lt 1611 } 1612 return 0 1613} 1614 1615func (x *Fixed64Rules) GetLte() uint64 { 1616 if x != nil && x.Lte != nil { 1617 return *x.Lte 1618 } 1619 return 0 1620} 1621 1622func (x *Fixed64Rules) GetGt() uint64 { 1623 if x != nil && x.Gt != nil { 1624 return *x.Gt 1625 } 1626 return 0 1627} 1628 1629func (x *Fixed64Rules) GetGte() uint64 { 1630 if x != nil && x.Gte != nil { 1631 return *x.Gte 1632 } 1633 return 0 1634} 1635 1636func (x *Fixed64Rules) GetIn() []uint64 { 1637 if x != nil { 1638 return x.In 1639 } 1640 return nil 1641} 1642 1643func (x *Fixed64Rules) GetNotIn() []uint64 { 1644 if x != nil { 1645 return x.NotIn 1646 } 1647 return nil 1648} 1649 1650func (x *Fixed64Rules) GetIgnoreEmpty() bool { 1651 if x != nil && x.IgnoreEmpty != nil { 1652 return *x.IgnoreEmpty 1653 } 1654 return false 1655} 1656 1657// SFixed32Rules describes the constraints applied to `sfixed32` values 1658type SFixed32Rules struct { 1659 state protoimpl.MessageState 1660 sizeCache protoimpl.SizeCache 1661 unknownFields protoimpl.UnknownFields 1662 1663 // Const specifies that this field must be exactly the specified value 1664 Const *int32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` 1665 // Lt specifies that this field must be less than the specified value, 1666 // exclusive 1667 Lt *int32 `protobuf:"fixed32,2,opt,name=lt" json:"lt,omitempty"` 1668 // Lte specifies that this field must be less than or equal to the 1669 // specified value, inclusive 1670 Lte *int32 `protobuf:"fixed32,3,opt,name=lte" json:"lte,omitempty"` 1671 // Gt specifies that this field must be greater than the specified value, 1672 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1673 // range is reversed. 1674 Gt *int32 `protobuf:"fixed32,4,opt,name=gt" json:"gt,omitempty"` 1675 // Gte specifies that this field must be greater than or equal to the 1676 // specified value, inclusive. If the value of Gte is larger than a 1677 // specified Lt or Lte, the range is reversed. 1678 Gte *int32 `protobuf:"fixed32,5,opt,name=gte" json:"gte,omitempty"` 1679 // In specifies that this field must be equal to one of the specified 1680 // values 1681 In []int32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` 1682 // NotIn specifies that this field cannot be equal to one of the specified 1683 // values 1684 NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1685 // IgnoreEmpty specifies that the validation rules of this field should be 1686 // evaluated only if the field is not empty 1687 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1688} 1689 1690func (x *SFixed32Rules) Reset() { 1691 *x = SFixed32Rules{} 1692 if protoimpl.UnsafeEnabled { 1693 mi := &file_validate_validate_proto_msgTypes[11] 1694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1695 ms.StoreMessageInfo(mi) 1696 } 1697} 1698 1699func (x *SFixed32Rules) String() string { 1700 return protoimpl.X.MessageStringOf(x) 1701} 1702 1703func (*SFixed32Rules) ProtoMessage() {} 1704 1705func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { 1706 mi := &file_validate_validate_proto_msgTypes[11] 1707 if protoimpl.UnsafeEnabled && x != nil { 1708 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1709 if ms.LoadMessageInfo() == nil { 1710 ms.StoreMessageInfo(mi) 1711 } 1712 return ms 1713 } 1714 return mi.MessageOf(x) 1715} 1716 1717// Deprecated: Use SFixed32Rules.ProtoReflect.Descriptor instead. 1718func (*SFixed32Rules) Descriptor() ([]byte, []int) { 1719 return file_validate_validate_proto_rawDescGZIP(), []int{11} 1720} 1721 1722func (x *SFixed32Rules) GetConst() int32 { 1723 if x != nil && x.Const != nil { 1724 return *x.Const 1725 } 1726 return 0 1727} 1728 1729func (x *SFixed32Rules) GetLt() int32 { 1730 if x != nil && x.Lt != nil { 1731 return *x.Lt 1732 } 1733 return 0 1734} 1735 1736func (x *SFixed32Rules) GetLte() int32 { 1737 if x != nil && x.Lte != nil { 1738 return *x.Lte 1739 } 1740 return 0 1741} 1742 1743func (x *SFixed32Rules) GetGt() int32 { 1744 if x != nil && x.Gt != nil { 1745 return *x.Gt 1746 } 1747 return 0 1748} 1749 1750func (x *SFixed32Rules) GetGte() int32 { 1751 if x != nil && x.Gte != nil { 1752 return *x.Gte 1753 } 1754 return 0 1755} 1756 1757func (x *SFixed32Rules) GetIn() []int32 { 1758 if x != nil { 1759 return x.In 1760 } 1761 return nil 1762} 1763 1764func (x *SFixed32Rules) GetNotIn() []int32 { 1765 if x != nil { 1766 return x.NotIn 1767 } 1768 return nil 1769} 1770 1771func (x *SFixed32Rules) GetIgnoreEmpty() bool { 1772 if x != nil && x.IgnoreEmpty != nil { 1773 return *x.IgnoreEmpty 1774 } 1775 return false 1776} 1777 1778// SFixed64Rules describes the constraints applied to `sfixed64` values 1779type SFixed64Rules struct { 1780 state protoimpl.MessageState 1781 sizeCache protoimpl.SizeCache 1782 unknownFields protoimpl.UnknownFields 1783 1784 // Const specifies that this field must be exactly the specified value 1785 Const *int64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` 1786 // Lt specifies that this field must be less than the specified value, 1787 // exclusive 1788 Lt *int64 `protobuf:"fixed64,2,opt,name=lt" json:"lt,omitempty"` 1789 // Lte specifies that this field must be less than or equal to the 1790 // specified value, inclusive 1791 Lte *int64 `protobuf:"fixed64,3,opt,name=lte" json:"lte,omitempty"` 1792 // Gt specifies that this field must be greater than the specified value, 1793 // exclusive. If the value of Gt is larger than a specified Lt or Lte, the 1794 // range is reversed. 1795 Gt *int64 `protobuf:"fixed64,4,opt,name=gt" json:"gt,omitempty"` 1796 // Gte specifies that this field must be greater than or equal to the 1797 // specified value, inclusive. If the value of Gte is larger than a 1798 // specified Lt or Lte, the range is reversed. 1799 Gte *int64 `protobuf:"fixed64,5,opt,name=gte" json:"gte,omitempty"` 1800 // In specifies that this field must be equal to one of the specified 1801 // values 1802 In []int64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` 1803 // NotIn specifies that this field cannot be equal to one of the specified 1804 // values 1805 NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1806 // IgnoreEmpty specifies that the validation rules of this field should be 1807 // evaluated only if the field is not empty 1808 IgnoreEmpty *bool `protobuf:"varint,8,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 1809} 1810 1811func (x *SFixed64Rules) Reset() { 1812 *x = SFixed64Rules{} 1813 if protoimpl.UnsafeEnabled { 1814 mi := &file_validate_validate_proto_msgTypes[12] 1815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1816 ms.StoreMessageInfo(mi) 1817 } 1818} 1819 1820func (x *SFixed64Rules) String() string { 1821 return protoimpl.X.MessageStringOf(x) 1822} 1823 1824func (*SFixed64Rules) ProtoMessage() {} 1825 1826func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { 1827 mi := &file_validate_validate_proto_msgTypes[12] 1828 if protoimpl.UnsafeEnabled && x != nil { 1829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1830 if ms.LoadMessageInfo() == nil { 1831 ms.StoreMessageInfo(mi) 1832 } 1833 return ms 1834 } 1835 return mi.MessageOf(x) 1836} 1837 1838// Deprecated: Use SFixed64Rules.ProtoReflect.Descriptor instead. 1839func (*SFixed64Rules) Descriptor() ([]byte, []int) { 1840 return file_validate_validate_proto_rawDescGZIP(), []int{12} 1841} 1842 1843func (x *SFixed64Rules) GetConst() int64 { 1844 if x != nil && x.Const != nil { 1845 return *x.Const 1846 } 1847 return 0 1848} 1849 1850func (x *SFixed64Rules) GetLt() int64 { 1851 if x != nil && x.Lt != nil { 1852 return *x.Lt 1853 } 1854 return 0 1855} 1856 1857func (x *SFixed64Rules) GetLte() int64 { 1858 if x != nil && x.Lte != nil { 1859 return *x.Lte 1860 } 1861 return 0 1862} 1863 1864func (x *SFixed64Rules) GetGt() int64 { 1865 if x != nil && x.Gt != nil { 1866 return *x.Gt 1867 } 1868 return 0 1869} 1870 1871func (x *SFixed64Rules) GetGte() int64 { 1872 if x != nil && x.Gte != nil { 1873 return *x.Gte 1874 } 1875 return 0 1876} 1877 1878func (x *SFixed64Rules) GetIn() []int64 { 1879 if x != nil { 1880 return x.In 1881 } 1882 return nil 1883} 1884 1885func (x *SFixed64Rules) GetNotIn() []int64 { 1886 if x != nil { 1887 return x.NotIn 1888 } 1889 return nil 1890} 1891 1892func (x *SFixed64Rules) GetIgnoreEmpty() bool { 1893 if x != nil && x.IgnoreEmpty != nil { 1894 return *x.IgnoreEmpty 1895 } 1896 return false 1897} 1898 1899// BoolRules describes the constraints applied to `bool` values 1900type BoolRules struct { 1901 state protoimpl.MessageState 1902 sizeCache protoimpl.SizeCache 1903 unknownFields protoimpl.UnknownFields 1904 1905 // Const specifies that this field must be exactly the specified value 1906 Const *bool `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 1907} 1908 1909func (x *BoolRules) Reset() { 1910 *x = BoolRules{} 1911 if protoimpl.UnsafeEnabled { 1912 mi := &file_validate_validate_proto_msgTypes[13] 1913 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1914 ms.StoreMessageInfo(mi) 1915 } 1916} 1917 1918func (x *BoolRules) String() string { 1919 return protoimpl.X.MessageStringOf(x) 1920} 1921 1922func (*BoolRules) ProtoMessage() {} 1923 1924func (x *BoolRules) ProtoReflect() protoreflect.Message { 1925 mi := &file_validate_validate_proto_msgTypes[13] 1926 if protoimpl.UnsafeEnabled && x != nil { 1927 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1928 if ms.LoadMessageInfo() == nil { 1929 ms.StoreMessageInfo(mi) 1930 } 1931 return ms 1932 } 1933 return mi.MessageOf(x) 1934} 1935 1936// Deprecated: Use BoolRules.ProtoReflect.Descriptor instead. 1937func (*BoolRules) Descriptor() ([]byte, []int) { 1938 return file_validate_validate_proto_rawDescGZIP(), []int{13} 1939} 1940 1941func (x *BoolRules) GetConst() bool { 1942 if x != nil && x.Const != nil { 1943 return *x.Const 1944 } 1945 return false 1946} 1947 1948// StringRules describe the constraints applied to `string` values 1949type StringRules struct { 1950 state protoimpl.MessageState 1951 sizeCache protoimpl.SizeCache 1952 unknownFields protoimpl.UnknownFields 1953 1954 // Const specifies that this field must be exactly the specified value 1955 Const *string `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` 1956 // Len specifies that this field must be the specified number of 1957 // characters (Unicode code points). Note that the number of 1958 // characters may differ from the number of bytes in the string. 1959 Len *uint64 `protobuf:"varint,19,opt,name=len" json:"len,omitempty"` 1960 // MinLen specifies that this field must be the specified number of 1961 // characters (Unicode code points) at a minimum. Note that the number of 1962 // characters may differ from the number of bytes in the string. 1963 MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` 1964 // MaxLen specifies that this field must be the specified number of 1965 // characters (Unicode code points) at a maximum. Note that the number of 1966 // characters may differ from the number of bytes in the string. 1967 MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` 1968 // LenBytes specifies that this field must be the specified number of bytes 1969 // at a minimum 1970 LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes" json:"len_bytes,omitempty"` 1971 // MinBytes specifies that this field must be the specified number of bytes 1972 // at a minimum 1973 MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes" json:"min_bytes,omitempty"` 1974 // MaxBytes specifies that this field must be the specified number of bytes 1975 // at a maximum 1976 MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"` 1977 // Pattern specifes that this field must match against the specified 1978 // regular expression (RE2 syntax). The included expression should elide 1979 // any delimiters. 1980 Pattern *string `protobuf:"bytes,6,opt,name=pattern" json:"pattern,omitempty"` 1981 // Prefix specifies that this field must have the specified substring at 1982 // the beginning of the string. 1983 Prefix *string `protobuf:"bytes,7,opt,name=prefix" json:"prefix,omitempty"` 1984 // Suffix specifies that this field must have the specified substring at 1985 // the end of the string. 1986 Suffix *string `protobuf:"bytes,8,opt,name=suffix" json:"suffix,omitempty"` 1987 // Contains specifies that this field must have the specified substring 1988 // anywhere in the string. 1989 Contains *string `protobuf:"bytes,9,opt,name=contains" json:"contains,omitempty"` 1990 // NotContains specifies that this field cannot have the specified substring 1991 // anywhere in the string. 1992 NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains" json:"not_contains,omitempty"` 1993 // In specifies that this field must be equal to one of the specified 1994 // values 1995 In []string `protobuf:"bytes,10,rep,name=in" json:"in,omitempty"` 1996 // NotIn specifies that this field cannot be equal to one of the specified 1997 // values 1998 NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 1999 // WellKnown rules provide advanced constraints against common string 2000 // patterns 2001 // 2002 // Types that are assignable to WellKnown: 2003 // *StringRules_Email 2004 // *StringRules_Hostname 2005 // *StringRules_Ip 2006 // *StringRules_Ipv4 2007 // *StringRules_Ipv6 2008 // *StringRules_Uri 2009 // *StringRules_UriRef 2010 // *StringRules_Address 2011 // *StringRules_Uuid 2012 // *StringRules_WellKnownRegex 2013 WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"` 2014 // This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable 2015 // strict header validation. 2016 // By default, this is true, and HTTP header validations are RFC-compliant. 2017 // Setting to false will enable a looser validations that only disallows 2018 // \r\n\0 characters, which can be used to bypass header matching rules. 2019 Strict *bool `protobuf:"varint,25,opt,name=strict,def=1" json:"strict,omitempty"` 2020 // IgnoreEmpty specifies that the validation rules of this field should be 2021 // evaluated only if the field is not empty 2022 IgnoreEmpty *bool `protobuf:"varint,26,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 2023} 2024 2025// Default values for StringRules fields. 2026const ( 2027 Default_StringRules_Strict = bool(true) 2028) 2029 2030func (x *StringRules) Reset() { 2031 *x = StringRules{} 2032 if protoimpl.UnsafeEnabled { 2033 mi := &file_validate_validate_proto_msgTypes[14] 2034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2035 ms.StoreMessageInfo(mi) 2036 } 2037} 2038 2039func (x *StringRules) String() string { 2040 return protoimpl.X.MessageStringOf(x) 2041} 2042 2043func (*StringRules) ProtoMessage() {} 2044 2045func (x *StringRules) ProtoReflect() protoreflect.Message { 2046 mi := &file_validate_validate_proto_msgTypes[14] 2047 if protoimpl.UnsafeEnabled && x != nil { 2048 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2049 if ms.LoadMessageInfo() == nil { 2050 ms.StoreMessageInfo(mi) 2051 } 2052 return ms 2053 } 2054 return mi.MessageOf(x) 2055} 2056 2057// Deprecated: Use StringRules.ProtoReflect.Descriptor instead. 2058func (*StringRules) Descriptor() ([]byte, []int) { 2059 return file_validate_validate_proto_rawDescGZIP(), []int{14} 2060} 2061 2062func (x *StringRules) GetConst() string { 2063 if x != nil && x.Const != nil { 2064 return *x.Const 2065 } 2066 return "" 2067} 2068 2069func (x *StringRules) GetLen() uint64 { 2070 if x != nil && x.Len != nil { 2071 return *x.Len 2072 } 2073 return 0 2074} 2075 2076func (x *StringRules) GetMinLen() uint64 { 2077 if x != nil && x.MinLen != nil { 2078 return *x.MinLen 2079 } 2080 return 0 2081} 2082 2083func (x *StringRules) GetMaxLen() uint64 { 2084 if x != nil && x.MaxLen != nil { 2085 return *x.MaxLen 2086 } 2087 return 0 2088} 2089 2090func (x *StringRules) GetLenBytes() uint64 { 2091 if x != nil && x.LenBytes != nil { 2092 return *x.LenBytes 2093 } 2094 return 0 2095} 2096 2097func (x *StringRules) GetMinBytes() uint64 { 2098 if x != nil && x.MinBytes != nil { 2099 return *x.MinBytes 2100 } 2101 return 0 2102} 2103 2104func (x *StringRules) GetMaxBytes() uint64 { 2105 if x != nil && x.MaxBytes != nil { 2106 return *x.MaxBytes 2107 } 2108 return 0 2109} 2110 2111func (x *StringRules) GetPattern() string { 2112 if x != nil && x.Pattern != nil { 2113 return *x.Pattern 2114 } 2115 return "" 2116} 2117 2118func (x *StringRules) GetPrefix() string { 2119 if x != nil && x.Prefix != nil { 2120 return *x.Prefix 2121 } 2122 return "" 2123} 2124 2125func (x *StringRules) GetSuffix() string { 2126 if x != nil && x.Suffix != nil { 2127 return *x.Suffix 2128 } 2129 return "" 2130} 2131 2132func (x *StringRules) GetContains() string { 2133 if x != nil && x.Contains != nil { 2134 return *x.Contains 2135 } 2136 return "" 2137} 2138 2139func (x *StringRules) GetNotContains() string { 2140 if x != nil && x.NotContains != nil { 2141 return *x.NotContains 2142 } 2143 return "" 2144} 2145 2146func (x *StringRules) GetIn() []string { 2147 if x != nil { 2148 return x.In 2149 } 2150 return nil 2151} 2152 2153func (x *StringRules) GetNotIn() []string { 2154 if x != nil { 2155 return x.NotIn 2156 } 2157 return nil 2158} 2159 2160func (m *StringRules) GetWellKnown() isStringRules_WellKnown { 2161 if m != nil { 2162 return m.WellKnown 2163 } 2164 return nil 2165} 2166 2167func (x *StringRules) GetEmail() bool { 2168 if x, ok := x.GetWellKnown().(*StringRules_Email); ok { 2169 return x.Email 2170 } 2171 return false 2172} 2173 2174func (x *StringRules) GetHostname() bool { 2175 if x, ok := x.GetWellKnown().(*StringRules_Hostname); ok { 2176 return x.Hostname 2177 } 2178 return false 2179} 2180 2181func (x *StringRules) GetIp() bool { 2182 if x, ok := x.GetWellKnown().(*StringRules_Ip); ok { 2183 return x.Ip 2184 } 2185 return false 2186} 2187 2188func (x *StringRules) GetIpv4() bool { 2189 if x, ok := x.GetWellKnown().(*StringRules_Ipv4); ok { 2190 return x.Ipv4 2191 } 2192 return false 2193} 2194 2195func (x *StringRules) GetIpv6() bool { 2196 if x, ok := x.GetWellKnown().(*StringRules_Ipv6); ok { 2197 return x.Ipv6 2198 } 2199 return false 2200} 2201 2202func (x *StringRules) GetUri() bool { 2203 if x, ok := x.GetWellKnown().(*StringRules_Uri); ok { 2204 return x.Uri 2205 } 2206 return false 2207} 2208 2209func (x *StringRules) GetUriRef() bool { 2210 if x, ok := x.GetWellKnown().(*StringRules_UriRef); ok { 2211 return x.UriRef 2212 } 2213 return false 2214} 2215 2216func (x *StringRules) GetAddress() bool { 2217 if x, ok := x.GetWellKnown().(*StringRules_Address); ok { 2218 return x.Address 2219 } 2220 return false 2221} 2222 2223func (x *StringRules) GetUuid() bool { 2224 if x, ok := x.GetWellKnown().(*StringRules_Uuid); ok { 2225 return x.Uuid 2226 } 2227 return false 2228} 2229 2230func (x *StringRules) GetWellKnownRegex() KnownRegex { 2231 if x, ok := x.GetWellKnown().(*StringRules_WellKnownRegex); ok { 2232 return x.WellKnownRegex 2233 } 2234 return KnownRegex_UNKNOWN 2235} 2236 2237func (x *StringRules) GetStrict() bool { 2238 if x != nil && x.Strict != nil { 2239 return *x.Strict 2240 } 2241 return Default_StringRules_Strict 2242} 2243 2244func (x *StringRules) GetIgnoreEmpty() bool { 2245 if x != nil && x.IgnoreEmpty != nil { 2246 return *x.IgnoreEmpty 2247 } 2248 return false 2249} 2250 2251type isStringRules_WellKnown interface { 2252 isStringRules_WellKnown() 2253} 2254 2255type StringRules_Email struct { 2256 // Email specifies that the field must be a valid email address as 2257 // defined by RFC 5322 2258 Email bool `protobuf:"varint,12,opt,name=email,oneof"` 2259} 2260 2261type StringRules_Hostname struct { 2262 // Hostname specifies that the field must be a valid hostname as 2263 // defined by RFC 1034. This constraint does not support 2264 // internationalized domain names (IDNs). 2265 Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"` 2266} 2267 2268type StringRules_Ip struct { 2269 // Ip specifies that the field must be a valid IP (v4 or v6) address. 2270 // Valid IPv6 addresses should not include surrounding square brackets. 2271 Ip bool `protobuf:"varint,14,opt,name=ip,oneof"` 2272} 2273 2274type StringRules_Ipv4 struct { 2275 // Ipv4 specifies that the field must be a valid IPv4 address. 2276 Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"` 2277} 2278 2279type StringRules_Ipv6 struct { 2280 // Ipv6 specifies that the field must be a valid IPv6 address. Valid 2281 // IPv6 addresses should not include surrounding square brackets. 2282 Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"` 2283} 2284 2285type StringRules_Uri struct { 2286 // Uri specifies that the field must be a valid, absolute URI as defined 2287 // by RFC 3986 2288 Uri bool `protobuf:"varint,17,opt,name=uri,oneof"` 2289} 2290 2291type StringRules_UriRef struct { 2292 // UriRef specifies that the field must be a valid URI as defined by RFC 2293 // 3986 and may be relative or absolute. 2294 UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"` 2295} 2296 2297type StringRules_Address struct { 2298 // Address specifies that the field must be either a valid hostname as 2299 // defined by RFC 1034 (which does not support internationalized domain 2300 // names or IDNs), or it can be a valid IP (v4 or v6). 2301 Address bool `protobuf:"varint,21,opt,name=address,oneof"` 2302} 2303 2304type StringRules_Uuid struct { 2305 // Uuid specifies that the field must be a valid UUID as defined by 2306 // RFC 4122 2307 Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"` 2308} 2309 2310type StringRules_WellKnownRegex struct { 2311 // WellKnownRegex specifies a common well known pattern defined as a regex. 2312 WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=validate.KnownRegex,oneof"` 2313} 2314 2315func (*StringRules_Email) isStringRules_WellKnown() {} 2316 2317func (*StringRules_Hostname) isStringRules_WellKnown() {} 2318 2319func (*StringRules_Ip) isStringRules_WellKnown() {} 2320 2321func (*StringRules_Ipv4) isStringRules_WellKnown() {} 2322 2323func (*StringRules_Ipv6) isStringRules_WellKnown() {} 2324 2325func (*StringRules_Uri) isStringRules_WellKnown() {} 2326 2327func (*StringRules_UriRef) isStringRules_WellKnown() {} 2328 2329func (*StringRules_Address) isStringRules_WellKnown() {} 2330 2331func (*StringRules_Uuid) isStringRules_WellKnown() {} 2332 2333func (*StringRules_WellKnownRegex) isStringRules_WellKnown() {} 2334 2335// BytesRules describe the constraints applied to `bytes` values 2336type BytesRules struct { 2337 state protoimpl.MessageState 2338 sizeCache protoimpl.SizeCache 2339 unknownFields protoimpl.UnknownFields 2340 2341 // Const specifies that this field must be exactly the specified value 2342 Const []byte `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` 2343 // Len specifies that this field must be the specified number of bytes 2344 Len *uint64 `protobuf:"varint,13,opt,name=len" json:"len,omitempty"` 2345 // MinLen specifies that this field must be the specified number of bytes 2346 // at a minimum 2347 MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` 2348 // MaxLen specifies that this field must be the specified number of bytes 2349 // at a maximum 2350 MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` 2351 // Pattern specifes that this field must match against the specified 2352 // regular expression (RE2 syntax). The included expression should elide 2353 // any delimiters. 2354 Pattern *string `protobuf:"bytes,4,opt,name=pattern" json:"pattern,omitempty"` 2355 // Prefix specifies that this field must have the specified bytes at the 2356 // beginning of the string. 2357 Prefix []byte `protobuf:"bytes,5,opt,name=prefix" json:"prefix,omitempty"` 2358 // Suffix specifies that this field must have the specified bytes at the 2359 // end of the string. 2360 Suffix []byte `protobuf:"bytes,6,opt,name=suffix" json:"suffix,omitempty"` 2361 // Contains specifies that this field must have the specified bytes 2362 // anywhere in the string. 2363 Contains []byte `protobuf:"bytes,7,opt,name=contains" json:"contains,omitempty"` 2364 // In specifies that this field must be equal to one of the specified 2365 // values 2366 In [][]byte `protobuf:"bytes,8,rep,name=in" json:"in,omitempty"` 2367 // NotIn specifies that this field cannot be equal to one of the specified 2368 // values 2369 NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 2370 // WellKnown rules provide advanced constraints against common byte 2371 // patterns 2372 // 2373 // Types that are assignable to WellKnown: 2374 // *BytesRules_Ip 2375 // *BytesRules_Ipv4 2376 // *BytesRules_Ipv6 2377 WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` 2378 // IgnoreEmpty specifies that the validation rules of this field should be 2379 // evaluated only if the field is not empty 2380 IgnoreEmpty *bool `protobuf:"varint,14,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 2381} 2382 2383func (x *BytesRules) Reset() { 2384 *x = BytesRules{} 2385 if protoimpl.UnsafeEnabled { 2386 mi := &file_validate_validate_proto_msgTypes[15] 2387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2388 ms.StoreMessageInfo(mi) 2389 } 2390} 2391 2392func (x *BytesRules) String() string { 2393 return protoimpl.X.MessageStringOf(x) 2394} 2395 2396func (*BytesRules) ProtoMessage() {} 2397 2398func (x *BytesRules) ProtoReflect() protoreflect.Message { 2399 mi := &file_validate_validate_proto_msgTypes[15] 2400 if protoimpl.UnsafeEnabled && x != nil { 2401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2402 if ms.LoadMessageInfo() == nil { 2403 ms.StoreMessageInfo(mi) 2404 } 2405 return ms 2406 } 2407 return mi.MessageOf(x) 2408} 2409 2410// Deprecated: Use BytesRules.ProtoReflect.Descriptor instead. 2411func (*BytesRules) Descriptor() ([]byte, []int) { 2412 return file_validate_validate_proto_rawDescGZIP(), []int{15} 2413} 2414 2415func (x *BytesRules) GetConst() []byte { 2416 if x != nil { 2417 return x.Const 2418 } 2419 return nil 2420} 2421 2422func (x *BytesRules) GetLen() uint64 { 2423 if x != nil && x.Len != nil { 2424 return *x.Len 2425 } 2426 return 0 2427} 2428 2429func (x *BytesRules) GetMinLen() uint64 { 2430 if x != nil && x.MinLen != nil { 2431 return *x.MinLen 2432 } 2433 return 0 2434} 2435 2436func (x *BytesRules) GetMaxLen() uint64 { 2437 if x != nil && x.MaxLen != nil { 2438 return *x.MaxLen 2439 } 2440 return 0 2441} 2442 2443func (x *BytesRules) GetPattern() string { 2444 if x != nil && x.Pattern != nil { 2445 return *x.Pattern 2446 } 2447 return "" 2448} 2449 2450func (x *BytesRules) GetPrefix() []byte { 2451 if x != nil { 2452 return x.Prefix 2453 } 2454 return nil 2455} 2456 2457func (x *BytesRules) GetSuffix() []byte { 2458 if x != nil { 2459 return x.Suffix 2460 } 2461 return nil 2462} 2463 2464func (x *BytesRules) GetContains() []byte { 2465 if x != nil { 2466 return x.Contains 2467 } 2468 return nil 2469} 2470 2471func (x *BytesRules) GetIn() [][]byte { 2472 if x != nil { 2473 return x.In 2474 } 2475 return nil 2476} 2477 2478func (x *BytesRules) GetNotIn() [][]byte { 2479 if x != nil { 2480 return x.NotIn 2481 } 2482 return nil 2483} 2484 2485func (m *BytesRules) GetWellKnown() isBytesRules_WellKnown { 2486 if m != nil { 2487 return m.WellKnown 2488 } 2489 return nil 2490} 2491 2492func (x *BytesRules) GetIp() bool { 2493 if x, ok := x.GetWellKnown().(*BytesRules_Ip); ok { 2494 return x.Ip 2495 } 2496 return false 2497} 2498 2499func (x *BytesRules) GetIpv4() bool { 2500 if x, ok := x.GetWellKnown().(*BytesRules_Ipv4); ok { 2501 return x.Ipv4 2502 } 2503 return false 2504} 2505 2506func (x *BytesRules) GetIpv6() bool { 2507 if x, ok := x.GetWellKnown().(*BytesRules_Ipv6); ok { 2508 return x.Ipv6 2509 } 2510 return false 2511} 2512 2513func (x *BytesRules) GetIgnoreEmpty() bool { 2514 if x != nil && x.IgnoreEmpty != nil { 2515 return *x.IgnoreEmpty 2516 } 2517 return false 2518} 2519 2520type isBytesRules_WellKnown interface { 2521 isBytesRules_WellKnown() 2522} 2523 2524type BytesRules_Ip struct { 2525 // Ip specifies that the field must be a valid IP (v4 or v6) address in 2526 // byte format 2527 Ip bool `protobuf:"varint,10,opt,name=ip,oneof"` 2528} 2529 2530type BytesRules_Ipv4 struct { 2531 // Ipv4 specifies that the field must be a valid IPv4 address in byte 2532 // format 2533 Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"` 2534} 2535 2536type BytesRules_Ipv6 struct { 2537 // Ipv6 specifies that the field must be a valid IPv6 address in byte 2538 // format 2539 Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"` 2540} 2541 2542func (*BytesRules_Ip) isBytesRules_WellKnown() {} 2543 2544func (*BytesRules_Ipv4) isBytesRules_WellKnown() {} 2545 2546func (*BytesRules_Ipv6) isBytesRules_WellKnown() {} 2547 2548// EnumRules describe the constraints applied to enum values 2549type EnumRules struct { 2550 state protoimpl.MessageState 2551 sizeCache protoimpl.SizeCache 2552 unknownFields protoimpl.UnknownFields 2553 2554 // Const specifies that this field must be exactly the specified value 2555 Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` 2556 // DefinedOnly specifies that this field must be only one of the defined 2557 // values for this enum, failing on any undefined value. 2558 DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly" json:"defined_only,omitempty"` 2559 // In specifies that this field must be equal to one of the specified 2560 // values 2561 In []int32 `protobuf:"varint,3,rep,name=in" json:"in,omitempty"` 2562 // NotIn specifies that this field cannot be equal to one of the specified 2563 // values 2564 NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 2565} 2566 2567func (x *EnumRules) Reset() { 2568 *x = EnumRules{} 2569 if protoimpl.UnsafeEnabled { 2570 mi := &file_validate_validate_proto_msgTypes[16] 2571 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2572 ms.StoreMessageInfo(mi) 2573 } 2574} 2575 2576func (x *EnumRules) String() string { 2577 return protoimpl.X.MessageStringOf(x) 2578} 2579 2580func (*EnumRules) ProtoMessage() {} 2581 2582func (x *EnumRules) ProtoReflect() protoreflect.Message { 2583 mi := &file_validate_validate_proto_msgTypes[16] 2584 if protoimpl.UnsafeEnabled && x != nil { 2585 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2586 if ms.LoadMessageInfo() == nil { 2587 ms.StoreMessageInfo(mi) 2588 } 2589 return ms 2590 } 2591 return mi.MessageOf(x) 2592} 2593 2594// Deprecated: Use EnumRules.ProtoReflect.Descriptor instead. 2595func (*EnumRules) Descriptor() ([]byte, []int) { 2596 return file_validate_validate_proto_rawDescGZIP(), []int{16} 2597} 2598 2599func (x *EnumRules) GetConst() int32 { 2600 if x != nil && x.Const != nil { 2601 return *x.Const 2602 } 2603 return 0 2604} 2605 2606func (x *EnumRules) GetDefinedOnly() bool { 2607 if x != nil && x.DefinedOnly != nil { 2608 return *x.DefinedOnly 2609 } 2610 return false 2611} 2612 2613func (x *EnumRules) GetIn() []int32 { 2614 if x != nil { 2615 return x.In 2616 } 2617 return nil 2618} 2619 2620func (x *EnumRules) GetNotIn() []int32 { 2621 if x != nil { 2622 return x.NotIn 2623 } 2624 return nil 2625} 2626 2627// MessageRules describe the constraints applied to embedded message values. 2628// For message-type fields, validation is performed recursively. 2629type MessageRules struct { 2630 state protoimpl.MessageState 2631 sizeCache protoimpl.SizeCache 2632 unknownFields protoimpl.UnknownFields 2633 2634 // Skip specifies that the validation rules of this field should not be 2635 // evaluated 2636 Skip *bool `protobuf:"varint,1,opt,name=skip" json:"skip,omitempty"` 2637 // Required specifies that this field must be set 2638 Required *bool `protobuf:"varint,2,opt,name=required" json:"required,omitempty"` 2639} 2640 2641func (x *MessageRules) Reset() { 2642 *x = MessageRules{} 2643 if protoimpl.UnsafeEnabled { 2644 mi := &file_validate_validate_proto_msgTypes[17] 2645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2646 ms.StoreMessageInfo(mi) 2647 } 2648} 2649 2650func (x *MessageRules) String() string { 2651 return protoimpl.X.MessageStringOf(x) 2652} 2653 2654func (*MessageRules) ProtoMessage() {} 2655 2656func (x *MessageRules) ProtoReflect() protoreflect.Message { 2657 mi := &file_validate_validate_proto_msgTypes[17] 2658 if protoimpl.UnsafeEnabled && x != nil { 2659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2660 if ms.LoadMessageInfo() == nil { 2661 ms.StoreMessageInfo(mi) 2662 } 2663 return ms 2664 } 2665 return mi.MessageOf(x) 2666} 2667 2668// Deprecated: Use MessageRules.ProtoReflect.Descriptor instead. 2669func (*MessageRules) Descriptor() ([]byte, []int) { 2670 return file_validate_validate_proto_rawDescGZIP(), []int{17} 2671} 2672 2673func (x *MessageRules) GetSkip() bool { 2674 if x != nil && x.Skip != nil { 2675 return *x.Skip 2676 } 2677 return false 2678} 2679 2680func (x *MessageRules) GetRequired() bool { 2681 if x != nil && x.Required != nil { 2682 return *x.Required 2683 } 2684 return false 2685} 2686 2687// RepeatedRules describe the constraints applied to `repeated` values 2688type RepeatedRules struct { 2689 state protoimpl.MessageState 2690 sizeCache protoimpl.SizeCache 2691 unknownFields protoimpl.UnknownFields 2692 2693 // MinItems specifies that this field must have the specified number of 2694 // items at a minimum 2695 MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems" json:"min_items,omitempty"` 2696 // MaxItems specifies that this field must have the specified number of 2697 // items at a maximum 2698 MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems" json:"max_items,omitempty"` 2699 // Unique specifies that all elements in this field must be unique. This 2700 // contraint is only applicable to scalar and enum types (messages are not 2701 // supported). 2702 Unique *bool `protobuf:"varint,3,opt,name=unique" json:"unique,omitempty"` 2703 // Items specifies the contraints to be applied to each item in the field. 2704 // Repeated message fields will still execute validation against each item 2705 // unless skip is specified here. 2706 Items *FieldRules `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"` 2707 // IgnoreEmpty specifies that the validation rules of this field should be 2708 // evaluated only if the field is not empty 2709 IgnoreEmpty *bool `protobuf:"varint,5,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 2710} 2711 2712func (x *RepeatedRules) Reset() { 2713 *x = RepeatedRules{} 2714 if protoimpl.UnsafeEnabled { 2715 mi := &file_validate_validate_proto_msgTypes[18] 2716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2717 ms.StoreMessageInfo(mi) 2718 } 2719} 2720 2721func (x *RepeatedRules) String() string { 2722 return protoimpl.X.MessageStringOf(x) 2723} 2724 2725func (*RepeatedRules) ProtoMessage() {} 2726 2727func (x *RepeatedRules) ProtoReflect() protoreflect.Message { 2728 mi := &file_validate_validate_proto_msgTypes[18] 2729 if protoimpl.UnsafeEnabled && x != nil { 2730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2731 if ms.LoadMessageInfo() == nil { 2732 ms.StoreMessageInfo(mi) 2733 } 2734 return ms 2735 } 2736 return mi.MessageOf(x) 2737} 2738 2739// Deprecated: Use RepeatedRules.ProtoReflect.Descriptor instead. 2740func (*RepeatedRules) Descriptor() ([]byte, []int) { 2741 return file_validate_validate_proto_rawDescGZIP(), []int{18} 2742} 2743 2744func (x *RepeatedRules) GetMinItems() uint64 { 2745 if x != nil && x.MinItems != nil { 2746 return *x.MinItems 2747 } 2748 return 0 2749} 2750 2751func (x *RepeatedRules) GetMaxItems() uint64 { 2752 if x != nil && x.MaxItems != nil { 2753 return *x.MaxItems 2754 } 2755 return 0 2756} 2757 2758func (x *RepeatedRules) GetUnique() bool { 2759 if x != nil && x.Unique != nil { 2760 return *x.Unique 2761 } 2762 return false 2763} 2764 2765func (x *RepeatedRules) GetItems() *FieldRules { 2766 if x != nil { 2767 return x.Items 2768 } 2769 return nil 2770} 2771 2772func (x *RepeatedRules) GetIgnoreEmpty() bool { 2773 if x != nil && x.IgnoreEmpty != nil { 2774 return *x.IgnoreEmpty 2775 } 2776 return false 2777} 2778 2779// MapRules describe the constraints applied to `map` values 2780type MapRules struct { 2781 state protoimpl.MessageState 2782 sizeCache protoimpl.SizeCache 2783 unknownFields protoimpl.UnknownFields 2784 2785 // MinPairs specifies that this field must have the specified number of 2786 // KVs at a minimum 2787 MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs" json:"min_pairs,omitempty"` 2788 // MaxPairs specifies that this field must have the specified number of 2789 // KVs at a maximum 2790 MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs" json:"max_pairs,omitempty"` 2791 // NoSparse specifies values in this field cannot be unset. This only 2792 // applies to map's with message value types. 2793 NoSparse *bool `protobuf:"varint,3,opt,name=no_sparse,json=noSparse" json:"no_sparse,omitempty"` 2794 // Keys specifies the constraints to be applied to each key in the field. 2795 Keys *FieldRules `protobuf:"bytes,4,opt,name=keys" json:"keys,omitempty"` 2796 // Values specifies the constraints to be applied to the value of each key 2797 // in the field. Message values will still have their validations evaluated 2798 // unless skip is specified here. 2799 Values *FieldRules `protobuf:"bytes,5,opt,name=values" json:"values,omitempty"` 2800 // IgnoreEmpty specifies that the validation rules of this field should be 2801 // evaluated only if the field is not empty 2802 IgnoreEmpty *bool `protobuf:"varint,6,opt,name=ignore_empty,json=ignoreEmpty" json:"ignore_empty,omitempty"` 2803} 2804 2805func (x *MapRules) Reset() { 2806 *x = MapRules{} 2807 if protoimpl.UnsafeEnabled { 2808 mi := &file_validate_validate_proto_msgTypes[19] 2809 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2810 ms.StoreMessageInfo(mi) 2811 } 2812} 2813 2814func (x *MapRules) String() string { 2815 return protoimpl.X.MessageStringOf(x) 2816} 2817 2818func (*MapRules) ProtoMessage() {} 2819 2820func (x *MapRules) ProtoReflect() protoreflect.Message { 2821 mi := &file_validate_validate_proto_msgTypes[19] 2822 if protoimpl.UnsafeEnabled && x != nil { 2823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2824 if ms.LoadMessageInfo() == nil { 2825 ms.StoreMessageInfo(mi) 2826 } 2827 return ms 2828 } 2829 return mi.MessageOf(x) 2830} 2831 2832// Deprecated: Use MapRules.ProtoReflect.Descriptor instead. 2833func (*MapRules) Descriptor() ([]byte, []int) { 2834 return file_validate_validate_proto_rawDescGZIP(), []int{19} 2835} 2836 2837func (x *MapRules) GetMinPairs() uint64 { 2838 if x != nil && x.MinPairs != nil { 2839 return *x.MinPairs 2840 } 2841 return 0 2842} 2843 2844func (x *MapRules) GetMaxPairs() uint64 { 2845 if x != nil && x.MaxPairs != nil { 2846 return *x.MaxPairs 2847 } 2848 return 0 2849} 2850 2851func (x *MapRules) GetNoSparse() bool { 2852 if x != nil && x.NoSparse != nil { 2853 return *x.NoSparse 2854 } 2855 return false 2856} 2857 2858func (x *MapRules) GetKeys() *FieldRules { 2859 if x != nil { 2860 return x.Keys 2861 } 2862 return nil 2863} 2864 2865func (x *MapRules) GetValues() *FieldRules { 2866 if x != nil { 2867 return x.Values 2868 } 2869 return nil 2870} 2871 2872func (x *MapRules) GetIgnoreEmpty() bool { 2873 if x != nil && x.IgnoreEmpty != nil { 2874 return *x.IgnoreEmpty 2875 } 2876 return false 2877} 2878 2879// AnyRules describe constraints applied exclusively to the 2880// `google.protobuf.Any` well-known type 2881type AnyRules struct { 2882 state protoimpl.MessageState 2883 sizeCache protoimpl.SizeCache 2884 unknownFields protoimpl.UnknownFields 2885 2886 // Required specifies that this field must be set 2887 Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` 2888 // In specifies that this field's `type_url` must be equal to one of the 2889 // specified values. 2890 In []string `protobuf:"bytes,2,rep,name=in" json:"in,omitempty"` 2891 // NotIn specifies that this field's `type_url` must not be equal to any of 2892 // the specified values. 2893 NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 2894} 2895 2896func (x *AnyRules) Reset() { 2897 *x = AnyRules{} 2898 if protoimpl.UnsafeEnabled { 2899 mi := &file_validate_validate_proto_msgTypes[20] 2900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2901 ms.StoreMessageInfo(mi) 2902 } 2903} 2904 2905func (x *AnyRules) String() string { 2906 return protoimpl.X.MessageStringOf(x) 2907} 2908 2909func (*AnyRules) ProtoMessage() {} 2910 2911func (x *AnyRules) ProtoReflect() protoreflect.Message { 2912 mi := &file_validate_validate_proto_msgTypes[20] 2913 if protoimpl.UnsafeEnabled && x != nil { 2914 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2915 if ms.LoadMessageInfo() == nil { 2916 ms.StoreMessageInfo(mi) 2917 } 2918 return ms 2919 } 2920 return mi.MessageOf(x) 2921} 2922 2923// Deprecated: Use AnyRules.ProtoReflect.Descriptor instead. 2924func (*AnyRules) Descriptor() ([]byte, []int) { 2925 return file_validate_validate_proto_rawDescGZIP(), []int{20} 2926} 2927 2928func (x *AnyRules) GetRequired() bool { 2929 if x != nil && x.Required != nil { 2930 return *x.Required 2931 } 2932 return false 2933} 2934 2935func (x *AnyRules) GetIn() []string { 2936 if x != nil { 2937 return x.In 2938 } 2939 return nil 2940} 2941 2942func (x *AnyRules) GetNotIn() []string { 2943 if x != nil { 2944 return x.NotIn 2945 } 2946 return nil 2947} 2948 2949// DurationRules describe the constraints applied exclusively to the 2950// `google.protobuf.Duration` well-known type 2951type DurationRules struct { 2952 state protoimpl.MessageState 2953 sizeCache protoimpl.SizeCache 2954 unknownFields protoimpl.UnknownFields 2955 2956 // Required specifies that this field must be set 2957 Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` 2958 // Const specifies that this field must be exactly the specified value 2959 Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` 2960 // Lt specifies that this field must be less than the specified value, 2961 // exclusive 2962 Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"` 2963 // Lt specifies that this field must be less than the specified value, 2964 // inclusive 2965 Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"` 2966 // Gt specifies that this field must be greater than the specified value, 2967 // exclusive 2968 Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"` 2969 // Gte specifies that this field must be greater than the specified value, 2970 // inclusive 2971 Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"` 2972 // In specifies that this field must be equal to one of the specified 2973 // values 2974 In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in" json:"in,omitempty"` 2975 // NotIn specifies that this field cannot be equal to one of the specified 2976 // values 2977 NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn" json:"not_in,omitempty"` 2978} 2979 2980func (x *DurationRules) Reset() { 2981 *x = DurationRules{} 2982 if protoimpl.UnsafeEnabled { 2983 mi := &file_validate_validate_proto_msgTypes[21] 2984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2985 ms.StoreMessageInfo(mi) 2986 } 2987} 2988 2989func (x *DurationRules) String() string { 2990 return protoimpl.X.MessageStringOf(x) 2991} 2992 2993func (*DurationRules) ProtoMessage() {} 2994 2995func (x *DurationRules) ProtoReflect() protoreflect.Message { 2996 mi := &file_validate_validate_proto_msgTypes[21] 2997 if protoimpl.UnsafeEnabled && x != nil { 2998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2999 if ms.LoadMessageInfo() == nil { 3000 ms.StoreMessageInfo(mi) 3001 } 3002 return ms 3003 } 3004 return mi.MessageOf(x) 3005} 3006 3007// Deprecated: Use DurationRules.ProtoReflect.Descriptor instead. 3008func (*DurationRules) Descriptor() ([]byte, []int) { 3009 return file_validate_validate_proto_rawDescGZIP(), []int{21} 3010} 3011 3012func (x *DurationRules) GetRequired() bool { 3013 if x != nil && x.Required != nil { 3014 return *x.Required 3015 } 3016 return false 3017} 3018 3019func (x *DurationRules) GetConst() *durationpb.Duration { 3020 if x != nil { 3021 return x.Const 3022 } 3023 return nil 3024} 3025 3026func (x *DurationRules) GetLt() *durationpb.Duration { 3027 if x != nil { 3028 return x.Lt 3029 } 3030 return nil 3031} 3032 3033func (x *DurationRules) GetLte() *durationpb.Duration { 3034 if x != nil { 3035 return x.Lte 3036 } 3037 return nil 3038} 3039 3040func (x *DurationRules) GetGt() *durationpb.Duration { 3041 if x != nil { 3042 return x.Gt 3043 } 3044 return nil 3045} 3046 3047func (x *DurationRules) GetGte() *durationpb.Duration { 3048 if x != nil { 3049 return x.Gte 3050 } 3051 return nil 3052} 3053 3054func (x *DurationRules) GetIn() []*durationpb.Duration { 3055 if x != nil { 3056 return x.In 3057 } 3058 return nil 3059} 3060 3061func (x *DurationRules) GetNotIn() []*durationpb.Duration { 3062 if x != nil { 3063 return x.NotIn 3064 } 3065 return nil 3066} 3067 3068// TimestampRules describe the constraints applied exclusively to the 3069// `google.protobuf.Timestamp` well-known type 3070type TimestampRules struct { 3071 state protoimpl.MessageState 3072 sizeCache protoimpl.SizeCache 3073 unknownFields protoimpl.UnknownFields 3074 3075 // Required specifies that this field must be set 3076 Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` 3077 // Const specifies that this field must be exactly the specified value 3078 Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` 3079 // Lt specifies that this field must be less than the specified value, 3080 // exclusive 3081 Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt" json:"lt,omitempty"` 3082 // Lte specifies that this field must be less than the specified value, 3083 // inclusive 3084 Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte" json:"lte,omitempty"` 3085 // Gt specifies that this field must be greater than the specified value, 3086 // exclusive 3087 Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt" json:"gt,omitempty"` 3088 // Gte specifies that this field must be greater than the specified value, 3089 // inclusive 3090 Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte" json:"gte,omitempty"` 3091 // LtNow specifies that this must be less than the current time. LtNow 3092 // can only be used with the Within rule. 3093 LtNow *bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow" json:"lt_now,omitempty"` 3094 // GtNow specifies that this must be greater than the current time. GtNow 3095 // can only be used with the Within rule. 3096 GtNow *bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow" json:"gt_now,omitempty"` 3097 // Within specifies that this field must be within this duration of the 3098 // current time. This constraint can be used alone or with the LtNow and 3099 // GtNow rules. 3100 Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within" json:"within,omitempty"` 3101} 3102 3103func (x *TimestampRules) Reset() { 3104 *x = TimestampRules{} 3105 if protoimpl.UnsafeEnabled { 3106 mi := &file_validate_validate_proto_msgTypes[22] 3107 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3108 ms.StoreMessageInfo(mi) 3109 } 3110} 3111 3112func (x *TimestampRules) String() string { 3113 return protoimpl.X.MessageStringOf(x) 3114} 3115 3116func (*TimestampRules) ProtoMessage() {} 3117 3118func (x *TimestampRules) ProtoReflect() protoreflect.Message { 3119 mi := &file_validate_validate_proto_msgTypes[22] 3120 if protoimpl.UnsafeEnabled && x != nil { 3121 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3122 if ms.LoadMessageInfo() == nil { 3123 ms.StoreMessageInfo(mi) 3124 } 3125 return ms 3126 } 3127 return mi.MessageOf(x) 3128} 3129 3130// Deprecated: Use TimestampRules.ProtoReflect.Descriptor instead. 3131func (*TimestampRules) Descriptor() ([]byte, []int) { 3132 return file_validate_validate_proto_rawDescGZIP(), []int{22} 3133} 3134 3135func (x *TimestampRules) GetRequired() bool { 3136 if x != nil && x.Required != nil { 3137 return *x.Required 3138 } 3139 return false 3140} 3141 3142func (x *TimestampRules) GetConst() *timestamppb.Timestamp { 3143 if x != nil { 3144 return x.Const 3145 } 3146 return nil 3147} 3148 3149func (x *TimestampRules) GetLt() *timestamppb.Timestamp { 3150 if x != nil { 3151 return x.Lt 3152 } 3153 return nil 3154} 3155 3156func (x *TimestampRules) GetLte() *timestamppb.Timestamp { 3157 if x != nil { 3158 return x.Lte 3159 } 3160 return nil 3161} 3162 3163func (x *TimestampRules) GetGt() *timestamppb.Timestamp { 3164 if x != nil { 3165 return x.Gt 3166 } 3167 return nil 3168} 3169 3170func (x *TimestampRules) GetGte() *timestamppb.Timestamp { 3171 if x != nil { 3172 return x.Gte 3173 } 3174 return nil 3175} 3176 3177func (x *TimestampRules) GetLtNow() bool { 3178 if x != nil && x.LtNow != nil { 3179 return *x.LtNow 3180 } 3181 return false 3182} 3183 3184func (x *TimestampRules) GetGtNow() bool { 3185 if x != nil && x.GtNow != nil { 3186 return *x.GtNow 3187 } 3188 return false 3189} 3190 3191func (x *TimestampRules) GetWithin() *durationpb.Duration { 3192 if x != nil { 3193 return x.Within 3194 } 3195 return nil 3196} 3197 3198var file_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ 3199 { 3200 ExtendedType: (*descriptorpb.MessageOptions)(nil), 3201 ExtensionType: (*bool)(nil), 3202 Field: 1071, 3203 Name: "validate.disabled", 3204 Tag: "varint,1071,opt,name=disabled", 3205 Filename: "validate/validate.proto", 3206 }, 3207 { 3208 ExtendedType: (*descriptorpb.MessageOptions)(nil), 3209 ExtensionType: (*bool)(nil), 3210 Field: 1072, 3211 Name: "validate.ignored", 3212 Tag: "varint,1072,opt,name=ignored", 3213 Filename: "validate/validate.proto", 3214 }, 3215 { 3216 ExtendedType: (*descriptorpb.OneofOptions)(nil), 3217 ExtensionType: (*bool)(nil), 3218 Field: 1071, 3219 Name: "validate.required", 3220 Tag: "varint,1071,opt,name=required", 3221 Filename: "validate/validate.proto", 3222 }, 3223 { 3224 ExtendedType: (*descriptorpb.FieldOptions)(nil), 3225 ExtensionType: (*FieldRules)(nil), 3226 Field: 1071, 3227 Name: "validate.rules", 3228 Tag: "bytes,1071,opt,name=rules", 3229 Filename: "validate/validate.proto", 3230 }, 3231} 3232 3233// Extension fields to descriptorpb.MessageOptions. 3234var ( 3235 // Disabled nullifies any validation rules for this message, including any 3236 // message fields associated with it that do support validation. 3237 // 3238 // optional bool disabled = 1071; 3239 E_Disabled = &file_validate_validate_proto_extTypes[0] 3240 // Ignore skips generation of validation methods for this message. 3241 // 3242 // optional bool ignored = 1072; 3243 E_Ignored = &file_validate_validate_proto_extTypes[1] 3244) 3245 3246// Extension fields to descriptorpb.OneofOptions. 3247var ( 3248 // Required ensures that exactly one the field options in a oneof is set; 3249 // validation fails if no fields in the oneof are set. 3250 // 3251 // optional bool required = 1071; 3252 E_Required = &file_validate_validate_proto_extTypes[2] 3253) 3254 3255// Extension fields to descriptorpb.FieldOptions. 3256var ( 3257 // Rules specify the validations to be performed on this field. By default, 3258 // no validation is performed against a field. 3259 // 3260 // optional validate.FieldRules rules = 1071; 3261 E_Rules = &file_validate_validate_proto_extTypes[3] 3262) 3263 3264var File_validate_validate_proto protoreflect.FileDescriptor 3265 3266var file_validate_validate_proto_rawDesc = []byte{ 3267 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 3268 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 3269 0x61, 0x74, 0x65, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 3270 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 3271 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 3272 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 3273 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 3274 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 3275 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x08, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 3276 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 3277 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 3278 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x07, 3279 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 3280 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 3281 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 3282 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 3283 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3284 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 3285 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 3286 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3287 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 3288 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 3289 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 3290 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x74, 3291 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 3292 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x49, 3293 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, 0x6e, 3294 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 3295 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 3296 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, 3297 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07, 3298 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 3299 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 3300 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 3301 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3302 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 3303 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 3304 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 3305 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 3306 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x69, 3307 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 3308 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 3309 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x35, 3310 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 3311 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 3312 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 3313 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 3314 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 3315 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 3316 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x04, 3317 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 3318 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 3319 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 3320 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 3321 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 3322 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 3323 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 3324 0x74, 0x65, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 3325 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x10, 3326 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 3327 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x65, 0x6e, 0x75, 3328 0x6d, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 3329 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 3330 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 3331 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 3332 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3333 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 3334 0x12, 0x26, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 3335 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 3336 0x73, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 3337 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c, 3338 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 3339 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 3340 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20, 0x01, 3341 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x69, 3342 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 3343 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 3344 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 3345 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 3346 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 3347 0x28, 0x02, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 3348 0x01, 0x28, 0x02, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 3349 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 3350 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 3351 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 3352 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 3353 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 3354 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 3355 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 3356 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 3357 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 3358 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 3359 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 3360 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 3361 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 3362 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 3363 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x05, 3364 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 3365 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 3366 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 3367 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3368 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 3369 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 3370 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 3371 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x67, 0x74, 0x12, 3372 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, 0x74, 3373 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 3374 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 3375 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 3376 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 3377 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x0a, 3378 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 3379 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3380 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x6c, 0x74, 3381 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c, 3382 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 3383 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 3384 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 3385 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 3386 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 3387 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 3388 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 3389 0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 3390 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 3391 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 3392 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3393 0x0d, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 3394 0x28, 0x0d, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 3395 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 3396 0x20, 0x03, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 3397 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 3398 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 3399 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 3400 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 3401 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3402 0x04, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 3403 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 3404 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 3405 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 3406 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 3407 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 3408 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 3409 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 3410 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 3411 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 3412 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 3413 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 3414 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 3415 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 3416 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 3417 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x67, 0x74, 0x65, 3418 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x11, 0x52, 0x02, 0x69, 0x6e, 3419 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x11, 3420 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 3421 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 3422 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x53, 3423 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 3424 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3425 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 0x6c, 0x74, 3426 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6c, 3427 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 3428 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 3429 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12, 3430 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 3431 0x20, 0x03, 0x28, 0x12, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 3432 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 3433 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb2, 3434 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 3435 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 3436 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 3437 0x07, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 3438 0x28, 0x07, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 3439 0x01, 0x28, 0x07, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 3440 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 3441 0x06, 0x20, 0x03, 0x28, 0x07, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 3442 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 3443 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 3444 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 3445 0x70, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 3446 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 3447 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 3448 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 3449 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 3450 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 3451 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 3452 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 3453 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x06, 0x52, 0x05, 3454 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 3455 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 3456 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69, 3457 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 3458 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3459 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02, 0x6c, 0x74, 3460 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6c, 3461 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x02, 3462 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0f, 0x52, 3463 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, 3464 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 3465 0x20, 0x03, 0x28, 0x0f, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 3466 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 3467 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb3, 3468 0x01, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 3469 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 3470 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 3471 0x28, 0x10, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 3472 0x01, 0x28, 0x10, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 3473 0x20, 0x01, 0x28, 0x10, 0x52, 0x02, 0x67, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 3474 0x05, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 3475 0x18, 0x06, 0x20, 0x03, 0x28, 0x10, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 3476 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x10, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 3477 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 3478 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 3479 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 3480 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 3481 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x22, 0xd4, 0x05, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 3482 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3483 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a, 3484 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 3485 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 3486 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 3487 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 3488 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, 3489 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, 3490 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 3491 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 3492 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 3493 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 3494 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 3495 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, 3496 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 3497 0x66, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 3498 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 3499 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x21, 3500 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x17, 3501 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 3502 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 3503 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 3504 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 3505 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 3506 0x12, 0x1c, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 3507 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 3508 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 3509 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 3510 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10, 3511 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x12, 0x0a, 0x03, 3512 0x75, 0x72, 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 3513 0x12, 0x19, 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 3514 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x07, 0x61, 3515 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 3516 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 3517 0x16, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 3518 0x10, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 3519 0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 3520 0x74, 0x65, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x48, 0x00, 0x52, 3521 0x0e, 0x77, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 3522 0x1c, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x3a, 3523 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x21, 0x0a, 3524 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1a, 0x20, 3525 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 3526 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0xe2, 3527 0x02, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 3528 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x6f, 3529 0x6e, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 3530 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 3531 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 3532 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 3533 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 3534 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 3535 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 3536 0x0c, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x66, 3537 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 3538 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x07, 0x20, 3539 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 3540 0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 3541 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x6e, 3542 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 3543 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0b, 3544 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 3545 0x69, 0x70, 0x76, 0x36, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 3546 0x76, 0x36, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 3547 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 3548 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 3549 0x6f, 0x77, 0x6e, 0x22, 0x6b, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 3550 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 3551 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 3552 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 3553 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 3554 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 3555 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 3556 0x22, 0x3e, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 3557 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 3558 0x73, 0x6b, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 3559 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 3560 0x22, 0xb0, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 3561 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 3562 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 3563 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 3564 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 3565 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 3566 0x69, 0x71, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 3567 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 3568 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 3569 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 3570 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 3571 0x70, 0x74, 0x79, 0x22, 0xdc, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 3572 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 3573 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a, 3574 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 3575 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 3576 0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 3577 0x6f, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 3578 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3579 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 3580 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 3581 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 3582 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 3583 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 3584 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x45, 0x6d, 0x70, 3585 0x74, 0x79, 0x22, 0x4d, 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, 3586 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 3587 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 3588 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 3589 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 3590 0x6e, 0x22, 0xe9, 0x02, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 3591 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 3592 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 3593 0x2f, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 3594 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3595 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3596 0x12, 0x29, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 3597 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 3598 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x6c, 3599 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3600 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 3601 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05, 3602 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3603 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 3604 0x02, 0x67, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 3605 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3606 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x67, 0x74, 0x65, 3607 0x12, 0x29, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 3608 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 3609 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x6e, 3610 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 3611 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 3612 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x22, 0xf3, 0x02, 3613 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 3614 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 3615 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x05, 3616 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 3617 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 3618 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x2a, 3619 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3620 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 3621 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x6c, 0x74, 3622 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3623 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 3624 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6c, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05, 3625 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3626 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 3627 0x52, 0x02, 0x67, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x67, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 3628 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3629 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x67, 3630 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 3631 0x28, 0x08, 0x52, 0x05, 0x6c, 0x74, 0x4e, 0x6f, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x74, 0x5f, 3632 0x6e, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77, 3633 0x12, 0x31, 0x0a, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 3634 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3635 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x77, 0x69, 0x74, 3636 0x68, 0x69, 0x6e, 0x2a, 0x46, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 3637 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 3638 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41, 3639 0x4d, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 3640 0x44, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x3a, 0x3c, 0x0a, 0x08, 0x64, 3641 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3642 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 3643 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 3644 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x07, 0x69, 0x67, 0x6e, 3645 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3646 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 3647 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x67, 3648 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x3a, 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 3649 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3650 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3651 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 3652 0x64, 0x3a, 0x4a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 3653 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3654 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x08, 0x20, 0x01, 0x28, 0x0b, 3655 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 3656 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x50, 0x0a, 3657 0x1a, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 3658 0x67, 0x76, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x32, 0x67, 0x69, 0x74, 3659 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 3660 0x78, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x76, 0x61, 3661 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 3662} 3663 3664var ( 3665 file_validate_validate_proto_rawDescOnce sync.Once 3666 file_validate_validate_proto_rawDescData = file_validate_validate_proto_rawDesc 3667) 3668 3669func file_validate_validate_proto_rawDescGZIP() []byte { 3670 file_validate_validate_proto_rawDescOnce.Do(func() { 3671 file_validate_validate_proto_rawDescData = protoimpl.X.CompressGZIP(file_validate_validate_proto_rawDescData) 3672 }) 3673 return file_validate_validate_proto_rawDescData 3674} 3675 3676var file_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 3677var file_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 23) 3678var file_validate_validate_proto_goTypes = []interface{}{ 3679 (KnownRegex)(0), // 0: validate.KnownRegex 3680 (*FieldRules)(nil), // 1: validate.FieldRules 3681 (*FloatRules)(nil), // 2: validate.FloatRules 3682 (*DoubleRules)(nil), // 3: validate.DoubleRules 3683 (*Int32Rules)(nil), // 4: validate.Int32Rules 3684 (*Int64Rules)(nil), // 5: validate.Int64Rules 3685 (*UInt32Rules)(nil), // 6: validate.UInt32Rules 3686 (*UInt64Rules)(nil), // 7: validate.UInt64Rules 3687 (*SInt32Rules)(nil), // 8: validate.SInt32Rules 3688 (*SInt64Rules)(nil), // 9: validate.SInt64Rules 3689 (*Fixed32Rules)(nil), // 10: validate.Fixed32Rules 3690 (*Fixed64Rules)(nil), // 11: validate.Fixed64Rules 3691 (*SFixed32Rules)(nil), // 12: validate.SFixed32Rules 3692 (*SFixed64Rules)(nil), // 13: validate.SFixed64Rules 3693 (*BoolRules)(nil), // 14: validate.BoolRules 3694 (*StringRules)(nil), // 15: validate.StringRules 3695 (*BytesRules)(nil), // 16: validate.BytesRules 3696 (*EnumRules)(nil), // 17: validate.EnumRules 3697 (*MessageRules)(nil), // 18: validate.MessageRules 3698 (*RepeatedRules)(nil), // 19: validate.RepeatedRules 3699 (*MapRules)(nil), // 20: validate.MapRules 3700 (*AnyRules)(nil), // 21: validate.AnyRules 3701 (*DurationRules)(nil), // 22: validate.DurationRules 3702 (*TimestampRules)(nil), // 23: validate.TimestampRules 3703 (*durationpb.Duration)(nil), // 24: google.protobuf.Duration 3704 (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp 3705 (*descriptorpb.MessageOptions)(nil), // 26: google.protobuf.MessageOptions 3706 (*descriptorpb.OneofOptions)(nil), // 27: google.protobuf.OneofOptions 3707 (*descriptorpb.FieldOptions)(nil), // 28: google.protobuf.FieldOptions 3708} 3709var file_validate_validate_proto_depIdxs = []int32{ 3710 18, // 0: validate.FieldRules.message:type_name -> validate.MessageRules 3711 2, // 1: validate.FieldRules.float:type_name -> validate.FloatRules 3712 3, // 2: validate.FieldRules.double:type_name -> validate.DoubleRules 3713 4, // 3: validate.FieldRules.int32:type_name -> validate.Int32Rules 3714 5, // 4: validate.FieldRules.int64:type_name -> validate.Int64Rules 3715 6, // 5: validate.FieldRules.uint32:type_name -> validate.UInt32Rules 3716 7, // 6: validate.FieldRules.uint64:type_name -> validate.UInt64Rules 3717 8, // 7: validate.FieldRules.sint32:type_name -> validate.SInt32Rules 3718 9, // 8: validate.FieldRules.sint64:type_name -> validate.SInt64Rules 3719 10, // 9: validate.FieldRules.fixed32:type_name -> validate.Fixed32Rules 3720 11, // 10: validate.FieldRules.fixed64:type_name -> validate.Fixed64Rules 3721 12, // 11: validate.FieldRules.sfixed32:type_name -> validate.SFixed32Rules 3722 13, // 12: validate.FieldRules.sfixed64:type_name -> validate.SFixed64Rules 3723 14, // 13: validate.FieldRules.bool:type_name -> validate.BoolRules 3724 15, // 14: validate.FieldRules.string:type_name -> validate.StringRules 3725 16, // 15: validate.FieldRules.bytes:type_name -> validate.BytesRules 3726 17, // 16: validate.FieldRules.enum:type_name -> validate.EnumRules 3727 19, // 17: validate.FieldRules.repeated:type_name -> validate.RepeatedRules 3728 20, // 18: validate.FieldRules.map:type_name -> validate.MapRules 3729 21, // 19: validate.FieldRules.any:type_name -> validate.AnyRules 3730 22, // 20: validate.FieldRules.duration:type_name -> validate.DurationRules 3731 23, // 21: validate.FieldRules.timestamp:type_name -> validate.TimestampRules 3732 0, // 22: validate.StringRules.well_known_regex:type_name -> validate.KnownRegex 3733 1, // 23: validate.RepeatedRules.items:type_name -> validate.FieldRules 3734 1, // 24: validate.MapRules.keys:type_name -> validate.FieldRules 3735 1, // 25: validate.MapRules.values:type_name -> validate.FieldRules 3736 24, // 26: validate.DurationRules.const:type_name -> google.protobuf.Duration 3737 24, // 27: validate.DurationRules.lt:type_name -> google.protobuf.Duration 3738 24, // 28: validate.DurationRules.lte:type_name -> google.protobuf.Duration 3739 24, // 29: validate.DurationRules.gt:type_name -> google.protobuf.Duration 3740 24, // 30: validate.DurationRules.gte:type_name -> google.protobuf.Duration 3741 24, // 31: validate.DurationRules.in:type_name -> google.protobuf.Duration 3742 24, // 32: validate.DurationRules.not_in:type_name -> google.protobuf.Duration 3743 25, // 33: validate.TimestampRules.const:type_name -> google.protobuf.Timestamp 3744 25, // 34: validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp 3745 25, // 35: validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp 3746 25, // 36: validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp 3747 25, // 37: validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp 3748 24, // 38: validate.TimestampRules.within:type_name -> google.protobuf.Duration 3749 26, // 39: validate.disabled:extendee -> google.protobuf.MessageOptions 3750 26, // 40: validate.ignored:extendee -> google.protobuf.MessageOptions 3751 27, // 41: validate.required:extendee -> google.protobuf.OneofOptions 3752 28, // 42: validate.rules:extendee -> google.protobuf.FieldOptions 3753 1, // 43: validate.rules:type_name -> validate.FieldRules 3754 44, // [44:44] is the sub-list for method output_type 3755 44, // [44:44] is the sub-list for method input_type 3756 43, // [43:44] is the sub-list for extension type_name 3757 39, // [39:43] is the sub-list for extension extendee 3758 0, // [0:39] is the sub-list for field type_name 3759} 3760 3761func init() { file_validate_validate_proto_init() } 3762func file_validate_validate_proto_init() { 3763 if File_validate_validate_proto != nil { 3764 return 3765 } 3766 if !protoimpl.UnsafeEnabled { 3767 file_validate_validate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3768 switch v := v.(*FieldRules); i { 3769 case 0: 3770 return &v.state 3771 case 1: 3772 return &v.sizeCache 3773 case 2: 3774 return &v.unknownFields 3775 default: 3776 return nil 3777 } 3778 } 3779 file_validate_validate_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3780 switch v := v.(*FloatRules); i { 3781 case 0: 3782 return &v.state 3783 case 1: 3784 return &v.sizeCache 3785 case 2: 3786 return &v.unknownFields 3787 default: 3788 return nil 3789 } 3790 } 3791 file_validate_validate_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3792 switch v := v.(*DoubleRules); i { 3793 case 0: 3794 return &v.state 3795 case 1: 3796 return &v.sizeCache 3797 case 2: 3798 return &v.unknownFields 3799 default: 3800 return nil 3801 } 3802 } 3803 file_validate_validate_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3804 switch v := v.(*Int32Rules); i { 3805 case 0: 3806 return &v.state 3807 case 1: 3808 return &v.sizeCache 3809 case 2: 3810 return &v.unknownFields 3811 default: 3812 return nil 3813 } 3814 } 3815 file_validate_validate_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3816 switch v := v.(*Int64Rules); i { 3817 case 0: 3818 return &v.state 3819 case 1: 3820 return &v.sizeCache 3821 case 2: 3822 return &v.unknownFields 3823 default: 3824 return nil 3825 } 3826 } 3827 file_validate_validate_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3828 switch v := v.(*UInt32Rules); i { 3829 case 0: 3830 return &v.state 3831 case 1: 3832 return &v.sizeCache 3833 case 2: 3834 return &v.unknownFields 3835 default: 3836 return nil 3837 } 3838 } 3839 file_validate_validate_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3840 switch v := v.(*UInt64Rules); i { 3841 case 0: 3842 return &v.state 3843 case 1: 3844 return &v.sizeCache 3845 case 2: 3846 return &v.unknownFields 3847 default: 3848 return nil 3849 } 3850 } 3851 file_validate_validate_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3852 switch v := v.(*SInt32Rules); i { 3853 case 0: 3854 return &v.state 3855 case 1: 3856 return &v.sizeCache 3857 case 2: 3858 return &v.unknownFields 3859 default: 3860 return nil 3861 } 3862 } 3863 file_validate_validate_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3864 switch v := v.(*SInt64Rules); i { 3865 case 0: 3866 return &v.state 3867 case 1: 3868 return &v.sizeCache 3869 case 2: 3870 return &v.unknownFields 3871 default: 3872 return nil 3873 } 3874 } 3875 file_validate_validate_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3876 switch v := v.(*Fixed32Rules); i { 3877 case 0: 3878 return &v.state 3879 case 1: 3880 return &v.sizeCache 3881 case 2: 3882 return &v.unknownFields 3883 default: 3884 return nil 3885 } 3886 } 3887 file_validate_validate_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3888 switch v := v.(*Fixed64Rules); i { 3889 case 0: 3890 return &v.state 3891 case 1: 3892 return &v.sizeCache 3893 case 2: 3894 return &v.unknownFields 3895 default: 3896 return nil 3897 } 3898 } 3899 file_validate_validate_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3900 switch v := v.(*SFixed32Rules); i { 3901 case 0: 3902 return &v.state 3903 case 1: 3904 return &v.sizeCache 3905 case 2: 3906 return &v.unknownFields 3907 default: 3908 return nil 3909 } 3910 } 3911 file_validate_validate_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3912 switch v := v.(*SFixed64Rules); i { 3913 case 0: 3914 return &v.state 3915 case 1: 3916 return &v.sizeCache 3917 case 2: 3918 return &v.unknownFields 3919 default: 3920 return nil 3921 } 3922 } 3923 file_validate_validate_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3924 switch v := v.(*BoolRules); i { 3925 case 0: 3926 return &v.state 3927 case 1: 3928 return &v.sizeCache 3929 case 2: 3930 return &v.unknownFields 3931 default: 3932 return nil 3933 } 3934 } 3935 file_validate_validate_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3936 switch v := v.(*StringRules); i { 3937 case 0: 3938 return &v.state 3939 case 1: 3940 return &v.sizeCache 3941 case 2: 3942 return &v.unknownFields 3943 default: 3944 return nil 3945 } 3946 } 3947 file_validate_validate_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3948 switch v := v.(*BytesRules); i { 3949 case 0: 3950 return &v.state 3951 case 1: 3952 return &v.sizeCache 3953 case 2: 3954 return &v.unknownFields 3955 default: 3956 return nil 3957 } 3958 } 3959 file_validate_validate_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3960 switch v := v.(*EnumRules); i { 3961 case 0: 3962 return &v.state 3963 case 1: 3964 return &v.sizeCache 3965 case 2: 3966 return &v.unknownFields 3967 default: 3968 return nil 3969 } 3970 } 3971 file_validate_validate_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3972 switch v := v.(*MessageRules); i { 3973 case 0: 3974 return &v.state 3975 case 1: 3976 return &v.sizeCache 3977 case 2: 3978 return &v.unknownFields 3979 default: 3980 return nil 3981 } 3982 } 3983 file_validate_validate_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3984 switch v := v.(*RepeatedRules); i { 3985 case 0: 3986 return &v.state 3987 case 1: 3988 return &v.sizeCache 3989 case 2: 3990 return &v.unknownFields 3991 default: 3992 return nil 3993 } 3994 } 3995 file_validate_validate_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3996 switch v := v.(*MapRules); i { 3997 case 0: 3998 return &v.state 3999 case 1: 4000 return &v.sizeCache 4001 case 2: 4002 return &v.unknownFields 4003 default: 4004 return nil 4005 } 4006 } 4007 file_validate_validate_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 4008 switch v := v.(*AnyRules); i { 4009 case 0: 4010 return &v.state 4011 case 1: 4012 return &v.sizeCache 4013 case 2: 4014 return &v.unknownFields 4015 default: 4016 return nil 4017 } 4018 } 4019 file_validate_validate_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 4020 switch v := v.(*DurationRules); i { 4021 case 0: 4022 return &v.state 4023 case 1: 4024 return &v.sizeCache 4025 case 2: 4026 return &v.unknownFields 4027 default: 4028 return nil 4029 } 4030 } 4031 file_validate_validate_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 4032 switch v := v.(*TimestampRules); i { 4033 case 0: 4034 return &v.state 4035 case 1: 4036 return &v.sizeCache 4037 case 2: 4038 return &v.unknownFields 4039 default: 4040 return nil 4041 } 4042 } 4043 } 4044 file_validate_validate_proto_msgTypes[0].OneofWrappers = []interface{}{ 4045 (*FieldRules_Float)(nil), 4046 (*FieldRules_Double)(nil), 4047 (*FieldRules_Int32)(nil), 4048 (*FieldRules_Int64)(nil), 4049 (*FieldRules_Uint32)(nil), 4050 (*FieldRules_Uint64)(nil), 4051 (*FieldRules_Sint32)(nil), 4052 (*FieldRules_Sint64)(nil), 4053 (*FieldRules_Fixed32)(nil), 4054 (*FieldRules_Fixed64)(nil), 4055 (*FieldRules_Sfixed32)(nil), 4056 (*FieldRules_Sfixed64)(nil), 4057 (*FieldRules_Bool)(nil), 4058 (*FieldRules_String_)(nil), 4059 (*FieldRules_Bytes)(nil), 4060 (*FieldRules_Enum)(nil), 4061 (*FieldRules_Repeated)(nil), 4062 (*FieldRules_Map)(nil), 4063 (*FieldRules_Any)(nil), 4064 (*FieldRules_Duration)(nil), 4065 (*FieldRules_Timestamp)(nil), 4066 } 4067 file_validate_validate_proto_msgTypes[14].OneofWrappers = []interface{}{ 4068 (*StringRules_Email)(nil), 4069 (*StringRules_Hostname)(nil), 4070 (*StringRules_Ip)(nil), 4071 (*StringRules_Ipv4)(nil), 4072 (*StringRules_Ipv6)(nil), 4073 (*StringRules_Uri)(nil), 4074 (*StringRules_UriRef)(nil), 4075 (*StringRules_Address)(nil), 4076 (*StringRules_Uuid)(nil), 4077 (*StringRules_WellKnownRegex)(nil), 4078 } 4079 file_validate_validate_proto_msgTypes[15].OneofWrappers = []interface{}{ 4080 (*BytesRules_Ip)(nil), 4081 (*BytesRules_Ipv4)(nil), 4082 (*BytesRules_Ipv6)(nil), 4083 } 4084 type x struct{} 4085 out := protoimpl.TypeBuilder{ 4086 File: protoimpl.DescBuilder{ 4087 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4088 RawDescriptor: file_validate_validate_proto_rawDesc, 4089 NumEnums: 1, 4090 NumMessages: 23, 4091 NumExtensions: 4, 4092 NumServices: 0, 4093 }, 4094 GoTypes: file_validate_validate_proto_goTypes, 4095 DependencyIndexes: file_validate_validate_proto_depIdxs, 4096 EnumInfos: file_validate_validate_proto_enumTypes, 4097 MessageInfos: file_validate_validate_proto_msgTypes, 4098 ExtensionInfos: file_validate_validate_proto_extTypes, 4099 }.Build() 4100 File_validate_validate_proto = out.File 4101 file_validate_validate_proto_rawDesc = nil 4102 file_validate_validate_proto_goTypes = nil 4103 file_validate_validate_proto_depIdxs = nil 4104} 4105