github.com/whiteCcinn/protobuf-go@v1.0.9/types/descriptorpb/descriptor.pb.go (about)

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