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