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