1// Protocol Buffers - Google's data interchange format 2// Copyright 2008 Google Inc. All rights reserved. 3// https://developers.google.com/protocol-buffers/ 4// 5// Redistribution and use in source and binary forms, with or without 6// modification, are permitted provided that the following conditions are 7// met: 8// 9// * Redistributions of source code must retain the above copyright 10// notice, this list of conditions and the following disclaimer. 11// * Redistributions in binary form must reproduce the above 12// copyright notice, this list of conditions and the following disclaimer 13// in the documentation and/or other materials provided with the 14// distribution. 15// * Neither the name of Google Inc. nor the names of its 16// contributors may be used to endorse or promote products derived from 17// this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31// Author: kenton@google.com (Kenton Varda) 32// Based on original Protocol Buffers design by 33// Sanjay Ghemawat, Jeff Dean, and others. 34// 35// The messages in this file describe the definitions found in .proto files. 36// A valid .proto file can be translated directly to a FileDescriptorProto 37// without any other information (e.g. without reading its imports). 38 39// Code generated by protoc-gen-go. DO NOT EDIT. 40// source: google/protobuf/descriptor.proto 41 42package descriptorpb 43 44import ( 45 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 46 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 47 reflect "reflect" 48 sync "sync" 49) 50 51type FieldDescriptorProto_Type int32 52 53const ( 54 // 0 is reserved for errors. 55 // Order is weird for historical reasons. 56 FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1 57 FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2 58 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if 59 // negative values are likely. 60 FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3 61 FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4 62 // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if 63 // negative values are likely. 64 FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5 65 FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6 66 FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7 67 FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8 68 FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9 69 // Tag-delimited aggregate. 70 // Group type is deprecated and not supported in proto3. However, Proto3 71 // implementations should still be able to parse the group wire format and 72 // treat group fields as unknown fields. 73 FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10 74 FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 // Length-delimited aggregate. 75 // New in version 2. 76 FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12 77 FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13 78 FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14 79 FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15 80 FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16 81 FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 // Uses ZigZag encoding. 82 FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 // Uses ZigZag encoding. 83) 84 85// Enum value maps for FieldDescriptorProto_Type. 86var ( 87 FieldDescriptorProto_Type_name = map[int32]string{ 88 1: "TYPE_DOUBLE", 89 2: "TYPE_FLOAT", 90 3: "TYPE_INT64", 91 4: "TYPE_UINT64", 92 5: "TYPE_INT32", 93 6: "TYPE_FIXED64", 94 7: "TYPE_FIXED32", 95 8: "TYPE_BOOL", 96 9: "TYPE_STRING", 97 10: "TYPE_GROUP", 98 11: "TYPE_MESSAGE", 99 12: "TYPE_BYTES", 100 13: "TYPE_UINT32", 101 14: "TYPE_ENUM", 102 15: "TYPE_SFIXED32", 103 16: "TYPE_SFIXED64", 104 17: "TYPE_SINT32", 105 18: "TYPE_SINT64", 106 } 107 FieldDescriptorProto_Type_value = map[string]int32{ 108 "TYPE_DOUBLE": 1, 109 "TYPE_FLOAT": 2, 110 "TYPE_INT64": 3, 111 "TYPE_UINT64": 4, 112 "TYPE_INT32": 5, 113 "TYPE_FIXED64": 6, 114 "TYPE_FIXED32": 7, 115 "TYPE_BOOL": 8, 116 "TYPE_STRING": 9, 117 "TYPE_GROUP": 10, 118 "TYPE_MESSAGE": 11, 119 "TYPE_BYTES": 12, 120 "TYPE_UINT32": 13, 121 "TYPE_ENUM": 14, 122 "TYPE_SFIXED32": 15, 123 "TYPE_SFIXED64": 16, 124 "TYPE_SINT32": 17, 125 "TYPE_SINT64": 18, 126 } 127) 128 129func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { 130 p := new(FieldDescriptorProto_Type) 131 *p = x 132 return p 133} 134 135func (x FieldDescriptorProto_Type) String() string { 136 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 137} 138 139func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { 140 return file_google_protobuf_descriptor_proto_enumTypes[0].Descriptor() 141} 142 143func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { 144 return &file_google_protobuf_descriptor_proto_enumTypes[0] 145} 146 147func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { 148 return protoreflect.EnumNumber(x) 149} 150 151// Deprecated: Do not use. 152func (x *FieldDescriptorProto_Type) UnmarshalJSON(b []byte) error { 153 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 154 if err != nil { 155 return err 156 } 157 *x = FieldDescriptorProto_Type(num) 158 return nil 159} 160 161// Deprecated: Use FieldDescriptorProto_Type.Descriptor instead. 162func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { 163 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 0} 164} 165 166type FieldDescriptorProto_Label int32 167 168const ( 169 // 0 is reserved for errors 170 FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1 171 FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2 172 FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3 173) 174 175// Enum value maps for FieldDescriptorProto_Label. 176var ( 177 FieldDescriptorProto_Label_name = map[int32]string{ 178 1: "LABEL_OPTIONAL", 179 2: "LABEL_REQUIRED", 180 3: "LABEL_REPEATED", 181 } 182 FieldDescriptorProto_Label_value = map[string]int32{ 183 "LABEL_OPTIONAL": 1, 184 "LABEL_REQUIRED": 2, 185 "LABEL_REPEATED": 3, 186 } 187) 188 189func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { 190 p := new(FieldDescriptorProto_Label) 191 *p = x 192 return p 193} 194 195func (x FieldDescriptorProto_Label) String() string { 196 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 197} 198 199func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { 200 return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() 201} 202 203func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { 204 return &file_google_protobuf_descriptor_proto_enumTypes[1] 205} 206 207func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { 208 return protoreflect.EnumNumber(x) 209} 210 211// Deprecated: Do not use. 212func (x *FieldDescriptorProto_Label) UnmarshalJSON(b []byte) error { 213 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 214 if err != nil { 215 return err 216 } 217 *x = FieldDescriptorProto_Label(num) 218 return nil 219} 220 221// Deprecated: Use FieldDescriptorProto_Label.Descriptor instead. 222func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { 223 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 1} 224} 225 226// Generated classes can be optimized for speed or code size. 227type FileOptions_OptimizeMode int32 228 229const ( 230 FileOptions_SPEED FileOptions_OptimizeMode = 1 // Generate complete code for parsing, serialization, 231 // etc. 232 FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 // Use ReflectionOps to implement these methods. 233 FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 // Generate code using MessageLite and the lite runtime. 234) 235 236// Enum value maps for FileOptions_OptimizeMode. 237var ( 238 FileOptions_OptimizeMode_name = map[int32]string{ 239 1: "SPEED", 240 2: "CODE_SIZE", 241 3: "LITE_RUNTIME", 242 } 243 FileOptions_OptimizeMode_value = map[string]int32{ 244 "SPEED": 1, 245 "CODE_SIZE": 2, 246 "LITE_RUNTIME": 3, 247 } 248) 249 250func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { 251 p := new(FileOptions_OptimizeMode) 252 *p = x 253 return p 254} 255 256func (x FileOptions_OptimizeMode) String() string { 257 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 258} 259 260func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { 261 return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() 262} 263 264func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { 265 return &file_google_protobuf_descriptor_proto_enumTypes[2] 266} 267 268func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { 269 return protoreflect.EnumNumber(x) 270} 271 272// Deprecated: Do not use. 273func (x *FileOptions_OptimizeMode) UnmarshalJSON(b []byte) error { 274 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 275 if err != nil { 276 return err 277 } 278 *x = FileOptions_OptimizeMode(num) 279 return nil 280} 281 282// Deprecated: Use FileOptions_OptimizeMode.Descriptor instead. 283func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { 284 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10, 0} 285} 286 287type FieldOptions_CType int32 288 289const ( 290 // Default mode. 291 FieldOptions_STRING FieldOptions_CType = 0 292 FieldOptions_CORD FieldOptions_CType = 1 293 FieldOptions_STRING_PIECE FieldOptions_CType = 2 294) 295 296// Enum value maps for FieldOptions_CType. 297var ( 298 FieldOptions_CType_name = map[int32]string{ 299 0: "STRING", 300 1: "CORD", 301 2: "STRING_PIECE", 302 } 303 FieldOptions_CType_value = map[string]int32{ 304 "STRING": 0, 305 "CORD": 1, 306 "STRING_PIECE": 2, 307 } 308) 309 310func (x FieldOptions_CType) Enum() *FieldOptions_CType { 311 p := new(FieldOptions_CType) 312 *p = x 313 return p 314} 315 316func (x FieldOptions_CType) String() string { 317 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 318} 319 320func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { 321 return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() 322} 323 324func (FieldOptions_CType) Type() protoreflect.EnumType { 325 return &file_google_protobuf_descriptor_proto_enumTypes[3] 326} 327 328func (x FieldOptions_CType) Number() protoreflect.EnumNumber { 329 return protoreflect.EnumNumber(x) 330} 331 332// Deprecated: Do not use. 333func (x *FieldOptions_CType) UnmarshalJSON(b []byte) error { 334 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 335 if err != nil { 336 return err 337 } 338 *x = FieldOptions_CType(num) 339 return nil 340} 341 342// Deprecated: Use FieldOptions_CType.Descriptor instead. 343func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { 344 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0} 345} 346 347type FieldOptions_JSType int32 348 349const ( 350 // Use the default type. 351 FieldOptions_JS_NORMAL FieldOptions_JSType = 0 352 // Use JavaScript strings. 353 FieldOptions_JS_STRING FieldOptions_JSType = 1 354 // Use JavaScript numbers. 355 FieldOptions_JS_NUMBER FieldOptions_JSType = 2 356) 357 358// Enum value maps for FieldOptions_JSType. 359var ( 360 FieldOptions_JSType_name = map[int32]string{ 361 0: "JS_NORMAL", 362 1: "JS_STRING", 363 2: "JS_NUMBER", 364 } 365 FieldOptions_JSType_value = map[string]int32{ 366 "JS_NORMAL": 0, 367 "JS_STRING": 1, 368 "JS_NUMBER": 2, 369 } 370) 371 372func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { 373 p := new(FieldOptions_JSType) 374 *p = x 375 return p 376} 377 378func (x FieldOptions_JSType) String() string { 379 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 380} 381 382func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { 383 return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() 384} 385 386func (FieldOptions_JSType) Type() protoreflect.EnumType { 387 return &file_google_protobuf_descriptor_proto_enumTypes[4] 388} 389 390func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { 391 return protoreflect.EnumNumber(x) 392} 393 394// Deprecated: Do not use. 395func (x *FieldOptions_JSType) UnmarshalJSON(b []byte) error { 396 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 397 if err != nil { 398 return err 399 } 400 *x = FieldOptions_JSType(num) 401 return nil 402} 403 404// Deprecated: Use FieldOptions_JSType.Descriptor instead. 405func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { 406 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1} 407} 408 409// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, 410// or neither? HTTP based RPC implementation may choose GET verb for safe 411// methods, and PUT verb for idempotent methods instead of the default POST. 412type MethodOptions_IdempotencyLevel int32 413 414const ( 415 MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0 416 MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 // implies idempotent 417 MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 // idempotent, but may have side effects 418) 419 420// Enum value maps for MethodOptions_IdempotencyLevel. 421var ( 422 MethodOptions_IdempotencyLevel_name = map[int32]string{ 423 0: "IDEMPOTENCY_UNKNOWN", 424 1: "NO_SIDE_EFFECTS", 425 2: "IDEMPOTENT", 426 } 427 MethodOptions_IdempotencyLevel_value = map[string]int32{ 428 "IDEMPOTENCY_UNKNOWN": 0, 429 "NO_SIDE_EFFECTS": 1, 430 "IDEMPOTENT": 2, 431 } 432) 433 434func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { 435 p := new(MethodOptions_IdempotencyLevel) 436 *p = x 437 return p 438} 439 440func (x MethodOptions_IdempotencyLevel) String() string { 441 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 442} 443 444func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { 445 return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() 446} 447 448func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { 449 return &file_google_protobuf_descriptor_proto_enumTypes[5] 450} 451 452func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { 453 return protoreflect.EnumNumber(x) 454} 455 456// Deprecated: Do not use. 457func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(b []byte) error { 458 num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) 459 if err != nil { 460 return err 461 } 462 *x = MethodOptions_IdempotencyLevel(num) 463 return nil 464} 465 466// Deprecated: Use MethodOptions_IdempotencyLevel.Descriptor instead. 467func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { 468 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0} 469} 470 471// The protocol compiler can output a FileDescriptorSet containing the .proto 472// files it parses. 473type FileDescriptorSet struct { 474 state protoimpl.MessageState 475 sizeCache protoimpl.SizeCache 476 unknownFields protoimpl.UnknownFields 477 478 File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` 479} 480 481func (x *FileDescriptorSet) Reset() { 482 *x = FileDescriptorSet{} 483 if protoimpl.UnsafeEnabled { 484 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 486 ms.StoreMessageInfo(mi) 487 } 488} 489 490func (x *FileDescriptorSet) String() string { 491 return protoimpl.X.MessageStringOf(x) 492} 493 494func (*FileDescriptorSet) ProtoMessage() {} 495 496func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message { 497 mi := &file_google_protobuf_descriptor_proto_msgTypes[0] 498 if protoimpl.UnsafeEnabled && x != nil { 499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 500 if ms.LoadMessageInfo() == nil { 501 ms.StoreMessageInfo(mi) 502 } 503 return ms 504 } 505 return mi.MessageOf(x) 506} 507 508// Deprecated: Use FileDescriptorSet.ProtoReflect.Descriptor instead. 509func (*FileDescriptorSet) Descriptor() ([]byte, []int) { 510 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} 511} 512 513func (x *FileDescriptorSet) GetFile() []*FileDescriptorProto { 514 if x != nil { 515 return x.File 516 } 517 return nil 518} 519 520// Describes a complete .proto file. 521type FileDescriptorProto struct { 522 state protoimpl.MessageState 523 sizeCache protoimpl.SizeCache 524 unknownFields protoimpl.UnknownFields 525 526 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree 527 Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc. 528 // Names of files imported by this file. 529 Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"` 530 // Indexes of the public imported files in the dependency list above. 531 PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"` 532 // Indexes of the weak imported files in the dependency list. 533 // For Google-internal migration only. Do not use. 534 WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` 535 // All top-level definitions in this file. 536 MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` 537 EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 538 Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"` 539 Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"` 540 Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 541 // This field contains optional information about the original source code. 542 // You may safely remove this entire field without harming runtime 543 // functionality of the descriptors -- the information is needed only by 544 // development tools. 545 SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` 546 // The syntax of the proto file. 547 // The supported values are "proto2" and "proto3". 548 Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` 549} 550 551func (x *FileDescriptorProto) Reset() { 552 *x = FileDescriptorProto{} 553 if protoimpl.UnsafeEnabled { 554 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 556 ms.StoreMessageInfo(mi) 557 } 558} 559 560func (x *FileDescriptorProto) String() string { 561 return protoimpl.X.MessageStringOf(x) 562} 563 564func (*FileDescriptorProto) ProtoMessage() {} 565 566func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message { 567 mi := &file_google_protobuf_descriptor_proto_msgTypes[1] 568 if protoimpl.UnsafeEnabled && x != nil { 569 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 570 if ms.LoadMessageInfo() == nil { 571 ms.StoreMessageInfo(mi) 572 } 573 return ms 574 } 575 return mi.MessageOf(x) 576} 577 578// Deprecated: Use FileDescriptorProto.ProtoReflect.Descriptor instead. 579func (*FileDescriptorProto) Descriptor() ([]byte, []int) { 580 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1} 581} 582 583func (x *FileDescriptorProto) GetName() string { 584 if x != nil && x.Name != nil { 585 return *x.Name 586 } 587 return "" 588} 589 590func (x *FileDescriptorProto) GetPackage() string { 591 if x != nil && x.Package != nil { 592 return *x.Package 593 } 594 return "" 595} 596 597func (x *FileDescriptorProto) GetDependency() []string { 598 if x != nil { 599 return x.Dependency 600 } 601 return nil 602} 603 604func (x *FileDescriptorProto) GetPublicDependency() []int32 { 605 if x != nil { 606 return x.PublicDependency 607 } 608 return nil 609} 610 611func (x *FileDescriptorProto) GetWeakDependency() []int32 { 612 if x != nil { 613 return x.WeakDependency 614 } 615 return nil 616} 617 618func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { 619 if x != nil { 620 return x.MessageType 621 } 622 return nil 623} 624 625func (x *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto { 626 if x != nil { 627 return x.EnumType 628 } 629 return nil 630} 631 632func (x *FileDescriptorProto) GetService() []*ServiceDescriptorProto { 633 if x != nil { 634 return x.Service 635 } 636 return nil 637} 638 639func (x *FileDescriptorProto) GetExtension() []*FieldDescriptorProto { 640 if x != nil { 641 return x.Extension 642 } 643 return nil 644} 645 646func (x *FileDescriptorProto) GetOptions() *FileOptions { 647 if x != nil { 648 return x.Options 649 } 650 return nil 651} 652 653func (x *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo { 654 if x != nil { 655 return x.SourceCodeInfo 656 } 657 return nil 658} 659 660func (x *FileDescriptorProto) GetSyntax() string { 661 if x != nil && x.Syntax != nil { 662 return *x.Syntax 663 } 664 return "" 665} 666 667// Describes a message type. 668type DescriptorProto struct { 669 state protoimpl.MessageState 670 sizeCache protoimpl.SizeCache 671 unknownFields protoimpl.UnknownFields 672 673 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 674 Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"` 675 Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"` 676 NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"` 677 EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` 678 ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"` 679 OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"` 680 Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"` 681 ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 682 // Reserved field names, which may not be used by fields in the same message. 683 // A given name may only be reserved once. 684 ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 685} 686 687func (x *DescriptorProto) Reset() { 688 *x = DescriptorProto{} 689 if protoimpl.UnsafeEnabled { 690 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 692 ms.StoreMessageInfo(mi) 693 } 694} 695 696func (x *DescriptorProto) String() string { 697 return protoimpl.X.MessageStringOf(x) 698} 699 700func (*DescriptorProto) ProtoMessage() {} 701 702func (x *DescriptorProto) ProtoReflect() protoreflect.Message { 703 mi := &file_google_protobuf_descriptor_proto_msgTypes[2] 704 if protoimpl.UnsafeEnabled && x != nil { 705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 706 if ms.LoadMessageInfo() == nil { 707 ms.StoreMessageInfo(mi) 708 } 709 return ms 710 } 711 return mi.MessageOf(x) 712} 713 714// Deprecated: Use DescriptorProto.ProtoReflect.Descriptor instead. 715func (*DescriptorProto) Descriptor() ([]byte, []int) { 716 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2} 717} 718 719func (x *DescriptorProto) GetName() string { 720 if x != nil && x.Name != nil { 721 return *x.Name 722 } 723 return "" 724} 725 726func (x *DescriptorProto) GetField() []*FieldDescriptorProto { 727 if x != nil { 728 return x.Field 729 } 730 return nil 731} 732 733func (x *DescriptorProto) GetExtension() []*FieldDescriptorProto { 734 if x != nil { 735 return x.Extension 736 } 737 return nil 738} 739 740func (x *DescriptorProto) GetNestedType() []*DescriptorProto { 741 if x != nil { 742 return x.NestedType 743 } 744 return nil 745} 746 747func (x *DescriptorProto) GetEnumType() []*EnumDescriptorProto { 748 if x != nil { 749 return x.EnumType 750 } 751 return nil 752} 753 754func (x *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange { 755 if x != nil { 756 return x.ExtensionRange 757 } 758 return nil 759} 760 761func (x *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto { 762 if x != nil { 763 return x.OneofDecl 764 } 765 return nil 766} 767 768func (x *DescriptorProto) GetOptions() *MessageOptions { 769 if x != nil { 770 return x.Options 771 } 772 return nil 773} 774 775func (x *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange { 776 if x != nil { 777 return x.ReservedRange 778 } 779 return nil 780} 781 782func (x *DescriptorProto) GetReservedName() []string { 783 if x != nil { 784 return x.ReservedName 785 } 786 return nil 787} 788 789type ExtensionRangeOptions struct { 790 state protoimpl.MessageState 791 sizeCache protoimpl.SizeCache 792 unknownFields protoimpl.UnknownFields 793 extensionFields protoimpl.ExtensionFields 794 795 // The parser stores options it doesn't recognize here. See above. 796 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 797} 798 799func (x *ExtensionRangeOptions) Reset() { 800 *x = ExtensionRangeOptions{} 801 if protoimpl.UnsafeEnabled { 802 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 804 ms.StoreMessageInfo(mi) 805 } 806} 807 808func (x *ExtensionRangeOptions) String() string { 809 return protoimpl.X.MessageStringOf(x) 810} 811 812func (*ExtensionRangeOptions) ProtoMessage() {} 813 814func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message { 815 mi := &file_google_protobuf_descriptor_proto_msgTypes[3] 816 if protoimpl.UnsafeEnabled && x != nil { 817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 818 if ms.LoadMessageInfo() == nil { 819 ms.StoreMessageInfo(mi) 820 } 821 return ms 822 } 823 return mi.MessageOf(x) 824} 825 826// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor instead. 827func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { 828 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3} 829} 830 831func (x *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { 832 if x != nil { 833 return x.UninterpretedOption 834 } 835 return nil 836} 837 838// Describes a field within a message. 839type FieldDescriptorProto struct { 840 state protoimpl.MessageState 841 sizeCache protoimpl.SizeCache 842 unknownFields protoimpl.UnknownFields 843 844 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 845 Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"` 846 Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"` 847 // If type_name is set, this need not be set. If both this and type_name 848 // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. 849 Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"` 850 // For message and enum types, this is the name of the type. If the name 851 // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping 852 // rules are used to find the type (i.e. first the nested types within this 853 // message are searched, then within the parent, on up to the root 854 // namespace). 855 TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"` 856 // For extensions, this is the name of the type being extended. It is 857 // resolved in the same manner as type_name. 858 Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"` 859 // For numeric types, contains the original text representation of the value. 860 // For booleans, "true" or "false". 861 // For strings, contains the default text contents (not escaped in any way). 862 // For bytes, contains the C escaped value. All bytes >= 128 are escaped. 863 // TODO(kenton): Base-64 encode? 864 DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"` 865 // If set, gives the index of a oneof in the containing type's oneof_decl 866 // list. This field is a member of that oneof. 867 OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"` 868 // JSON name of this field. The value is set by protocol compiler. If the 869 // user has set a "json_name" option on this field, that option's value 870 // will be used. Otherwise, it's deduced from the field's name by converting 871 // it to camelCase. 872 JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` 873 Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` 874 // If true, this is a proto3 "optional". When a proto3 field is optional, it 875 // tracks presence regardless of field type. 876 // 877 // When proto3_optional is true, this field must be belong to a oneof to 878 // signal to old proto3 clients that presence is tracked for this field. This 879 // oneof is known as a "synthetic" oneof, and this field must be its sole 880 // member (each proto3 optional field gets its own synthetic oneof). Synthetic 881 // oneofs exist in the descriptor only, and do not generate any API. Synthetic 882 // oneofs must be ordered after all "real" oneofs. 883 // 884 // For message fields, proto3_optional doesn't create any semantic change, 885 // since non-repeated message fields always track presence. However it still 886 // indicates the semantic detail of whether the user wrote "optional" or not. 887 // This can be useful for round-tripping the .proto file. For consistency we 888 // give message fields a synthetic oneof also, even though it is not required 889 // to track presence. This is especially important because the parser can't 890 // tell if a field is a message or an enum, so it must always create a 891 // synthetic oneof. 892 // 893 // Proto2 optional fields do not set this flag, because they already indicate 894 // optional with `LABEL_OPTIONAL`. 895 Proto3Optional *bool `protobuf:"varint,17,opt,name=proto3_optional,json=proto3Optional" json:"proto3_optional,omitempty"` 896} 897 898func (x *FieldDescriptorProto) Reset() { 899 *x = FieldDescriptorProto{} 900 if protoimpl.UnsafeEnabled { 901 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 903 ms.StoreMessageInfo(mi) 904 } 905} 906 907func (x *FieldDescriptorProto) String() string { 908 return protoimpl.X.MessageStringOf(x) 909} 910 911func (*FieldDescriptorProto) ProtoMessage() {} 912 913func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message { 914 mi := &file_google_protobuf_descriptor_proto_msgTypes[4] 915 if protoimpl.UnsafeEnabled && x != nil { 916 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 917 if ms.LoadMessageInfo() == nil { 918 ms.StoreMessageInfo(mi) 919 } 920 return ms 921 } 922 return mi.MessageOf(x) 923} 924 925// Deprecated: Use FieldDescriptorProto.ProtoReflect.Descriptor instead. 926func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { 927 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4} 928} 929 930func (x *FieldDescriptorProto) GetName() string { 931 if x != nil && x.Name != nil { 932 return *x.Name 933 } 934 return "" 935} 936 937func (x *FieldDescriptorProto) GetNumber() int32 { 938 if x != nil && x.Number != nil { 939 return *x.Number 940 } 941 return 0 942} 943 944func (x *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label { 945 if x != nil && x.Label != nil { 946 return *x.Label 947 } 948 return FieldDescriptorProto_LABEL_OPTIONAL 949} 950 951func (x *FieldDescriptorProto) GetType() FieldDescriptorProto_Type { 952 if x != nil && x.Type != nil { 953 return *x.Type 954 } 955 return FieldDescriptorProto_TYPE_DOUBLE 956} 957 958func (x *FieldDescriptorProto) GetTypeName() string { 959 if x != nil && x.TypeName != nil { 960 return *x.TypeName 961 } 962 return "" 963} 964 965func (x *FieldDescriptorProto) GetExtendee() string { 966 if x != nil && x.Extendee != nil { 967 return *x.Extendee 968 } 969 return "" 970} 971 972func (x *FieldDescriptorProto) GetDefaultValue() string { 973 if x != nil && x.DefaultValue != nil { 974 return *x.DefaultValue 975 } 976 return "" 977} 978 979func (x *FieldDescriptorProto) GetOneofIndex() int32 { 980 if x != nil && x.OneofIndex != nil { 981 return *x.OneofIndex 982 } 983 return 0 984} 985 986func (x *FieldDescriptorProto) GetJsonName() string { 987 if x != nil && x.JsonName != nil { 988 return *x.JsonName 989 } 990 return "" 991} 992 993func (x *FieldDescriptorProto) GetOptions() *FieldOptions { 994 if x != nil { 995 return x.Options 996 } 997 return nil 998} 999 1000func (x *FieldDescriptorProto) GetProto3Optional() bool { 1001 if x != nil && x.Proto3Optional != nil { 1002 return *x.Proto3Optional 1003 } 1004 return false 1005} 1006 1007// Describes a oneof. 1008type OneofDescriptorProto struct { 1009 state protoimpl.MessageState 1010 sizeCache protoimpl.SizeCache 1011 unknownFields protoimpl.UnknownFields 1012 1013 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1014 Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` 1015} 1016 1017func (x *OneofDescriptorProto) Reset() { 1018 *x = OneofDescriptorProto{} 1019 if protoimpl.UnsafeEnabled { 1020 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1022 ms.StoreMessageInfo(mi) 1023 } 1024} 1025 1026func (x *OneofDescriptorProto) String() string { 1027 return protoimpl.X.MessageStringOf(x) 1028} 1029 1030func (*OneofDescriptorProto) ProtoMessage() {} 1031 1032func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message { 1033 mi := &file_google_protobuf_descriptor_proto_msgTypes[5] 1034 if protoimpl.UnsafeEnabled && x != nil { 1035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1036 if ms.LoadMessageInfo() == nil { 1037 ms.StoreMessageInfo(mi) 1038 } 1039 return ms 1040 } 1041 return mi.MessageOf(x) 1042} 1043 1044// Deprecated: Use OneofDescriptorProto.ProtoReflect.Descriptor instead. 1045func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { 1046 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{5} 1047} 1048 1049func (x *OneofDescriptorProto) GetName() string { 1050 if x != nil && x.Name != nil { 1051 return *x.Name 1052 } 1053 return "" 1054} 1055 1056func (x *OneofDescriptorProto) GetOptions() *OneofOptions { 1057 if x != nil { 1058 return x.Options 1059 } 1060 return nil 1061} 1062 1063// Describes an enum type. 1064type EnumDescriptorProto struct { 1065 state protoimpl.MessageState 1066 sizeCache protoimpl.SizeCache 1067 unknownFields protoimpl.UnknownFields 1068 1069 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1070 Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"` 1071 Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1072 // Range of reserved numeric values. Reserved numeric values may not be used 1073 // by enum values in the same enum declaration. Reserved ranges may not 1074 // overlap. 1075 ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` 1076 // Reserved enum value names, which may not be reused. A given name may only 1077 // be reserved once. 1078 ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` 1079} 1080 1081func (x *EnumDescriptorProto) Reset() { 1082 *x = EnumDescriptorProto{} 1083 if protoimpl.UnsafeEnabled { 1084 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1085 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1086 ms.StoreMessageInfo(mi) 1087 } 1088} 1089 1090func (x *EnumDescriptorProto) String() string { 1091 return protoimpl.X.MessageStringOf(x) 1092} 1093 1094func (*EnumDescriptorProto) ProtoMessage() {} 1095 1096func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message { 1097 mi := &file_google_protobuf_descriptor_proto_msgTypes[6] 1098 if protoimpl.UnsafeEnabled && x != nil { 1099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1100 if ms.LoadMessageInfo() == nil { 1101 ms.StoreMessageInfo(mi) 1102 } 1103 return ms 1104 } 1105 return mi.MessageOf(x) 1106} 1107 1108// Deprecated: Use EnumDescriptorProto.ProtoReflect.Descriptor instead. 1109func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { 1110 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6} 1111} 1112 1113func (x *EnumDescriptorProto) GetName() string { 1114 if x != nil && x.Name != nil { 1115 return *x.Name 1116 } 1117 return "" 1118} 1119 1120func (x *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto { 1121 if x != nil { 1122 return x.Value 1123 } 1124 return nil 1125} 1126 1127func (x *EnumDescriptorProto) GetOptions() *EnumOptions { 1128 if x != nil { 1129 return x.Options 1130 } 1131 return nil 1132} 1133 1134func (x *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange { 1135 if x != nil { 1136 return x.ReservedRange 1137 } 1138 return nil 1139} 1140 1141func (x *EnumDescriptorProto) GetReservedName() []string { 1142 if x != nil { 1143 return x.ReservedName 1144 } 1145 return nil 1146} 1147 1148// Describes a value within an enum. 1149type EnumValueDescriptorProto struct { 1150 state protoimpl.MessageState 1151 sizeCache protoimpl.SizeCache 1152 unknownFields protoimpl.UnknownFields 1153 1154 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1155 Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` 1156 Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1157} 1158 1159func (x *EnumValueDescriptorProto) Reset() { 1160 *x = EnumValueDescriptorProto{} 1161 if protoimpl.UnsafeEnabled { 1162 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1164 ms.StoreMessageInfo(mi) 1165 } 1166} 1167 1168func (x *EnumValueDescriptorProto) String() string { 1169 return protoimpl.X.MessageStringOf(x) 1170} 1171 1172func (*EnumValueDescriptorProto) ProtoMessage() {} 1173 1174func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message { 1175 mi := &file_google_protobuf_descriptor_proto_msgTypes[7] 1176 if protoimpl.UnsafeEnabled && x != nil { 1177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1178 if ms.LoadMessageInfo() == nil { 1179 ms.StoreMessageInfo(mi) 1180 } 1181 return ms 1182 } 1183 return mi.MessageOf(x) 1184} 1185 1186// Deprecated: Use EnumValueDescriptorProto.ProtoReflect.Descriptor instead. 1187func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { 1188 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{7} 1189} 1190 1191func (x *EnumValueDescriptorProto) GetName() string { 1192 if x != nil && x.Name != nil { 1193 return *x.Name 1194 } 1195 return "" 1196} 1197 1198func (x *EnumValueDescriptorProto) GetNumber() int32 { 1199 if x != nil && x.Number != nil { 1200 return *x.Number 1201 } 1202 return 0 1203} 1204 1205func (x *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { 1206 if x != nil { 1207 return x.Options 1208 } 1209 return nil 1210} 1211 1212// Describes a service. 1213type ServiceDescriptorProto struct { 1214 state protoimpl.MessageState 1215 sizeCache protoimpl.SizeCache 1216 unknownFields protoimpl.UnknownFields 1217 1218 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1219 Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` 1220 Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 1221} 1222 1223func (x *ServiceDescriptorProto) Reset() { 1224 *x = ServiceDescriptorProto{} 1225 if protoimpl.UnsafeEnabled { 1226 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1228 ms.StoreMessageInfo(mi) 1229 } 1230} 1231 1232func (x *ServiceDescriptorProto) String() string { 1233 return protoimpl.X.MessageStringOf(x) 1234} 1235 1236func (*ServiceDescriptorProto) ProtoMessage() {} 1237 1238func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message { 1239 mi := &file_google_protobuf_descriptor_proto_msgTypes[8] 1240 if protoimpl.UnsafeEnabled && x != nil { 1241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1242 if ms.LoadMessageInfo() == nil { 1243 ms.StoreMessageInfo(mi) 1244 } 1245 return ms 1246 } 1247 return mi.MessageOf(x) 1248} 1249 1250// Deprecated: Use ServiceDescriptorProto.ProtoReflect.Descriptor instead. 1251func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { 1252 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{8} 1253} 1254 1255func (x *ServiceDescriptorProto) GetName() string { 1256 if x != nil && x.Name != nil { 1257 return *x.Name 1258 } 1259 return "" 1260} 1261 1262func (x *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto { 1263 if x != nil { 1264 return x.Method 1265 } 1266 return nil 1267} 1268 1269func (x *ServiceDescriptorProto) GetOptions() *ServiceOptions { 1270 if x != nil { 1271 return x.Options 1272 } 1273 return nil 1274} 1275 1276// Describes a method of a service. 1277type MethodDescriptorProto struct { 1278 state protoimpl.MessageState 1279 sizeCache protoimpl.SizeCache 1280 unknownFields protoimpl.UnknownFields 1281 1282 Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` 1283 // Input and output type names. These are resolved in the same way as 1284 // FieldDescriptorProto.type_name, but must refer to a message type. 1285 InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"` 1286 OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"` 1287 Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"` 1288 // Identifies if client streams multiple client messages 1289 ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` 1290 // Identifies if server streams multiple server messages 1291 ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` 1292} 1293 1294// Default values for MethodDescriptorProto fields. 1295const ( 1296 Default_MethodDescriptorProto_ClientStreaming = bool(false) 1297 Default_MethodDescriptorProto_ServerStreaming = bool(false) 1298) 1299 1300func (x *MethodDescriptorProto) Reset() { 1301 *x = MethodDescriptorProto{} 1302 if protoimpl.UnsafeEnabled { 1303 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1305 ms.StoreMessageInfo(mi) 1306 } 1307} 1308 1309func (x *MethodDescriptorProto) String() string { 1310 return protoimpl.X.MessageStringOf(x) 1311} 1312 1313func (*MethodDescriptorProto) ProtoMessage() {} 1314 1315func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message { 1316 mi := &file_google_protobuf_descriptor_proto_msgTypes[9] 1317 if protoimpl.UnsafeEnabled && x != nil { 1318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1319 if ms.LoadMessageInfo() == nil { 1320 ms.StoreMessageInfo(mi) 1321 } 1322 return ms 1323 } 1324 return mi.MessageOf(x) 1325} 1326 1327// Deprecated: Use MethodDescriptorProto.ProtoReflect.Descriptor instead. 1328func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { 1329 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{9} 1330} 1331 1332func (x *MethodDescriptorProto) GetName() string { 1333 if x != nil && x.Name != nil { 1334 return *x.Name 1335 } 1336 return "" 1337} 1338 1339func (x *MethodDescriptorProto) GetInputType() string { 1340 if x != nil && x.InputType != nil { 1341 return *x.InputType 1342 } 1343 return "" 1344} 1345 1346func (x *MethodDescriptorProto) GetOutputType() string { 1347 if x != nil && x.OutputType != nil { 1348 return *x.OutputType 1349 } 1350 return "" 1351} 1352 1353func (x *MethodDescriptorProto) GetOptions() *MethodOptions { 1354 if x != nil { 1355 return x.Options 1356 } 1357 return nil 1358} 1359 1360func (x *MethodDescriptorProto) GetClientStreaming() bool { 1361 if x != nil && x.ClientStreaming != nil { 1362 return *x.ClientStreaming 1363 } 1364 return Default_MethodDescriptorProto_ClientStreaming 1365} 1366 1367func (x *MethodDescriptorProto) GetServerStreaming() bool { 1368 if x != nil && x.ServerStreaming != nil { 1369 return *x.ServerStreaming 1370 } 1371 return Default_MethodDescriptorProto_ServerStreaming 1372} 1373 1374type FileOptions struct { 1375 state protoimpl.MessageState 1376 sizeCache protoimpl.SizeCache 1377 unknownFields protoimpl.UnknownFields 1378 extensionFields protoimpl.ExtensionFields 1379 1380 // Sets the Java package where classes generated from this .proto will be 1381 // placed. By default, the proto package is used, but this is often 1382 // inappropriate because proto packages do not normally start with backwards 1383 // domain names. 1384 JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"` 1385 // If set, all the classes from the .proto file are wrapped in a single 1386 // outer class with the given name. This applies to both Proto1 1387 // (equivalent to the old "--one_java_file" option) and Proto2 (where 1388 // a .proto always translates to a single class, but you may want to 1389 // explicitly choose the class name). 1390 JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"` 1391 // If set true, then the Java code generator will generate a separate .java 1392 // file for each top-level message, enum, and service defined in the .proto 1393 // file. Thus, these types will *not* be nested inside the outer class 1394 // named by java_outer_classname. However, the outer class will still be 1395 // generated to contain the file's getDescriptor() method as well as any 1396 // top-level extensions defined in the file. 1397 JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` 1398 // This option does nothing. 1399 // 1400 // Deprecated: Do not use. 1401 JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` 1402 // If set true, then the Java2 code generator will generate code that 1403 // throws an exception whenever an attempt is made to assign a non-UTF-8 1404 // byte sequence to a string field. 1405 // Message reflection will do the same. 1406 // However, an extension field still accepts non-UTF-8 byte sequences. 1407 // This option has no effect on when used with the lite runtime. 1408 JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"` 1409 OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"` 1410 // Sets the Go package where structs generated from this .proto will be 1411 // placed. If omitted, the Go package will be derived from the following: 1412 // - The basename of the package import path, if provided. 1413 // - Otherwise, the package statement in the .proto file, if present. 1414 // - Otherwise, the basename of the .proto file, without extension. 1415 GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"` 1416 // Should generic services be generated in each language? "Generic" services 1417 // are not specific to any particular RPC system. They are generated by the 1418 // main code generators in each language (without additional plugins). 1419 // Generic services were the only kind of service generation supported by 1420 // early versions of google.protobuf. 1421 // 1422 // Generic services are now considered deprecated in favor of using plugins 1423 // that generate code specific to your particular RPC system. Therefore, 1424 // these default to false. Old code which depends on generic services should 1425 // explicitly set them to true. 1426 CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` 1427 JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` 1428 PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` 1429 PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` 1430 // Is this file deprecated? 1431 // Depending on the target platform, this can emit Deprecated annotations 1432 // for everything in the file, or it will be completely ignored; in the very 1433 // least, this is a formalization for deprecating files. 1434 Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1435 // Enables the use of arenas for the proto messages in this file. This applies 1436 // only to generated classes for C++. 1437 CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=1" json:"cc_enable_arenas,omitempty"` 1438 // Sets the objective c class prefix which is prepended to all objective c 1439 // generated classes from this .proto. There is no default. 1440 ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"` 1441 // Namespace for generated classes; defaults to the package. 1442 CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"` 1443 // By default Swift generators will take the proto package and CamelCase it 1444 // replacing '.' with underscore and use that to prefix the types/symbols 1445 // defined. When this options is provided, they will use this value instead 1446 // to prefix the types/symbols defined. 1447 SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"` 1448 // Sets the php class prefix which is prepended to all php generated classes 1449 // from this .proto. Default is empty. 1450 PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` 1451 // Use this option to change the namespace of php generated classes. Default 1452 // is empty. When this option is empty, the package name will be used for 1453 // determining the namespace. 1454 PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` 1455 // Use this option to change the namespace of php generated metadata classes. 1456 // Default is empty. When this option is empty, the proto file name will be 1457 // used for determining the namespace. 1458 PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` 1459 // Use this option to change the package of ruby generated classes. Default 1460 // is empty. When this option is not set, the package name will be used for 1461 // determining the ruby package. 1462 RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` 1463 // The parser stores options it doesn't recognize here. 1464 // See the documentation for the "Options" section above. 1465 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1466} 1467 1468// Default values for FileOptions fields. 1469const ( 1470 Default_FileOptions_JavaMultipleFiles = bool(false) 1471 Default_FileOptions_JavaStringCheckUtf8 = bool(false) 1472 Default_FileOptions_OptimizeFor = FileOptions_SPEED 1473 Default_FileOptions_CcGenericServices = bool(false) 1474 Default_FileOptions_JavaGenericServices = bool(false) 1475 Default_FileOptions_PyGenericServices = bool(false) 1476 Default_FileOptions_PhpGenericServices = bool(false) 1477 Default_FileOptions_Deprecated = bool(false) 1478 Default_FileOptions_CcEnableArenas = bool(true) 1479) 1480 1481func (x *FileOptions) Reset() { 1482 *x = FileOptions{} 1483 if protoimpl.UnsafeEnabled { 1484 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488} 1489 1490func (x *FileOptions) String() string { 1491 return protoimpl.X.MessageStringOf(x) 1492} 1493 1494func (*FileOptions) ProtoMessage() {} 1495 1496func (x *FileOptions) ProtoReflect() protoreflect.Message { 1497 mi := &file_google_protobuf_descriptor_proto_msgTypes[10] 1498 if protoimpl.UnsafeEnabled && x != nil { 1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1500 if ms.LoadMessageInfo() == nil { 1501 ms.StoreMessageInfo(mi) 1502 } 1503 return ms 1504 } 1505 return mi.MessageOf(x) 1506} 1507 1508// Deprecated: Use FileOptions.ProtoReflect.Descriptor instead. 1509func (*FileOptions) Descriptor() ([]byte, []int) { 1510 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10} 1511} 1512 1513func (x *FileOptions) GetJavaPackage() string { 1514 if x != nil && x.JavaPackage != nil { 1515 return *x.JavaPackage 1516 } 1517 return "" 1518} 1519 1520func (x *FileOptions) GetJavaOuterClassname() string { 1521 if x != nil && x.JavaOuterClassname != nil { 1522 return *x.JavaOuterClassname 1523 } 1524 return "" 1525} 1526 1527func (x *FileOptions) GetJavaMultipleFiles() bool { 1528 if x != nil && x.JavaMultipleFiles != nil { 1529 return *x.JavaMultipleFiles 1530 } 1531 return Default_FileOptions_JavaMultipleFiles 1532} 1533 1534// Deprecated: Do not use. 1535func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool { 1536 if x != nil && x.JavaGenerateEqualsAndHash != nil { 1537 return *x.JavaGenerateEqualsAndHash 1538 } 1539 return false 1540} 1541 1542func (x *FileOptions) GetJavaStringCheckUtf8() bool { 1543 if x != nil && x.JavaStringCheckUtf8 != nil { 1544 return *x.JavaStringCheckUtf8 1545 } 1546 return Default_FileOptions_JavaStringCheckUtf8 1547} 1548 1549func (x *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode { 1550 if x != nil && x.OptimizeFor != nil { 1551 return *x.OptimizeFor 1552 } 1553 return Default_FileOptions_OptimizeFor 1554} 1555 1556func (x *FileOptions) GetGoPackage() string { 1557 if x != nil && x.GoPackage != nil { 1558 return *x.GoPackage 1559 } 1560 return "" 1561} 1562 1563func (x *FileOptions) GetCcGenericServices() bool { 1564 if x != nil && x.CcGenericServices != nil { 1565 return *x.CcGenericServices 1566 } 1567 return Default_FileOptions_CcGenericServices 1568} 1569 1570func (x *FileOptions) GetJavaGenericServices() bool { 1571 if x != nil && x.JavaGenericServices != nil { 1572 return *x.JavaGenericServices 1573 } 1574 return Default_FileOptions_JavaGenericServices 1575} 1576 1577func (x *FileOptions) GetPyGenericServices() bool { 1578 if x != nil && x.PyGenericServices != nil { 1579 return *x.PyGenericServices 1580 } 1581 return Default_FileOptions_PyGenericServices 1582} 1583 1584func (x *FileOptions) GetPhpGenericServices() bool { 1585 if x != nil && x.PhpGenericServices != nil { 1586 return *x.PhpGenericServices 1587 } 1588 return Default_FileOptions_PhpGenericServices 1589} 1590 1591func (x *FileOptions) GetDeprecated() bool { 1592 if x != nil && x.Deprecated != nil { 1593 return *x.Deprecated 1594 } 1595 return Default_FileOptions_Deprecated 1596} 1597 1598func (x *FileOptions) GetCcEnableArenas() bool { 1599 if x != nil && x.CcEnableArenas != nil { 1600 return *x.CcEnableArenas 1601 } 1602 return Default_FileOptions_CcEnableArenas 1603} 1604 1605func (x *FileOptions) GetObjcClassPrefix() string { 1606 if x != nil && x.ObjcClassPrefix != nil { 1607 return *x.ObjcClassPrefix 1608 } 1609 return "" 1610} 1611 1612func (x *FileOptions) GetCsharpNamespace() string { 1613 if x != nil && x.CsharpNamespace != nil { 1614 return *x.CsharpNamespace 1615 } 1616 return "" 1617} 1618 1619func (x *FileOptions) GetSwiftPrefix() string { 1620 if x != nil && x.SwiftPrefix != nil { 1621 return *x.SwiftPrefix 1622 } 1623 return "" 1624} 1625 1626func (x *FileOptions) GetPhpClassPrefix() string { 1627 if x != nil && x.PhpClassPrefix != nil { 1628 return *x.PhpClassPrefix 1629 } 1630 return "" 1631} 1632 1633func (x *FileOptions) GetPhpNamespace() string { 1634 if x != nil && x.PhpNamespace != nil { 1635 return *x.PhpNamespace 1636 } 1637 return "" 1638} 1639 1640func (x *FileOptions) GetPhpMetadataNamespace() string { 1641 if x != nil && x.PhpMetadataNamespace != nil { 1642 return *x.PhpMetadataNamespace 1643 } 1644 return "" 1645} 1646 1647func (x *FileOptions) GetRubyPackage() string { 1648 if x != nil && x.RubyPackage != nil { 1649 return *x.RubyPackage 1650 } 1651 return "" 1652} 1653 1654func (x *FileOptions) GetUninterpretedOption() []*UninterpretedOption { 1655 if x != nil { 1656 return x.UninterpretedOption 1657 } 1658 return nil 1659} 1660 1661type MessageOptions struct { 1662 state protoimpl.MessageState 1663 sizeCache protoimpl.SizeCache 1664 unknownFields protoimpl.UnknownFields 1665 extensionFields protoimpl.ExtensionFields 1666 1667 // Set true to use the old proto1 MessageSet wire format for extensions. 1668 // This is provided for backwards-compatibility with the MessageSet wire 1669 // format. You should not use this for any other reason: It's less 1670 // efficient, has fewer features, and is more complicated. 1671 // 1672 // The message must be defined exactly as follows: 1673 // message Foo { 1674 // option message_set_wire_format = true; 1675 // extensions 4 to max; 1676 // } 1677 // Note that the message cannot have any defined fields; MessageSets only 1678 // have extensions. 1679 // 1680 // All extensions of your type must be singular messages; e.g. they cannot 1681 // be int32s, enums, or repeated messages. 1682 // 1683 // Because this is an option, the above two restrictions are not enforced by 1684 // the protocol compiler. 1685 MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"` 1686 // Disables the generation of the standard "descriptor()" accessor, which can 1687 // conflict with a field of the same name. This is meant to make migration 1688 // from proto1 easier; new code should avoid fields named "descriptor". 1689 NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"` 1690 // Is this message deprecated? 1691 // Depending on the target platform, this can emit Deprecated annotations 1692 // for the message, or it will be completely ignored; in the very least, 1693 // this is a formalization for deprecating messages. 1694 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1695 // Whether the message is an automatically generated map entry type for the 1696 // maps field. 1697 // 1698 // For maps fields: 1699 // map<KeyType, ValueType> map_field = 1; 1700 // The parsed descriptor looks like: 1701 // message MapFieldEntry { 1702 // option map_entry = true; 1703 // optional KeyType key = 1; 1704 // optional ValueType value = 2; 1705 // } 1706 // repeated MapFieldEntry map_field = 1; 1707 // 1708 // Implementations may choose not to generate the map_entry=true message, but 1709 // use a native map in the target language to hold the keys and values. 1710 // The reflection APIs in such implementations still need to work as 1711 // if the field is a repeated message field. 1712 // 1713 // NOTE: Do not set the option in .proto files. Always use the maps syntax 1714 // instead. The option should only be implicitly set by the proto compiler 1715 // parser. 1716 MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` 1717 // The parser stores options it doesn't recognize here. See above. 1718 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1719} 1720 1721// Default values for MessageOptions fields. 1722const ( 1723 Default_MessageOptions_MessageSetWireFormat = bool(false) 1724 Default_MessageOptions_NoStandardDescriptorAccessor = bool(false) 1725 Default_MessageOptions_Deprecated = bool(false) 1726) 1727 1728func (x *MessageOptions) Reset() { 1729 *x = MessageOptions{} 1730 if protoimpl.UnsafeEnabled { 1731 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1732 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1733 ms.StoreMessageInfo(mi) 1734 } 1735} 1736 1737func (x *MessageOptions) String() string { 1738 return protoimpl.X.MessageStringOf(x) 1739} 1740 1741func (*MessageOptions) ProtoMessage() {} 1742 1743func (x *MessageOptions) ProtoReflect() protoreflect.Message { 1744 mi := &file_google_protobuf_descriptor_proto_msgTypes[11] 1745 if protoimpl.UnsafeEnabled && x != nil { 1746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1747 if ms.LoadMessageInfo() == nil { 1748 ms.StoreMessageInfo(mi) 1749 } 1750 return ms 1751 } 1752 return mi.MessageOf(x) 1753} 1754 1755// Deprecated: Use MessageOptions.ProtoReflect.Descriptor instead. 1756func (*MessageOptions) Descriptor() ([]byte, []int) { 1757 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{11} 1758} 1759 1760func (x *MessageOptions) GetMessageSetWireFormat() bool { 1761 if x != nil && x.MessageSetWireFormat != nil { 1762 return *x.MessageSetWireFormat 1763 } 1764 return Default_MessageOptions_MessageSetWireFormat 1765} 1766 1767func (x *MessageOptions) GetNoStandardDescriptorAccessor() bool { 1768 if x != nil && x.NoStandardDescriptorAccessor != nil { 1769 return *x.NoStandardDescriptorAccessor 1770 } 1771 return Default_MessageOptions_NoStandardDescriptorAccessor 1772} 1773 1774func (x *MessageOptions) GetDeprecated() bool { 1775 if x != nil && x.Deprecated != nil { 1776 return *x.Deprecated 1777 } 1778 return Default_MessageOptions_Deprecated 1779} 1780 1781func (x *MessageOptions) GetMapEntry() bool { 1782 if x != nil && x.MapEntry != nil { 1783 return *x.MapEntry 1784 } 1785 return false 1786} 1787 1788func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption { 1789 if x != nil { 1790 return x.UninterpretedOption 1791 } 1792 return nil 1793} 1794 1795type FieldOptions struct { 1796 state protoimpl.MessageState 1797 sizeCache protoimpl.SizeCache 1798 unknownFields protoimpl.UnknownFields 1799 extensionFields protoimpl.ExtensionFields 1800 1801 // The ctype option instructs the C++ code generator to use a different 1802 // representation of the field than it normally would. See the specific 1803 // options below. This option is not yet implemented in the open source 1804 // release -- sorry, we'll try to include it in a future version! 1805 Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"` 1806 // The packed option can be enabled for repeated primitive fields to enable 1807 // a more efficient representation on the wire. Rather than repeatedly 1808 // writing the tag and type for each element, the entire array is encoded as 1809 // a single length-delimited blob. In proto3, only explicit setting it to 1810 // false will avoid using packed encoding. 1811 Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` 1812 // The jstype option determines the JavaScript type used for values of the 1813 // field. The option is permitted only for 64 bit integral and fixed types 1814 // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING 1815 // is represented as JavaScript string, which avoids loss of precision that 1816 // can happen when a large value is converted to a floating point JavaScript. 1817 // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to 1818 // use the JavaScript "number" type. The behavior of the default option 1819 // JS_NORMAL is implementation dependent. 1820 // 1821 // This option is an enum to permit additional types to be added, e.g. 1822 // goog.math.Integer. 1823 Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` 1824 // Should this field be parsed lazily? Lazy applies only to message-type 1825 // fields. It means that when the outer message is initially parsed, the 1826 // inner message's contents will not be parsed but instead stored in encoded 1827 // form. The inner message will actually be parsed when it is first accessed. 1828 // 1829 // This is only a hint. Implementations are free to choose whether to use 1830 // eager or lazy parsing regardless of the value of this option. However, 1831 // setting this option true suggests that the protocol author believes that 1832 // using lazy parsing on this field is worth the additional bookkeeping 1833 // overhead typically needed to implement it. 1834 // 1835 // This option does not affect the public interface of any generated code; 1836 // all method signatures remain the same. Furthermore, thread-safety of the 1837 // interface is not affected by this option; const methods remain safe to 1838 // call from multiple threads concurrently, while non-const methods continue 1839 // to require exclusive access. 1840 // 1841 // 1842 // Note that implementations may choose not to check required fields within 1843 // a lazy sub-message. That is, calling IsInitialized() on the outer message 1844 // may return true even if the inner message has missing required fields. 1845 // This is necessary because otherwise the inner message would have to be 1846 // parsed in order to perform the check, defeating the purpose of lazy 1847 // parsing. An implementation which chooses not to check required fields 1848 // must be consistent about it. That is, for any particular sub-message, the 1849 // implementation must either *always* check its required fields, or *never* 1850 // check its required fields, regardless of whether or not the message has 1851 // been parsed. 1852 Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"` 1853 // Is this field deprecated? 1854 // Depending on the target platform, this can emit Deprecated annotations 1855 // for accessors, or it will be completely ignored; in the very least, this 1856 // is a formalization for deprecating fields. 1857 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 1858 // For Google-internal migration only. Do not use. 1859 Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` 1860 // The parser stores options it doesn't recognize here. See above. 1861 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1862} 1863 1864// Default values for FieldOptions fields. 1865const ( 1866 Default_FieldOptions_Ctype = FieldOptions_STRING 1867 Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL 1868 Default_FieldOptions_Lazy = bool(false) 1869 Default_FieldOptions_Deprecated = bool(false) 1870 Default_FieldOptions_Weak = bool(false) 1871) 1872 1873func (x *FieldOptions) Reset() { 1874 *x = FieldOptions{} 1875 if protoimpl.UnsafeEnabled { 1876 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 1877 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1878 ms.StoreMessageInfo(mi) 1879 } 1880} 1881 1882func (x *FieldOptions) String() string { 1883 return protoimpl.X.MessageStringOf(x) 1884} 1885 1886func (*FieldOptions) ProtoMessage() {} 1887 1888func (x *FieldOptions) ProtoReflect() protoreflect.Message { 1889 mi := &file_google_protobuf_descriptor_proto_msgTypes[12] 1890 if protoimpl.UnsafeEnabled && x != nil { 1891 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1892 if ms.LoadMessageInfo() == nil { 1893 ms.StoreMessageInfo(mi) 1894 } 1895 return ms 1896 } 1897 return mi.MessageOf(x) 1898} 1899 1900// Deprecated: Use FieldOptions.ProtoReflect.Descriptor instead. 1901func (*FieldOptions) Descriptor() ([]byte, []int) { 1902 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12} 1903} 1904 1905func (x *FieldOptions) GetCtype() FieldOptions_CType { 1906 if x != nil && x.Ctype != nil { 1907 return *x.Ctype 1908 } 1909 return Default_FieldOptions_Ctype 1910} 1911 1912func (x *FieldOptions) GetPacked() bool { 1913 if x != nil && x.Packed != nil { 1914 return *x.Packed 1915 } 1916 return false 1917} 1918 1919func (x *FieldOptions) GetJstype() FieldOptions_JSType { 1920 if x != nil && x.Jstype != nil { 1921 return *x.Jstype 1922 } 1923 return Default_FieldOptions_Jstype 1924} 1925 1926func (x *FieldOptions) GetLazy() bool { 1927 if x != nil && x.Lazy != nil { 1928 return *x.Lazy 1929 } 1930 return Default_FieldOptions_Lazy 1931} 1932 1933func (x *FieldOptions) GetDeprecated() bool { 1934 if x != nil && x.Deprecated != nil { 1935 return *x.Deprecated 1936 } 1937 return Default_FieldOptions_Deprecated 1938} 1939 1940func (x *FieldOptions) GetWeak() bool { 1941 if x != nil && x.Weak != nil { 1942 return *x.Weak 1943 } 1944 return Default_FieldOptions_Weak 1945} 1946 1947func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { 1948 if x != nil { 1949 return x.UninterpretedOption 1950 } 1951 return nil 1952} 1953 1954type OneofOptions struct { 1955 state protoimpl.MessageState 1956 sizeCache protoimpl.SizeCache 1957 unknownFields protoimpl.UnknownFields 1958 extensionFields protoimpl.ExtensionFields 1959 1960 // The parser stores options it doesn't recognize here. See above. 1961 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 1962} 1963 1964func (x *OneofOptions) Reset() { 1965 *x = OneofOptions{} 1966 if protoimpl.UnsafeEnabled { 1967 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 1968 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1969 ms.StoreMessageInfo(mi) 1970 } 1971} 1972 1973func (x *OneofOptions) String() string { 1974 return protoimpl.X.MessageStringOf(x) 1975} 1976 1977func (*OneofOptions) ProtoMessage() {} 1978 1979func (x *OneofOptions) ProtoReflect() protoreflect.Message { 1980 mi := &file_google_protobuf_descriptor_proto_msgTypes[13] 1981 if protoimpl.UnsafeEnabled && x != nil { 1982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1983 if ms.LoadMessageInfo() == nil { 1984 ms.StoreMessageInfo(mi) 1985 } 1986 return ms 1987 } 1988 return mi.MessageOf(x) 1989} 1990 1991// Deprecated: Use OneofOptions.ProtoReflect.Descriptor instead. 1992func (*OneofOptions) Descriptor() ([]byte, []int) { 1993 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{13} 1994} 1995 1996func (x *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { 1997 if x != nil { 1998 return x.UninterpretedOption 1999 } 2000 return nil 2001} 2002 2003type EnumOptions struct { 2004 state protoimpl.MessageState 2005 sizeCache protoimpl.SizeCache 2006 unknownFields protoimpl.UnknownFields 2007 extensionFields protoimpl.ExtensionFields 2008 2009 // Set this option to true to allow mapping different tag names to the same 2010 // value. 2011 AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"` 2012 // Is this enum deprecated? 2013 // Depending on the target platform, this can emit Deprecated annotations 2014 // for the enum, or it will be completely ignored; in the very least, this 2015 // is a formalization for deprecating enums. 2016 Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2017 // The parser stores options it doesn't recognize here. See above. 2018 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2019} 2020 2021// Default values for EnumOptions fields. 2022const ( 2023 Default_EnumOptions_Deprecated = bool(false) 2024) 2025 2026func (x *EnumOptions) Reset() { 2027 *x = EnumOptions{} 2028 if protoimpl.UnsafeEnabled { 2029 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2031 ms.StoreMessageInfo(mi) 2032 } 2033} 2034 2035func (x *EnumOptions) String() string { 2036 return protoimpl.X.MessageStringOf(x) 2037} 2038 2039func (*EnumOptions) ProtoMessage() {} 2040 2041func (x *EnumOptions) ProtoReflect() protoreflect.Message { 2042 mi := &file_google_protobuf_descriptor_proto_msgTypes[14] 2043 if protoimpl.UnsafeEnabled && x != nil { 2044 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2045 if ms.LoadMessageInfo() == nil { 2046 ms.StoreMessageInfo(mi) 2047 } 2048 return ms 2049 } 2050 return mi.MessageOf(x) 2051} 2052 2053// Deprecated: Use EnumOptions.ProtoReflect.Descriptor instead. 2054func (*EnumOptions) Descriptor() ([]byte, []int) { 2055 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{14} 2056} 2057 2058func (x *EnumOptions) GetAllowAlias() bool { 2059 if x != nil && x.AllowAlias != nil { 2060 return *x.AllowAlias 2061 } 2062 return false 2063} 2064 2065func (x *EnumOptions) GetDeprecated() bool { 2066 if x != nil && x.Deprecated != nil { 2067 return *x.Deprecated 2068 } 2069 return Default_EnumOptions_Deprecated 2070} 2071 2072func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption { 2073 if x != nil { 2074 return x.UninterpretedOption 2075 } 2076 return nil 2077} 2078 2079type EnumValueOptions struct { 2080 state protoimpl.MessageState 2081 sizeCache protoimpl.SizeCache 2082 unknownFields protoimpl.UnknownFields 2083 extensionFields protoimpl.ExtensionFields 2084 2085 // Is this enum value deprecated? 2086 // Depending on the target platform, this can emit Deprecated annotations 2087 // for the enum value, or it will be completely ignored; in the very least, 2088 // this is a formalization for deprecating enum values. 2089 Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2090 // The parser stores options it doesn't recognize here. See above. 2091 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2092} 2093 2094// Default values for EnumValueOptions fields. 2095const ( 2096 Default_EnumValueOptions_Deprecated = bool(false) 2097) 2098 2099func (x *EnumValueOptions) Reset() { 2100 *x = EnumValueOptions{} 2101 if protoimpl.UnsafeEnabled { 2102 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2104 ms.StoreMessageInfo(mi) 2105 } 2106} 2107 2108func (x *EnumValueOptions) String() string { 2109 return protoimpl.X.MessageStringOf(x) 2110} 2111 2112func (*EnumValueOptions) ProtoMessage() {} 2113 2114func (x *EnumValueOptions) ProtoReflect() protoreflect.Message { 2115 mi := &file_google_protobuf_descriptor_proto_msgTypes[15] 2116 if protoimpl.UnsafeEnabled && x != nil { 2117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2118 if ms.LoadMessageInfo() == nil { 2119 ms.StoreMessageInfo(mi) 2120 } 2121 return ms 2122 } 2123 return mi.MessageOf(x) 2124} 2125 2126// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor instead. 2127func (*EnumValueOptions) Descriptor() ([]byte, []int) { 2128 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{15} 2129} 2130 2131func (x *EnumValueOptions) GetDeprecated() bool { 2132 if x != nil && x.Deprecated != nil { 2133 return *x.Deprecated 2134 } 2135 return Default_EnumValueOptions_Deprecated 2136} 2137 2138func (x *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption { 2139 if x != nil { 2140 return x.UninterpretedOption 2141 } 2142 return nil 2143} 2144 2145type ServiceOptions struct { 2146 state protoimpl.MessageState 2147 sizeCache protoimpl.SizeCache 2148 unknownFields protoimpl.UnknownFields 2149 extensionFields protoimpl.ExtensionFields 2150 2151 // Is this service deprecated? 2152 // Depending on the target platform, this can emit Deprecated annotations 2153 // for the service, or it will be completely ignored; in the very least, 2154 // this is a formalization for deprecating services. 2155 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2156 // The parser stores options it doesn't recognize here. See above. 2157 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2158} 2159 2160// Default values for ServiceOptions fields. 2161const ( 2162 Default_ServiceOptions_Deprecated = bool(false) 2163) 2164 2165func (x *ServiceOptions) Reset() { 2166 *x = ServiceOptions{} 2167 if protoimpl.UnsafeEnabled { 2168 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2170 ms.StoreMessageInfo(mi) 2171 } 2172} 2173 2174func (x *ServiceOptions) String() string { 2175 return protoimpl.X.MessageStringOf(x) 2176} 2177 2178func (*ServiceOptions) ProtoMessage() {} 2179 2180func (x *ServiceOptions) ProtoReflect() protoreflect.Message { 2181 mi := &file_google_protobuf_descriptor_proto_msgTypes[16] 2182 if protoimpl.UnsafeEnabled && x != nil { 2183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2184 if ms.LoadMessageInfo() == nil { 2185 ms.StoreMessageInfo(mi) 2186 } 2187 return ms 2188 } 2189 return mi.MessageOf(x) 2190} 2191 2192// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead. 2193func (*ServiceOptions) Descriptor() ([]byte, []int) { 2194 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{16} 2195} 2196 2197func (x *ServiceOptions) GetDeprecated() bool { 2198 if x != nil && x.Deprecated != nil { 2199 return *x.Deprecated 2200 } 2201 return Default_ServiceOptions_Deprecated 2202} 2203 2204func (x *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption { 2205 if x != nil { 2206 return x.UninterpretedOption 2207 } 2208 return nil 2209} 2210 2211type MethodOptions struct { 2212 state protoimpl.MessageState 2213 sizeCache protoimpl.SizeCache 2214 unknownFields protoimpl.UnknownFields 2215 extensionFields protoimpl.ExtensionFields 2216 2217 // Is this method deprecated? 2218 // Depending on the target platform, this can emit Deprecated annotations 2219 // for the method, or it will be completely ignored; in the very least, 2220 // this is a formalization for deprecating methods. 2221 Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` 2222 IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` 2223 // The parser stores options it doesn't recognize here. See above. 2224 UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` 2225} 2226 2227// Default values for MethodOptions fields. 2228const ( 2229 Default_MethodOptions_Deprecated = bool(false) 2230 Default_MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN 2231) 2232 2233func (x *MethodOptions) Reset() { 2234 *x = MethodOptions{} 2235 if protoimpl.UnsafeEnabled { 2236 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2238 ms.StoreMessageInfo(mi) 2239 } 2240} 2241 2242func (x *MethodOptions) String() string { 2243 return protoimpl.X.MessageStringOf(x) 2244} 2245 2246func (*MethodOptions) ProtoMessage() {} 2247 2248func (x *MethodOptions) ProtoReflect() protoreflect.Message { 2249 mi := &file_google_protobuf_descriptor_proto_msgTypes[17] 2250 if protoimpl.UnsafeEnabled && x != nil { 2251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2252 if ms.LoadMessageInfo() == nil { 2253 ms.StoreMessageInfo(mi) 2254 } 2255 return ms 2256 } 2257 return mi.MessageOf(x) 2258} 2259 2260// Deprecated: Use MethodOptions.ProtoReflect.Descriptor instead. 2261func (*MethodOptions) Descriptor() ([]byte, []int) { 2262 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17} 2263} 2264 2265func (x *MethodOptions) GetDeprecated() bool { 2266 if x != nil && x.Deprecated != nil { 2267 return *x.Deprecated 2268 } 2269 return Default_MethodOptions_Deprecated 2270} 2271 2272func (x *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel { 2273 if x != nil && x.IdempotencyLevel != nil { 2274 return *x.IdempotencyLevel 2275 } 2276 return Default_MethodOptions_IdempotencyLevel 2277} 2278 2279func (x *MethodOptions) GetUninterpretedOption() []*UninterpretedOption { 2280 if x != nil { 2281 return x.UninterpretedOption 2282 } 2283 return nil 2284} 2285 2286// A message representing a option the parser does not recognize. This only 2287// appears in options protos created by the compiler::Parser class. 2288// DescriptorPool resolves these when building Descriptor objects. Therefore, 2289// options protos in descriptor objects (e.g. returned by Descriptor::options(), 2290// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions 2291// in them. 2292type UninterpretedOption struct { 2293 state protoimpl.MessageState 2294 sizeCache protoimpl.SizeCache 2295 unknownFields protoimpl.UnknownFields 2296 2297 Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` 2298 // The value of the uninterpreted option, in whatever type the tokenizer 2299 // identified it as during parsing. Exactly one of these should be set. 2300 IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` 2301 PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` 2302 NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` 2303 DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` 2304 StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` 2305 AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` 2306} 2307 2308func (x *UninterpretedOption) Reset() { 2309 *x = UninterpretedOption{} 2310 if protoimpl.UnsafeEnabled { 2311 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2312 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2313 ms.StoreMessageInfo(mi) 2314 } 2315} 2316 2317func (x *UninterpretedOption) String() string { 2318 return protoimpl.X.MessageStringOf(x) 2319} 2320 2321func (*UninterpretedOption) ProtoMessage() {} 2322 2323func (x *UninterpretedOption) ProtoReflect() protoreflect.Message { 2324 mi := &file_google_protobuf_descriptor_proto_msgTypes[18] 2325 if protoimpl.UnsafeEnabled && x != nil { 2326 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2327 if ms.LoadMessageInfo() == nil { 2328 ms.StoreMessageInfo(mi) 2329 } 2330 return ms 2331 } 2332 return mi.MessageOf(x) 2333} 2334 2335// Deprecated: Use UninterpretedOption.ProtoReflect.Descriptor instead. 2336func (*UninterpretedOption) Descriptor() ([]byte, []int) { 2337 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18} 2338} 2339 2340func (x *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { 2341 if x != nil { 2342 return x.Name 2343 } 2344 return nil 2345} 2346 2347func (x *UninterpretedOption) GetIdentifierValue() string { 2348 if x != nil && x.IdentifierValue != nil { 2349 return *x.IdentifierValue 2350 } 2351 return "" 2352} 2353 2354func (x *UninterpretedOption) GetPositiveIntValue() uint64 { 2355 if x != nil && x.PositiveIntValue != nil { 2356 return *x.PositiveIntValue 2357 } 2358 return 0 2359} 2360 2361func (x *UninterpretedOption) GetNegativeIntValue() int64 { 2362 if x != nil && x.NegativeIntValue != nil { 2363 return *x.NegativeIntValue 2364 } 2365 return 0 2366} 2367 2368func (x *UninterpretedOption) GetDoubleValue() float64 { 2369 if x != nil && x.DoubleValue != nil { 2370 return *x.DoubleValue 2371 } 2372 return 0 2373} 2374 2375func (x *UninterpretedOption) GetStringValue() []byte { 2376 if x != nil { 2377 return x.StringValue 2378 } 2379 return nil 2380} 2381 2382func (x *UninterpretedOption) GetAggregateValue() string { 2383 if x != nil && x.AggregateValue != nil { 2384 return *x.AggregateValue 2385 } 2386 return "" 2387} 2388 2389// Encapsulates information about the original source file from which a 2390// FileDescriptorProto was generated. 2391type SourceCodeInfo struct { 2392 state protoimpl.MessageState 2393 sizeCache protoimpl.SizeCache 2394 unknownFields protoimpl.UnknownFields 2395 2396 // A Location identifies a piece of source code in a .proto file which 2397 // corresponds to a particular definition. This information is intended 2398 // to be useful to IDEs, code indexers, documentation generators, and similar 2399 // tools. 2400 // 2401 // For example, say we have a file like: 2402 // message Foo { 2403 // optional string foo = 1; 2404 // } 2405 // Let's look at just the field definition: 2406 // optional string foo = 1; 2407 // ^ ^^ ^^ ^ ^^^ 2408 // a bc de f ghi 2409 // We have the following locations: 2410 // span path represents 2411 // [a,i) [ 4, 0, 2, 0 ] The whole field definition. 2412 // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 2413 // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 2414 // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 2415 // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 2416 // 2417 // Notes: 2418 // - A location may refer to a repeated field itself (i.e. not to any 2419 // particular index within it). This is used whenever a set of elements are 2420 // logically enclosed in a single code segment. For example, an entire 2421 // extend block (possibly containing multiple extension definitions) will 2422 // have an outer location whose path refers to the "extensions" repeated 2423 // field without an index. 2424 // - Multiple locations may have the same path. This happens when a single 2425 // logical declaration is spread out across multiple places. The most 2426 // obvious example is the "extend" block again -- there may be multiple 2427 // extend blocks in the same scope, each of which will have the same path. 2428 // - A location's span is not always a subset of its parent's span. For 2429 // example, the "extendee" of an extension declaration appears at the 2430 // beginning of the "extend" block and is shared by all extensions within 2431 // the block. 2432 // - Just because a location's span is a subset of some other location's span 2433 // does not mean that it is a descendant. For example, a "group" defines 2434 // both a type and a field in a single declaration. Thus, the locations 2435 // corresponding to the type and field and their components will overlap. 2436 // - Code which tries to interpret locations should probably be designed to 2437 // ignore those that it doesn't understand, as more types of locations could 2438 // be recorded in the future. 2439 Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` 2440} 2441 2442func (x *SourceCodeInfo) Reset() { 2443 *x = SourceCodeInfo{} 2444 if protoimpl.UnsafeEnabled { 2445 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2447 ms.StoreMessageInfo(mi) 2448 } 2449} 2450 2451func (x *SourceCodeInfo) String() string { 2452 return protoimpl.X.MessageStringOf(x) 2453} 2454 2455func (*SourceCodeInfo) ProtoMessage() {} 2456 2457func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message { 2458 mi := &file_google_protobuf_descriptor_proto_msgTypes[19] 2459 if protoimpl.UnsafeEnabled && x != nil { 2460 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2461 if ms.LoadMessageInfo() == nil { 2462 ms.StoreMessageInfo(mi) 2463 } 2464 return ms 2465 } 2466 return mi.MessageOf(x) 2467} 2468 2469// Deprecated: Use SourceCodeInfo.ProtoReflect.Descriptor instead. 2470func (*SourceCodeInfo) Descriptor() ([]byte, []int) { 2471 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19} 2472} 2473 2474func (x *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { 2475 if x != nil { 2476 return x.Location 2477 } 2478 return nil 2479} 2480 2481// Describes the relationship between generated code and its original source 2482// file. A GeneratedCodeInfo message is associated with only one generated 2483// source file, but may contain references to different source .proto files. 2484type GeneratedCodeInfo struct { 2485 state protoimpl.MessageState 2486 sizeCache protoimpl.SizeCache 2487 unknownFields protoimpl.UnknownFields 2488 2489 // An Annotation connects some span of text in generated code to an element 2490 // of its generating .proto file. 2491 Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` 2492} 2493 2494func (x *GeneratedCodeInfo) Reset() { 2495 *x = GeneratedCodeInfo{} 2496 if protoimpl.UnsafeEnabled { 2497 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2499 ms.StoreMessageInfo(mi) 2500 } 2501} 2502 2503func (x *GeneratedCodeInfo) String() string { 2504 return protoimpl.X.MessageStringOf(x) 2505} 2506 2507func (*GeneratedCodeInfo) ProtoMessage() {} 2508 2509func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message { 2510 mi := &file_google_protobuf_descriptor_proto_msgTypes[20] 2511 if protoimpl.UnsafeEnabled && x != nil { 2512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2513 if ms.LoadMessageInfo() == nil { 2514 ms.StoreMessageInfo(mi) 2515 } 2516 return ms 2517 } 2518 return mi.MessageOf(x) 2519} 2520 2521// Deprecated: Use GeneratedCodeInfo.ProtoReflect.Descriptor instead. 2522func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { 2523 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20} 2524} 2525 2526func (x *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { 2527 if x != nil { 2528 return x.Annotation 2529 } 2530 return nil 2531} 2532 2533type DescriptorProto_ExtensionRange struct { 2534 state protoimpl.MessageState 2535 sizeCache protoimpl.SizeCache 2536 unknownFields protoimpl.UnknownFields 2537 2538 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2539 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2540 Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` 2541} 2542 2543func (x *DescriptorProto_ExtensionRange) Reset() { 2544 *x = DescriptorProto_ExtensionRange{} 2545 if protoimpl.UnsafeEnabled { 2546 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2547 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2548 ms.StoreMessageInfo(mi) 2549 } 2550} 2551 2552func (x *DescriptorProto_ExtensionRange) String() string { 2553 return protoimpl.X.MessageStringOf(x) 2554} 2555 2556func (*DescriptorProto_ExtensionRange) ProtoMessage() {} 2557 2558func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message { 2559 mi := &file_google_protobuf_descriptor_proto_msgTypes[21] 2560 if protoimpl.UnsafeEnabled && x != nil { 2561 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2562 if ms.LoadMessageInfo() == nil { 2563 ms.StoreMessageInfo(mi) 2564 } 2565 return ms 2566 } 2567 return mi.MessageOf(x) 2568} 2569 2570// Deprecated: Use DescriptorProto_ExtensionRange.ProtoReflect.Descriptor instead. 2571func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { 2572 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 0} 2573} 2574 2575func (x *DescriptorProto_ExtensionRange) GetStart() int32 { 2576 if x != nil && x.Start != nil { 2577 return *x.Start 2578 } 2579 return 0 2580} 2581 2582func (x *DescriptorProto_ExtensionRange) GetEnd() int32 { 2583 if x != nil && x.End != nil { 2584 return *x.End 2585 } 2586 return 0 2587} 2588 2589func (x *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { 2590 if x != nil { 2591 return x.Options 2592 } 2593 return nil 2594} 2595 2596// Range of reserved tag numbers. Reserved tag numbers may not be used by 2597// fields or extension ranges in the same message. Reserved ranges may 2598// not overlap. 2599type DescriptorProto_ReservedRange struct { 2600 state protoimpl.MessageState 2601 sizeCache protoimpl.SizeCache 2602 unknownFields protoimpl.UnknownFields 2603 2604 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2605 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive. 2606} 2607 2608func (x *DescriptorProto_ReservedRange) Reset() { 2609 *x = DescriptorProto_ReservedRange{} 2610 if protoimpl.UnsafeEnabled { 2611 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2612 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2613 ms.StoreMessageInfo(mi) 2614 } 2615} 2616 2617func (x *DescriptorProto_ReservedRange) String() string { 2618 return protoimpl.X.MessageStringOf(x) 2619} 2620 2621func (*DescriptorProto_ReservedRange) ProtoMessage() {} 2622 2623func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message { 2624 mi := &file_google_protobuf_descriptor_proto_msgTypes[22] 2625 if protoimpl.UnsafeEnabled && x != nil { 2626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2627 if ms.LoadMessageInfo() == nil { 2628 ms.StoreMessageInfo(mi) 2629 } 2630 return ms 2631 } 2632 return mi.MessageOf(x) 2633} 2634 2635// Deprecated: Use DescriptorProto_ReservedRange.ProtoReflect.Descriptor instead. 2636func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { 2637 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 1} 2638} 2639 2640func (x *DescriptorProto_ReservedRange) GetStart() int32 { 2641 if x != nil && x.Start != nil { 2642 return *x.Start 2643 } 2644 return 0 2645} 2646 2647func (x *DescriptorProto_ReservedRange) GetEnd() int32 { 2648 if x != nil && x.End != nil { 2649 return *x.End 2650 } 2651 return 0 2652} 2653 2654// Range of reserved numeric values. Reserved values may not be used by 2655// entries in the same enum. Reserved ranges may not overlap. 2656// 2657// Note that this is distinct from DescriptorProto.ReservedRange in that it 2658// is inclusive such that it can appropriately represent the entire int32 2659// domain. 2660type EnumDescriptorProto_EnumReservedRange struct { 2661 state protoimpl.MessageState 2662 sizeCache protoimpl.SizeCache 2663 unknownFields protoimpl.UnknownFields 2664 2665 Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive. 2666 End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Inclusive. 2667} 2668 2669func (x *EnumDescriptorProto_EnumReservedRange) Reset() { 2670 *x = EnumDescriptorProto_EnumReservedRange{} 2671 if protoimpl.UnsafeEnabled { 2672 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2673 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2674 ms.StoreMessageInfo(mi) 2675 } 2676} 2677 2678func (x *EnumDescriptorProto_EnumReservedRange) String() string { 2679 return protoimpl.X.MessageStringOf(x) 2680} 2681 2682func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} 2683 2684func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message { 2685 mi := &file_google_protobuf_descriptor_proto_msgTypes[23] 2686 if protoimpl.UnsafeEnabled && x != nil { 2687 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2688 if ms.LoadMessageInfo() == nil { 2689 ms.StoreMessageInfo(mi) 2690 } 2691 return ms 2692 } 2693 return mi.MessageOf(x) 2694} 2695 2696// Deprecated: Use EnumDescriptorProto_EnumReservedRange.ProtoReflect.Descriptor instead. 2697func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { 2698 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6, 0} 2699} 2700 2701func (x *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { 2702 if x != nil && x.Start != nil { 2703 return *x.Start 2704 } 2705 return 0 2706} 2707 2708func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { 2709 if x != nil && x.End != nil { 2710 return *x.End 2711 } 2712 return 0 2713} 2714 2715// The name of the uninterpreted option. Each string represents a segment in 2716// a dot-separated name. is_extension is true iff a segment represents an 2717// extension (denoted with parentheses in options specs in .proto files). 2718// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents 2719// "foo.(bar.baz).qux". 2720type UninterpretedOption_NamePart struct { 2721 state protoimpl.MessageState 2722 sizeCache protoimpl.SizeCache 2723 unknownFields protoimpl.UnknownFields 2724 2725 NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` 2726 IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` 2727} 2728 2729func (x *UninterpretedOption_NamePart) Reset() { 2730 *x = UninterpretedOption_NamePart{} 2731 if protoimpl.UnsafeEnabled { 2732 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 2733 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2734 ms.StoreMessageInfo(mi) 2735 } 2736} 2737 2738func (x *UninterpretedOption_NamePart) String() string { 2739 return protoimpl.X.MessageStringOf(x) 2740} 2741 2742func (*UninterpretedOption_NamePart) ProtoMessage() {} 2743 2744func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message { 2745 mi := &file_google_protobuf_descriptor_proto_msgTypes[24] 2746 if protoimpl.UnsafeEnabled && x != nil { 2747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2748 if ms.LoadMessageInfo() == nil { 2749 ms.StoreMessageInfo(mi) 2750 } 2751 return ms 2752 } 2753 return mi.MessageOf(x) 2754} 2755 2756// Deprecated: Use UninterpretedOption_NamePart.ProtoReflect.Descriptor instead. 2757func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { 2758 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18, 0} 2759} 2760 2761func (x *UninterpretedOption_NamePart) GetNamePart() string { 2762 if x != nil && x.NamePart != nil { 2763 return *x.NamePart 2764 } 2765 return "" 2766} 2767 2768func (x *UninterpretedOption_NamePart) GetIsExtension() bool { 2769 if x != nil && x.IsExtension != nil { 2770 return *x.IsExtension 2771 } 2772 return false 2773} 2774 2775type SourceCodeInfo_Location struct { 2776 state protoimpl.MessageState 2777 sizeCache protoimpl.SizeCache 2778 unknownFields protoimpl.UnknownFields 2779 2780 // Identifies which part of the FileDescriptorProto was defined at this 2781 // location. 2782 // 2783 // Each element is a field number or an index. They form a path from 2784 // the root FileDescriptorProto to the place where the definition. For 2785 // example, this path: 2786 // [ 4, 3, 2, 7, 1 ] 2787 // refers to: 2788 // file.message_type(3) // 4, 3 2789 // .field(7) // 2, 7 2790 // .name() // 1 2791 // This is because FileDescriptorProto.message_type has field number 4: 2792 // repeated DescriptorProto message_type = 4; 2793 // and DescriptorProto.field has field number 2: 2794 // repeated FieldDescriptorProto field = 2; 2795 // and FieldDescriptorProto.name has field number 1: 2796 // optional string name = 1; 2797 // 2798 // Thus, the above path gives the location of a field name. If we removed 2799 // the last element: 2800 // [ 4, 3, 2, 7 ] 2801 // this path refers to the whole field declaration (from the beginning 2802 // of the label to the terminating semicolon). 2803 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 2804 // Always has exactly three or four elements: start line, start column, 2805 // end line (optional, otherwise assumed same as start line), end column. 2806 // These are packed into a single field for efficiency. Note that line 2807 // and column numbers are zero-based -- typically you will want to add 2808 // 1 to each before displaying to a user. 2809 Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"` 2810 // If this SourceCodeInfo represents a complete declaration, these are any 2811 // comments appearing before and after the declaration which appear to be 2812 // attached to the declaration. 2813 // 2814 // A series of line comments appearing on consecutive lines, with no other 2815 // tokens appearing on those lines, will be treated as a single comment. 2816 // 2817 // leading_detached_comments will keep paragraphs of comments that appear 2818 // before (but not connected to) the current element. Each paragraph, 2819 // separated by empty lines, will be one comment element in the repeated 2820 // field. 2821 // 2822 // Only the comment content is provided; comment markers (e.g. //) are 2823 // stripped out. For block comments, leading whitespace and an asterisk 2824 // will be stripped from the beginning of each line other than the first. 2825 // Newlines are included in the output. 2826 // 2827 // Examples: 2828 // 2829 // optional int32 foo = 1; // Comment attached to foo. 2830 // // Comment attached to bar. 2831 // optional int32 bar = 2; 2832 // 2833 // optional string baz = 3; 2834 // // Comment attached to baz. 2835 // // Another line attached to baz. 2836 // 2837 // // Comment attached to qux. 2838 // // 2839 // // Another line attached to qux. 2840 // optional double qux = 4; 2841 // 2842 // // Detached comment for corge. This is not leading or trailing comments 2843 // // to qux or corge because there are blank lines separating it from 2844 // // both. 2845 // 2846 // // Detached comment for corge paragraph 2. 2847 // 2848 // optional string corge = 5; 2849 // /* Block comment attached 2850 // * to corge. Leading asterisks 2851 // * will be removed. */ 2852 // /* Block comment attached to 2853 // * grault. */ 2854 // optional int32 grault = 6; 2855 // 2856 // // ignored detached comments. 2857 LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` 2858 TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` 2859 LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` 2860} 2861 2862func (x *SourceCodeInfo_Location) Reset() { 2863 *x = SourceCodeInfo_Location{} 2864 if protoimpl.UnsafeEnabled { 2865 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 2866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2867 ms.StoreMessageInfo(mi) 2868 } 2869} 2870 2871func (x *SourceCodeInfo_Location) String() string { 2872 return protoimpl.X.MessageStringOf(x) 2873} 2874 2875func (*SourceCodeInfo_Location) ProtoMessage() {} 2876 2877func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { 2878 mi := &file_google_protobuf_descriptor_proto_msgTypes[25] 2879 if protoimpl.UnsafeEnabled && x != nil { 2880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2881 if ms.LoadMessageInfo() == nil { 2882 ms.StoreMessageInfo(mi) 2883 } 2884 return ms 2885 } 2886 return mi.MessageOf(x) 2887} 2888 2889// Deprecated: Use SourceCodeInfo_Location.ProtoReflect.Descriptor instead. 2890func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { 2891 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0} 2892} 2893 2894func (x *SourceCodeInfo_Location) GetPath() []int32 { 2895 if x != nil { 2896 return x.Path 2897 } 2898 return nil 2899} 2900 2901func (x *SourceCodeInfo_Location) GetSpan() []int32 { 2902 if x != nil { 2903 return x.Span 2904 } 2905 return nil 2906} 2907 2908func (x *SourceCodeInfo_Location) GetLeadingComments() string { 2909 if x != nil && x.LeadingComments != nil { 2910 return *x.LeadingComments 2911 } 2912 return "" 2913} 2914 2915func (x *SourceCodeInfo_Location) GetTrailingComments() string { 2916 if x != nil && x.TrailingComments != nil { 2917 return *x.TrailingComments 2918 } 2919 return "" 2920} 2921 2922func (x *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { 2923 if x != nil { 2924 return x.LeadingDetachedComments 2925 } 2926 return nil 2927} 2928 2929type GeneratedCodeInfo_Annotation struct { 2930 state protoimpl.MessageState 2931 sizeCache protoimpl.SizeCache 2932 unknownFields protoimpl.UnknownFields 2933 2934 // Identifies the element in the original source .proto file. This field 2935 // is formatted the same as SourceCodeInfo.Location.path. 2936 Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"` 2937 // Identifies the filesystem path to the original source .proto. 2938 SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"` 2939 // Identifies the starting offset in bytes in the generated code 2940 // that relates to the identified object. 2941 Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"` 2942 // Identifies the ending offset in bytes in the generated code that 2943 // relates to the identified offset. The end offset should be one past 2944 // the last relevant byte (so the length of the text = end - begin). 2945 End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` 2946} 2947 2948func (x *GeneratedCodeInfo_Annotation) Reset() { 2949 *x = GeneratedCodeInfo_Annotation{} 2950 if protoimpl.UnsafeEnabled { 2951 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 2952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2953 ms.StoreMessageInfo(mi) 2954 } 2955} 2956 2957func (x *GeneratedCodeInfo_Annotation) String() string { 2958 return protoimpl.X.MessageStringOf(x) 2959} 2960 2961func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} 2962 2963func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { 2964 mi := &file_google_protobuf_descriptor_proto_msgTypes[26] 2965 if protoimpl.UnsafeEnabled && x != nil { 2966 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2967 if ms.LoadMessageInfo() == nil { 2968 ms.StoreMessageInfo(mi) 2969 } 2970 return ms 2971 } 2972 return mi.MessageOf(x) 2973} 2974 2975// Deprecated: Use GeneratedCodeInfo_Annotation.ProtoReflect.Descriptor instead. 2976func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { 2977 return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0} 2978} 2979 2980func (x *GeneratedCodeInfo_Annotation) GetPath() []int32 { 2981 if x != nil { 2982 return x.Path 2983 } 2984 return nil 2985} 2986 2987func (x *GeneratedCodeInfo_Annotation) GetSourceFile() string { 2988 if x != nil && x.SourceFile != nil { 2989 return *x.SourceFile 2990 } 2991 return "" 2992} 2993 2994func (x *GeneratedCodeInfo_Annotation) GetBegin() int32 { 2995 if x != nil && x.Begin != nil { 2996 return *x.Begin 2997 } 2998 return 0 2999} 3000 3001func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 { 3002 if x != nil && x.End != nil { 3003 return *x.End 3004 } 3005 return 0 3006} 3007 3008var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor 3009 3010var file_google_protobuf_descriptor_proto_rawDesc = []byte{ 3011 0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3012 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 3013 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3014 0x62, 0x75, 0x66, 0x22, 0x4d, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3015 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 3016 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3017 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 3018 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69, 3019 0x6c, 0x65, 0x22, 0xe4, 0x04, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 3020 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 3021 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 3022 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3023 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 3024 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 3025 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 3026 0x69, 0x63, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 3027 0x03, 0x28, 0x05, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x70, 0x65, 0x6e, 3028 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x64, 0x65, 3029 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 3030 0x77, 0x65, 0x61, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x43, 3031 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 3032 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3033 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 3034 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 3035 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 3036 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3037 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 3038 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 3039 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 3040 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3041 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3042 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 3043 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 3044 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 3045 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 3046 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 3047 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 3048 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 3049 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3050 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 3051 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3052 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 3053 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3054 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3055 0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 3056 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 3057 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x22, 0xb9, 0x06, 0x0a, 0x0f, 0x44, 0x65, 3058 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 3059 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3060 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 3061 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3062 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 3063 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 3064 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 3065 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3066 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 3067 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 3068 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 3069 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3070 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 3071 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x73, 0x74, 3072 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 3073 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3074 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 3075 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 3076 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x78, 0x74, 3077 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, 3078 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3079 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 3080 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 3081 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 3082 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x65, 0x63, 3083 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3084 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 3085 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 3086 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 3087 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 3088 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 3089 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 3090 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 3091 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 3092 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 3093 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 3094 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 3095 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 3096 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 3097 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 3098 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 3099 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 3100 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 3101 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 3102 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 3103 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 3104 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 3105 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x37, 0x0a, 0x0d, 3106 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 3107 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 3108 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 3109 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x7c, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 3110 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 3111 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 3112 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 3113 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3114 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3115 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 3116 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 3117 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 3118 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 3119 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3120 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 3121 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 3122 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3123 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 3124 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 3125 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x04, 0x74, 3126 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3127 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 3128 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 3129 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 3130 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 3131 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 3132 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 3133 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 3134 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 3135 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 3136 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 3137 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 3138 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 3139 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3140 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3141 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 3142 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3143 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3144 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3145 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xb6, 0x02, 0x0a, 0x04, 0x54, 0x79, 3146 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 3147 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 3148 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 3149 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 3150 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 3151 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 3152 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 3153 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 3154 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 3155 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 3156 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 3157 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 3158 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 3159 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, 3160 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 3161 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x11, 0x0a, 3162 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x10, 3163 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 3164 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x54, 0x36, 0x34, 3165 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 3166 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 3167 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 3168 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x50, 3169 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x63, 0x0a, 0x14, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 3170 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 3171 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3172 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 3173 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3174 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 3175 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe3, 0x02, 0x0a, 3176 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 3177 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 3178 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 3179 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3180 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 3181 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 3182 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x70, 0x74, 3183 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 3184 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 3185 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3186 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 3187 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3188 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 3189 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 3190 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 3191 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 3192 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 3193 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 3194 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 3195 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 3196 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 3197 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 3198 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 3199 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 3200 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3201 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 3202 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x6f, 3203 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 3204 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 3205 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 3206 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 3207 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 3208 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3209 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 3210 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3211 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 3212 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 3213 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3214 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3215 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 3216 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 3217 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 3218 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 3219 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3220 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 3221 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 3222 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 3223 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 3224 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 3225 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3226 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3227 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x63, 0x6c, 3228 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x05, 3229 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 3230 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x10, 3231 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 3232 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x73, 3233 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x91, 3234 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 3235 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 3236 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 3237 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 3238 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 3239 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x6e, 3240 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 3241 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 3242 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6a, 0x61, 0x76, 0x61, 0x4d, 0x75, 0x6c, 3243 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1d, 0x6a, 0x61, 3244 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x71, 0x75, 0x61, 3245 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 3246 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 3247 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x41, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 3248 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 3249 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 3250 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x53, 0x74, 0x72, 3251 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x74, 0x66, 0x38, 0x12, 0x53, 0x0a, 0x0c, 3252 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 3253 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3254 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3255 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x3a, 0x05, 0x53, 3256 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 3257 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 3258 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 3259 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 3260 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 3261 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x63, 0x63, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 3262 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x6a, 0x61, 0x76, 0x61, 0x5f, 3263 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 3264 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 3265 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3266 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 3267 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x3a, 3268 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x70, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 3269 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x14, 0x70, 0x68, 0x70, 3270 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3271 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x12, 3272 0x70, 0x68, 0x70, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3273 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 3274 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 3275 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, 3276 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, 3277 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, 3278 0x62, 0x6c, 0x65, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 3279 0x63, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, 3280 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 3281 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, 3282 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 3283 0x0f, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 3284 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 3285 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, 3286 0x66, 0x69, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 3287 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 3288 0x68, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 3289 0x0d, 0x70, 0x68, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, 3290 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 3291 0x63, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3292 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, 3293 0x28, 0x09, 0x52, 0x14, 0x70, 0x68, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 3294 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, 3295 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 3296 0x72, 0x75, 0x62, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x14, 0x75, 3297 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 3298 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3299 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 3300 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3301 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3302 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 3303 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x01, 3304 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x12, 3305 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 3306 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x26, 3307 0x10, 0x27, 0x22, 0xd1, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 3308 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 3309 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 3310 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, 3311 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, 3312 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 3313 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 3314 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 3315 0x6c, 0x73, 0x65, 0x52, 0x1c, 0x6e, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 3316 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 3317 0x72, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 3318 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 3319 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 3320 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, 3321 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 3322 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 3323 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3324 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 3325 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 3326 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 3327 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 3328 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0xe2, 0x03, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 3329 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 3330 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3331 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 3332 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x06, 0x53, 0x54, 0x52, 3333 0x49, 0x4e, 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 3334 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 3335 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 3336 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3337 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3338 0x73, 0x2e, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 3339 0x4d, 0x41, 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x04, 0x6c, 3340 0x61, 0x7a, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 3341 0x52, 0x04, 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 3342 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 3343 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 3344 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 3345 0x73, 0x65, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 3346 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3347 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3348 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 3349 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 3350 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3351 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 3352 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, 3353 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, 3354 0x45, 0x10, 0x02, 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 3355 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 3356 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 3357 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 3358 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x0c, 0x4f, 3359 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 3360 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 3361 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 3362 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 3363 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3364 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 3365 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 3366 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3367 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 3368 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x69, 0x61, 3369 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 3370 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 3371 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 3372 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3373 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3374 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 3375 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 3376 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3377 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 3378 0x05, 0x10, 0x06, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 3379 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 3380 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 3381 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 3382 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 3383 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 3384 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3385 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 3386 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3387 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 3388 0x80, 0x80, 0x80, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 3389 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 3390 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 3391 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58, 3392 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 3393 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 3394 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3395 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 3396 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 3397 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 3398 0x80, 0x80, 0x02, 0x22, 0xe0, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 3399 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 3400 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 3401 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x11, 3402 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 3403 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3404 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 3405 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 3406 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 3407 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 0x69, 3408 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 3409 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 3410 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 3411 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3412 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 3413 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 3414 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 0x65, 3415 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 3416 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 3417 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x44, 3418 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 3419 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 3420 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 0x74, 3421 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 3422 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 3423 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 3424 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 3425 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3426 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 3427 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x65, 3428 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 3429 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 3430 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 3431 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 3432 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 3433 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 3434 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 3435 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 3436 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 3437 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 3438 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 3439 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 3440 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 3441 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x50, 3442 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 3443 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 3444 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 3445 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 3446 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 3447 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3448 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3449 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 3450 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3451 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 3452 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 3453 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 3454 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 3455 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 3456 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 3457 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 3458 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 3459 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3460 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 3461 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 3462 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 3463 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 3464 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd1, 0x01, 3465 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 3466 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 3467 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3468 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 3469 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 3470 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3471 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3472 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 3473 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 3474 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 3475 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 3476 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 3477 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 3478 0x64, 0x42, 0x7e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3479 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 3480 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, 3481 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 3482 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 3483 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 3484 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 3485 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 3486 0x6e, 3487} 3488 3489var ( 3490 file_google_protobuf_descriptor_proto_rawDescOnce sync.Once 3491 file_google_protobuf_descriptor_proto_rawDescData = file_google_protobuf_descriptor_proto_rawDesc 3492) 3493 3494func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte { 3495 file_google_protobuf_descriptor_proto_rawDescOnce.Do(func() { 3496 file_google_protobuf_descriptor_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_descriptor_proto_rawDescData) 3497 }) 3498 return file_google_protobuf_descriptor_proto_rawDescData 3499} 3500 3501var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 3502var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 3503var file_google_protobuf_descriptor_proto_goTypes = []interface{}{ 3504 (FieldDescriptorProto_Type)(0), // 0: google.protobuf.FieldDescriptorProto.Type 3505 (FieldDescriptorProto_Label)(0), // 1: google.protobuf.FieldDescriptorProto.Label 3506 (FileOptions_OptimizeMode)(0), // 2: google.protobuf.FileOptions.OptimizeMode 3507 (FieldOptions_CType)(0), // 3: google.protobuf.FieldOptions.CType 3508 (FieldOptions_JSType)(0), // 4: google.protobuf.FieldOptions.JSType 3509 (MethodOptions_IdempotencyLevel)(0), // 5: google.protobuf.MethodOptions.IdempotencyLevel 3510 (*FileDescriptorSet)(nil), // 6: google.protobuf.FileDescriptorSet 3511 (*FileDescriptorProto)(nil), // 7: google.protobuf.FileDescriptorProto 3512 (*DescriptorProto)(nil), // 8: google.protobuf.DescriptorProto 3513 (*ExtensionRangeOptions)(nil), // 9: google.protobuf.ExtensionRangeOptions 3514 (*FieldDescriptorProto)(nil), // 10: google.protobuf.FieldDescriptorProto 3515 (*OneofDescriptorProto)(nil), // 11: google.protobuf.OneofDescriptorProto 3516 (*EnumDescriptorProto)(nil), // 12: google.protobuf.EnumDescriptorProto 3517 (*EnumValueDescriptorProto)(nil), // 13: google.protobuf.EnumValueDescriptorProto 3518 (*ServiceDescriptorProto)(nil), // 14: google.protobuf.ServiceDescriptorProto 3519 (*MethodDescriptorProto)(nil), // 15: google.protobuf.MethodDescriptorProto 3520 (*FileOptions)(nil), // 16: google.protobuf.FileOptions 3521 (*MessageOptions)(nil), // 17: google.protobuf.MessageOptions 3522 (*FieldOptions)(nil), // 18: google.protobuf.FieldOptions 3523 (*OneofOptions)(nil), // 19: google.protobuf.OneofOptions 3524 (*EnumOptions)(nil), // 20: google.protobuf.EnumOptions 3525 (*EnumValueOptions)(nil), // 21: google.protobuf.EnumValueOptions 3526 (*ServiceOptions)(nil), // 22: google.protobuf.ServiceOptions 3527 (*MethodOptions)(nil), // 23: google.protobuf.MethodOptions 3528 (*UninterpretedOption)(nil), // 24: google.protobuf.UninterpretedOption 3529 (*SourceCodeInfo)(nil), // 25: google.protobuf.SourceCodeInfo 3530 (*GeneratedCodeInfo)(nil), // 26: google.protobuf.GeneratedCodeInfo 3531 (*DescriptorProto_ExtensionRange)(nil), // 27: google.protobuf.DescriptorProto.ExtensionRange 3532 (*DescriptorProto_ReservedRange)(nil), // 28: google.protobuf.DescriptorProto.ReservedRange 3533 (*EnumDescriptorProto_EnumReservedRange)(nil), // 29: google.protobuf.EnumDescriptorProto.EnumReservedRange 3534 (*UninterpretedOption_NamePart)(nil), // 30: google.protobuf.UninterpretedOption.NamePart 3535 (*SourceCodeInfo_Location)(nil), // 31: google.protobuf.SourceCodeInfo.Location 3536 (*GeneratedCodeInfo_Annotation)(nil), // 32: google.protobuf.GeneratedCodeInfo.Annotation 3537} 3538var file_google_protobuf_descriptor_proto_depIdxs = []int32{ 3539 7, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto 3540 8, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto 3541 12, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3542 14, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto 3543 10, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3544 16, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions 3545 25, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo 3546 10, // 7: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto 3547 10, // 8: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 3548 8, // 9: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto 3549 12, // 10: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 3550 27, // 11: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange 3551 11, // 12: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto 3552 17, // 13: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions 3553 28, // 14: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange 3554 24, // 15: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3555 1, // 16: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label 3556 0, // 17: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type 3557 18, // 18: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions 3558 19, // 19: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions 3559 13, // 20: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto 3560 20, // 21: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions 3561 29, // 22: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange 3562 21, // 23: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions 3563 15, // 24: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto 3564 22, // 25: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions 3565 23, // 26: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions 3566 2, // 27: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode 3567 24, // 28: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3568 24, // 29: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3569 3, // 30: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType 3570 4, // 31: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType 3571 24, // 32: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3572 24, // 33: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3573 24, // 34: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3574 24, // 35: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3575 24, // 36: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3576 5, // 37: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel 3577 24, // 38: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 3578 30, // 39: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart 3579 31, // 40: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location 3580 32, // 41: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation 3581 9, // 42: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions 3582 43, // [43:43] is the sub-list for method output_type 3583 43, // [43:43] is the sub-list for method input_type 3584 43, // [43:43] is the sub-list for extension type_name 3585 43, // [43:43] is the sub-list for extension extendee 3586 0, // [0:43] is the sub-list for field type_name 3587} 3588 3589func init() { file_google_protobuf_descriptor_proto_init() } 3590func file_google_protobuf_descriptor_proto_init() { 3591 if File_google_protobuf_descriptor_proto != nil { 3592 return 3593 } 3594 if !protoimpl.UnsafeEnabled { 3595 file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3596 switch v := v.(*FileDescriptorSet); i { 3597 case 0: 3598 return &v.state 3599 case 1: 3600 return &v.sizeCache 3601 case 2: 3602 return &v.unknownFields 3603 default: 3604 return nil 3605 } 3606 } 3607 file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3608 switch v := v.(*FileDescriptorProto); i { 3609 case 0: 3610 return &v.state 3611 case 1: 3612 return &v.sizeCache 3613 case 2: 3614 return &v.unknownFields 3615 default: 3616 return nil 3617 } 3618 } 3619 file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3620 switch v := v.(*DescriptorProto); i { 3621 case 0: 3622 return &v.state 3623 case 1: 3624 return &v.sizeCache 3625 case 2: 3626 return &v.unknownFields 3627 default: 3628 return nil 3629 } 3630 } 3631 file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3632 switch v := v.(*ExtensionRangeOptions); i { 3633 case 0: 3634 return &v.state 3635 case 1: 3636 return &v.sizeCache 3637 case 2: 3638 return &v.unknownFields 3639 case 3: 3640 return &v.extensionFields 3641 default: 3642 return nil 3643 } 3644 } 3645 file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3646 switch v := v.(*FieldDescriptorProto); i { 3647 case 0: 3648 return &v.state 3649 case 1: 3650 return &v.sizeCache 3651 case 2: 3652 return &v.unknownFields 3653 default: 3654 return nil 3655 } 3656 } 3657 file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3658 switch v := v.(*OneofDescriptorProto); i { 3659 case 0: 3660 return &v.state 3661 case 1: 3662 return &v.sizeCache 3663 case 2: 3664 return &v.unknownFields 3665 default: 3666 return nil 3667 } 3668 } 3669 file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3670 switch v := v.(*EnumDescriptorProto); i { 3671 case 0: 3672 return &v.state 3673 case 1: 3674 return &v.sizeCache 3675 case 2: 3676 return &v.unknownFields 3677 default: 3678 return nil 3679 } 3680 } 3681 file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3682 switch v := v.(*EnumValueDescriptorProto); i { 3683 case 0: 3684 return &v.state 3685 case 1: 3686 return &v.sizeCache 3687 case 2: 3688 return &v.unknownFields 3689 default: 3690 return nil 3691 } 3692 } 3693 file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3694 switch v := v.(*ServiceDescriptorProto); i { 3695 case 0: 3696 return &v.state 3697 case 1: 3698 return &v.sizeCache 3699 case 2: 3700 return &v.unknownFields 3701 default: 3702 return nil 3703 } 3704 } 3705 file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3706 switch v := v.(*MethodDescriptorProto); i { 3707 case 0: 3708 return &v.state 3709 case 1: 3710 return &v.sizeCache 3711 case 2: 3712 return &v.unknownFields 3713 default: 3714 return nil 3715 } 3716 } 3717 file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3718 switch v := v.(*FileOptions); i { 3719 case 0: 3720 return &v.state 3721 case 1: 3722 return &v.sizeCache 3723 case 2: 3724 return &v.unknownFields 3725 case 3: 3726 return &v.extensionFields 3727 default: 3728 return nil 3729 } 3730 } 3731 file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3732 switch v := v.(*MessageOptions); i { 3733 case 0: 3734 return &v.state 3735 case 1: 3736 return &v.sizeCache 3737 case 2: 3738 return &v.unknownFields 3739 case 3: 3740 return &v.extensionFields 3741 default: 3742 return nil 3743 } 3744 } 3745 file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3746 switch v := v.(*FieldOptions); i { 3747 case 0: 3748 return &v.state 3749 case 1: 3750 return &v.sizeCache 3751 case 2: 3752 return &v.unknownFields 3753 case 3: 3754 return &v.extensionFields 3755 default: 3756 return nil 3757 } 3758 } 3759 file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3760 switch v := v.(*OneofOptions); i { 3761 case 0: 3762 return &v.state 3763 case 1: 3764 return &v.sizeCache 3765 case 2: 3766 return &v.unknownFields 3767 case 3: 3768 return &v.extensionFields 3769 default: 3770 return nil 3771 } 3772 } 3773 file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3774 switch v := v.(*EnumOptions); i { 3775 case 0: 3776 return &v.state 3777 case 1: 3778 return &v.sizeCache 3779 case 2: 3780 return &v.unknownFields 3781 case 3: 3782 return &v.extensionFields 3783 default: 3784 return nil 3785 } 3786 } 3787 file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3788 switch v := v.(*EnumValueOptions); i { 3789 case 0: 3790 return &v.state 3791 case 1: 3792 return &v.sizeCache 3793 case 2: 3794 return &v.unknownFields 3795 case 3: 3796 return &v.extensionFields 3797 default: 3798 return nil 3799 } 3800 } 3801 file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3802 switch v := v.(*ServiceOptions); i { 3803 case 0: 3804 return &v.state 3805 case 1: 3806 return &v.sizeCache 3807 case 2: 3808 return &v.unknownFields 3809 case 3: 3810 return &v.extensionFields 3811 default: 3812 return nil 3813 } 3814 } 3815 file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3816 switch v := v.(*MethodOptions); i { 3817 case 0: 3818 return &v.state 3819 case 1: 3820 return &v.sizeCache 3821 case 2: 3822 return &v.unknownFields 3823 case 3: 3824 return &v.extensionFields 3825 default: 3826 return nil 3827 } 3828 } 3829 file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3830 switch v := v.(*UninterpretedOption); i { 3831 case 0: 3832 return &v.state 3833 case 1: 3834 return &v.sizeCache 3835 case 2: 3836 return &v.unknownFields 3837 default: 3838 return nil 3839 } 3840 } 3841 file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3842 switch v := v.(*SourceCodeInfo); i { 3843 case 0: 3844 return &v.state 3845 case 1: 3846 return &v.sizeCache 3847 case 2: 3848 return &v.unknownFields 3849 default: 3850 return nil 3851 } 3852 } 3853 file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3854 switch v := v.(*GeneratedCodeInfo); i { 3855 case 0: 3856 return &v.state 3857 case 1: 3858 return &v.sizeCache 3859 case 2: 3860 return &v.unknownFields 3861 default: 3862 return nil 3863 } 3864 } 3865 file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3866 switch v := v.(*DescriptorProto_ExtensionRange); i { 3867 case 0: 3868 return &v.state 3869 case 1: 3870 return &v.sizeCache 3871 case 2: 3872 return &v.unknownFields 3873 default: 3874 return nil 3875 } 3876 } 3877 file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3878 switch v := v.(*DescriptorProto_ReservedRange); i { 3879 case 0: 3880 return &v.state 3881 case 1: 3882 return &v.sizeCache 3883 case 2: 3884 return &v.unknownFields 3885 default: 3886 return nil 3887 } 3888 } 3889 file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3890 switch v := v.(*EnumDescriptorProto_EnumReservedRange); i { 3891 case 0: 3892 return &v.state 3893 case 1: 3894 return &v.sizeCache 3895 case 2: 3896 return &v.unknownFields 3897 default: 3898 return nil 3899 } 3900 } 3901 file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3902 switch v := v.(*UninterpretedOption_NamePart); i { 3903 case 0: 3904 return &v.state 3905 case 1: 3906 return &v.sizeCache 3907 case 2: 3908 return &v.unknownFields 3909 default: 3910 return nil 3911 } 3912 } 3913 file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3914 switch v := v.(*SourceCodeInfo_Location); i { 3915 case 0: 3916 return &v.state 3917 case 1: 3918 return &v.sizeCache 3919 case 2: 3920 return &v.unknownFields 3921 default: 3922 return nil 3923 } 3924 } 3925 file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3926 switch v := v.(*GeneratedCodeInfo_Annotation); i { 3927 case 0: 3928 return &v.state 3929 case 1: 3930 return &v.sizeCache 3931 case 2: 3932 return &v.unknownFields 3933 default: 3934 return nil 3935 } 3936 } 3937 } 3938 type x struct{} 3939 out := protoimpl.TypeBuilder{ 3940 File: protoimpl.DescBuilder{ 3941 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3942 RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc, 3943 NumEnums: 6, 3944 NumMessages: 27, 3945 NumExtensions: 0, 3946 NumServices: 0, 3947 }, 3948 GoTypes: file_google_protobuf_descriptor_proto_goTypes, 3949 DependencyIndexes: file_google_protobuf_descriptor_proto_depIdxs, 3950 EnumInfos: file_google_protobuf_descriptor_proto_enumTypes, 3951 MessageInfos: file_google_protobuf_descriptor_proto_msgTypes, 3952 }.Build() 3953 File_google_protobuf_descriptor_proto = out.File 3954 file_google_protobuf_descriptor_proto_rawDesc = nil 3955 file_google_protobuf_descriptor_proto_goTypes = nil 3956 file_google_protobuf_descriptor_proto_depIdxs = nil 3957} 3958